Files
ioccc/1992/lush
Landon Curt Noll 657a0be130 add tool to sort .gitignore content
We sort with lines starting with # first.
We sort with lines starting with * second.
We sort with lines that do not start with [#!*] third.
We sort with lines starting with ! fourth.

Example usage in vim with a keyboard macro <escape>f:

```vim
:map ^[f 1G!G../../bin/sgi^M
```

 or via .vimrc:

```vimrc
" sort the entire .gitignore file using ../../bin/sgi
:map  ^[f 1G!G../../bin/sgi^M
```

 NOTE: The ^[ above is ((Escape)) and ^M is ((Control-M)).

Example usage in shell:

```sh
rm -f t && ../../bin/sgi < .gitignore > t && mv -f t .gitignore
```

Suggested usage:

```sh
bin/all-run.sh bin/sort.gitignore -v 1
```

Sorted all winner .gitignore according to this method.
Sorted all year level .gitignore according to this method.
Sorted top level .gitignore according to this method.
2024-02-01 14:35:49 -08:00
..
2024-02-01 14:35:49 -08:00
2023-09-10 06:43:49 -07:00
2023-07-06 21:49:38 -07:00
2023-12-26 09:00:03 -08:00

To build:

make all

Bugs and (Mis)features:

The current status of this entry is:

STATUS: doesn't work with some compilers - please provide alternative code or fix for more compilers

For more detailed information see 1992 lush in bugs.md.

To use:

./lush.sh

Judges' remarks:

The program uses error messages issued by the C Preprocessor to generate its message to the world. One program's error is another program's data!

Author's remarks:

This program is yet another "Hello World." program with a twist. The string Hello World has been encoded in the error messages the compiler generates when compiling the source.

This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved. You are free to share and adapt this file under the terms of this license:

Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

For more information, see: https://creativecommons.org/licenses/by-sa/4.0/