|
11 | 11 | ); |
12 | 12 | } |
13 | 13 |
|
14 | | -$version = <<<'EOF' |
15 | | -Version: 0.3 |
| 14 | +$version = PHPCtags::VERSION; |
16 | 15 |
|
| 16 | +$copyright = <<<'EOF' |
17 | 17 | Exuberant Ctags compatiable PHP enhancement, Copyright (C) 2012 Techlive Zheng |
18 | 18 | Addresses: <techlivezheng@gmail.com>, https://github.com/techlivezheng/phpctags |
19 | 19 | EOF; |
|
95 | 95 | } |
96 | 96 |
|
97 | 97 | if (isset($options['help'])) { |
98 | | - echo $version; |
| 98 | + echo "Version: ".$version."\n\n".$copyright; |
99 | 99 | echo PHP_EOL; |
100 | 100 | echo PHP_EOL; |
101 | 101 | echo $options_info; |
| 102 | + echo PHP_EOL; |
102 | 103 | exit; |
103 | 104 | } |
104 | 105 |
|
105 | 106 | if (isset($options['version'])) { |
106 | | - echo $version; |
| 107 | + echo "Version: ".$version."\n\n".$copyright; |
| 108 | + echo PHP_EOL; |
107 | 109 | exit; |
108 | 110 | } |
109 | 111 |
|
|
157 | 159 | } else if ($options['sort'] == 'foldcase') { |
158 | 160 | $options['sort'] = 'foldcase'; |
159 | 161 | } else { |
160 | | - die('phpctags: Invalid value for "sort" option'); |
| 162 | + die('phpctags: Invalid value for "sort" option'.PHP_EOL); |
161 | 163 | } |
162 | 164 | // option -n is equivalent to --sort=no |
163 | 165 | } else if (isset($options['u'])) { |
|
179 | 181 | if ($options['append'] === FALSE || yes_or_no($options['append']) == 'yes') { |
180 | 182 | $options['a'] = FALSE; |
181 | 183 | } else if (yes_or_no($options['append']) != 'no') { |
182 | | - die('phpctags: Invalid value for "append" option'); |
| 184 | + die('phpctags: Invalid value for "append" option'.PHP_EOL); |
183 | 185 | } |
184 | 186 | } |
185 | 187 |
|
186 | 188 | if (isset($options['recurse'])) { |
187 | 189 | if ($options['recurse'] === FALSE || yes_or_no($options['recurse']) == 'yes') { |
188 | 190 | $options['R'] = FALSE; |
189 | 191 | } else if (yes_or_no($options['recurse']) != 'no') { |
190 | | - die('phpctags: Invalid value for "recurse" option'); |
| 192 | + die('phpctags: Invalid value for "recurse" option'.PHP_EOL); |
191 | 193 | } |
192 | 194 | } |
193 | 195 |
|
|
201 | 203 | $ctags->addFiles($argv); |
202 | 204 | $result = $ctags->export(); |
203 | 205 | } catch (Exception $e) { |
204 | | - die("phpctags: {$e->getMessage()}"); |
| 206 | + die("phpctags: {$e->getMessage()}".PHP_EOL); |
205 | 207 | } |
206 | 208 |
|
207 | 209 | // write to a specified file |
|
214 | 216 | } else { |
215 | 217 | $tagfile = fopen('tags', isset($options['a']) ? 'a' : 'w'); |
216 | 218 | } |
217 | | -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); |
218 | 231 | fclose($tagfile); |
219 | 232 |
|
220 | 233 | function yes_or_no($arg) { |
|
0 commit comments