|
1 | | -#!/usr/bin/env php |
2 | 1 | <?php |
3 | 2 | if (file_exists($autoload = __DIR__ . '/vendor/autoload.php')) { |
4 | 3 | require($autoload); |
|
12 | 11 | ); |
13 | 12 | } |
14 | 13 |
|
15 | | -$version = <<<'EOF' |
16 | | -Version: 0.3 |
| 14 | +$version = PHPCtags::VERSION; |
17 | 15 |
|
| 16 | +$copyright = <<<'EOF' |
18 | 17 | Exuberant Ctags compatiable PHP enhancement, Copyright (C) 2012 Techlive Zheng |
19 | 18 | Addresses: <techlivezheng@gmail.com>, https://github.com/techlivezheng/phpctags |
20 | 19 | EOF; |
|
96 | 95 | } |
97 | 96 |
|
98 | 97 | if (isset($options['help'])) { |
99 | | - echo $version; |
| 98 | + echo "Version: ".$version."\n\n".$copyright; |
100 | 99 | echo PHP_EOL; |
101 | 100 | echo PHP_EOL; |
102 | 101 | echo $options_info; |
| 102 | + echo PHP_EOL; |
103 | 103 | exit; |
104 | 104 | } |
105 | 105 |
|
106 | 106 | if (isset($options['version'])) { |
107 | | - echo $version; |
| 107 | + echo "Version: ".$version."\n\n".$copyright; |
| 108 | + echo PHP_EOL; |
108 | 109 | exit; |
109 | 110 | } |
110 | 111 |
|
|
158 | 159 | } else if ($options['sort'] == 'foldcase') { |
159 | 160 | $options['sort'] = 'foldcase'; |
160 | 161 | } else { |
161 | | - die('phpctags: Invalid value for "sort" option'); |
| 162 | + die('phpctags: Invalid value for "sort" option'.PHP_EOL); |
162 | 163 | } |
163 | 164 | // option -n is equivalent to --sort=no |
164 | 165 | } else if (isset($options['u'])) { |
|
180 | 181 | if ($options['append'] === FALSE || yes_or_no($options['append']) == 'yes') { |
181 | 182 | $options['a'] = FALSE; |
182 | 183 | } else if (yes_or_no($options['append']) != 'no') { |
183 | | - die('phpctags: Invalid value for "append" option'); |
| 184 | + die('phpctags: Invalid value for "append" option'.PHP_EOL); |
184 | 185 | } |
185 | 186 | } |
186 | 187 |
|
187 | 188 | if (isset($options['recurse'])) { |
188 | 189 | if ($options['recurse'] === FALSE || yes_or_no($options['recurse']) == 'yes') { |
189 | 190 | $options['R'] = FALSE; |
190 | 191 | } else if (yes_or_no($options['recurse']) != 'no') { |
191 | | - die('phpctags: Invalid value for "recurse" option'); |
| 192 | + die('phpctags: Invalid value for "recurse" option'.PHP_EOL); |
192 | 193 | } |
193 | 194 | } |
194 | 195 |
|
|
202 | 203 | $ctags->addFiles($argv); |
203 | 204 | $result = $ctags->export(); |
204 | 205 | } catch (Exception $e) { |
205 | | - die("phpctags: {$e->getMessage()}"); |
| 206 | + die("phpctags: {$e->getMessage()}".PHP_EOL); |
206 | 207 | } |
207 | 208 |
|
208 | 209 | // write to a specified file |
|
215 | 216 | } else { |
216 | 217 | $tagfile = fopen('tags', isset($options['a']) ? 'a' : 'w'); |
217 | 218 | } |
218 | | -fwrite($tagfile, $result); |
| 219 | + |
| 220 | +$mode = ($options['sort'] == 'yes' ? 1 : ($options['sort'] == 'foldcase' ? 2 : 0)); |
| 221 | +$tagline = <<<EOF |
| 222 | +!_TAG_FILE_FORMAT\t2\t/extended format; --format=1 will not append ;" to lines/ |
| 223 | +!_TAG_FILE_SORTED\t{$mode}\t/0=unsorted, 1=sorted, 2=foldcase/ |
| 224 | +!_TAG_PROGRAM_AUTHOR\ttechlivezheng\t/techlivezheng@gmail.com/ |
| 225 | +!_TAG_PROGRAM_NAME\tphpctags\t// |
| 226 | +!_TAG_PROGRAM_URL\thttps://github.com/techlivezheng/phpctags\t/official site/ |
| 227 | +!_TAG_PROGRAM_VERSION\t${version}\t//\n |
| 228 | +EOF; |
| 229 | + |
| 230 | +fwrite($tagfile, $tagline.$result); |
219 | 231 | fclose($tagfile); |
220 | 232 |
|
221 | 233 | function yes_or_no($arg) { |
|
0 commit comments