Bram Moolenaar | b1c9198 | 2018-05-17 17:04:55 +0200 | [diff] [blame] | 1 | *ft_ada.txt* For Vim version 8.1. Last change: 2010 Jul 20 |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 2 | |
| 3 | |
| 4 | ADA FILE TYPE PLUG-INS REFERENCE MANUAL~ |
| 5 | |
| 6 | ADA *ada.vim* |
| 7 | |
| 8 | 1. Syntax Highlighting |ft-ada-syntax| |
Bram Moolenaar | 24ea3ba | 2010-09-19 19:01:21 +0200 | [diff] [blame] | 9 | 2. File type Plug-in |ft-ada-plugin| |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 10 | 3. Omni Completion |ft-ada-omni| |
| 11 | 3.1 Omni Completion with "gnat xref" |gnat-xref| |
| 12 | 3.2 Omni Completion with "ctags" |ada-ctags| |
| 13 | 4. Compiler Support |ada-compiler| |
| 14 | 4.1 GNAT |compiler-gnat| |
Bram Moolenaar | 24ea3ba | 2010-09-19 19:01:21 +0200 | [diff] [blame] | 15 | 4.2 Dec Ada |compiler-decada| |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 16 | 5. References |ada-reference| |
| 17 | 5.1 Options |ft-ada-options| |
Bram Moolenaar | 24ea3ba | 2010-09-19 19:01:21 +0200 | [diff] [blame] | 18 | 5.2 Commands |ft-ada-commands| |
| 19 | 5.3 Variables |ft-ada-variables| |
| 20 | 5.4 Constants |ft-ada-constants| |
| 21 | 5.5 Functions |ft-ada-functions| |
| 22 | 6. Extra Plug-ins |ada-extra-plugins| |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 23 | |
| 24 | ============================================================================== |
| 25 | 1. Syntax Highlighting ~ |
| 26 | *ft-ada-syntax* |
| 27 | |
| 28 | This mode is designed for the 2005 edition of Ada ("Ada 2005"), which includes |
| 29 | support for objected-programming, protected types, and so on. It handles code |
| 30 | written for the original Ada language ("Ada83", "Ada87", "Ada95") as well, |
| 31 | though code which uses Ada 2005-only keywords will be wrongly colored (such |
| 32 | code should be fixed anyway). For more information about Ada, see |
| 33 | http://www.adapower.com. |
| 34 | |
| 35 | The Ada mode handles a number of situations cleanly. |
| 36 | |
| 37 | For example, it knows that the "-" in "-5" is a number, but the same character |
| 38 | in "A-5" is an operator. Normally, a "with" or "use" clause referencing |
| 39 | another compilation unit is coloured the same way as C's "#include" is coloured. |
| 40 | If you have "Conditional" or "Repeat" groups coloured differently, then "end |
| 41 | if" and "end loop" will be coloured as part of those respective groups. |
| 42 | |
| 43 | You can set these to different colours using vim's "highlight" command (e.g., |
| 44 | to change how loops are displayed, enter the command ":hi Repeat" followed by |
| 45 | the colour specification; on simple terminals the colour specification |
| 46 | ctermfg=White often shows well). |
| 47 | |
Bram Moolenaar | 9855d6b | 2010-07-18 14:34:51 +0200 | [diff] [blame] | 48 | There are several options you can select in this Ada mode. See |ft-ada-options| |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 49 | for a complete list. |
| 50 | |
| 51 | To enable them, assign a value to the option. For example, to turn one on: |
| 52 | > |
| 53 | > let g:ada_standard_types = 1 |
| 54 | > |
| 55 | To disable them use ":unlet". Example: |
| 56 | > |
| 57 | > unlet g:ada_standard_types |
| 58 | |
| 59 | You can just use ":" and type these into the command line to set these |
| 60 | temporarily before loading an Ada file. You can make these option settings |
| 61 | permanent by adding the "let" command(s), without a colon, to your "~/.vimrc" |
| 62 | file. |
| 63 | |
| 64 | Even on a slow (90Mhz) PC this mode works quickly, but if you find the |
| 65 | performance unacceptable, turn on |g:ada_withuse_ordinary|. |
| 66 | |
| 67 | Syntax folding instructions (|fold-syntax|) are added when |g:ada_folding| is |
| 68 | set. |
| 69 | |
| 70 | ============================================================================== |
| 71 | 2. File type Plug-in ~ |
| 72 | *ft-ada-indent* *ft-ada-plugin* |
| 73 | |
| 74 | The Ada plug-in provides support for: |
| 75 | |
| 76 | - auto indenting (|indent.txt|) |
| 77 | - insert completion (|i_CTRL-N|) |
| 78 | - user completion (|i_CTRL-X_CTRL-U|) |
| 79 | - tag searches (|tagsrch.txt|) |
| 80 | - Quick Fix (|quickfix.txt|) |
| 81 | - backspace handling (|'backspace'|) |
| 82 | - comment handling (|'comments'|, |'commentstring'|) |
| 83 | |
| 84 | The plug-in only activates the features of the Ada mode whenever an Ada |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 85 | file is opened and adds Ada related entries to the main and pop-up menu. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 86 | |
| 87 | ============================================================================== |
| 88 | 3. Omni Completion ~ |
| 89 | *ft-ada-omni* |
| 90 | |
| 91 | The Ada omni-completions (|i_CTRL-X_CTRL-O|) uses tags database created either |
| 92 | by "gnat xref -v" or the "exuberant Ctags (http://ctags.sourceforge.net). The |
| 93 | complete function will automatically detect which tool was used to create the |
| 94 | tags file. |
| 95 | |
| 96 | ------------------------------------------------------------------------------ |
| 97 | 3.1 Omni Completion with "gnat xref" ~ |
| 98 | *gnat-xref* |
| 99 | |
| 100 | GNAT XREF uses the compiler internal information (ali-files) to produce the |
| 101 | tags file. This has the advantage to be 100% correct and the option of deep |
| 102 | nested analysis. However the code must compile, the generator is quite |
| 103 | slow and the created tags file contains only the basic Ctags information for |
| 104 | each entry - not enough for some of the more advanced Vim code browser |
| 105 | plug-ins. |
| 106 | |
| 107 | NOTE: "gnat xref -v" is very tricky to use as it has almost no diagnostic |
| 108 | output - If nothing is printed then usually the parameters are wrong. |
| 109 | Here some important tips: |
| 110 | |
| 111 | 1) You need to compile your code first and use the "-aO" option to point to |
| 112 | your .ali files. |
| 113 | 2) "gnat xref -v ../Include/adacl.ads" won't work - use the "gnat xref -v |
| 114 | -aI../Include adacl.ads" instead. |
| 115 | 3) "gnat xref -v -aI../Include *.ad?" won't work - use "cd ../Include" and |
| 116 | then "gnat xref -v *.ad?" |
| 117 | 4) Project manager support is completely broken - don't even try "gnat xref |
| 118 | -Padacl.gpr". |
Bram Moolenaar | 6aa8cea | 2017-06-05 14:44:35 +0200 | [diff] [blame] | 119 | 5) Vim is faster when the tags file is sorted - use "sort --unique |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 120 | --ignore-case --output=tags tags" . |
| 121 | 6) Remember to insert "!_TAG_FILE_SORTED 2 %sort ui" as first line to mark |
| 122 | the file assorted. |
| 123 | |
| 124 | ------------------------------------------------------------------------------ |
| 125 | 3.2 Omni Completion with "ctags"~ |
| 126 | *ada-ctags* |
| 127 | |
| 128 | Exuberant Ctags uses its own multi-language code parser. The parser is quite |
| 129 | fast, produces a lot of extra information (hence the name "Exuberant Ctags") |
| 130 | and can run on files which currently do not compile. |
| 131 | |
| 132 | There are also lots of other Vim-tools which use exuberant Ctags. |
| 133 | |
| 134 | You will need to install a version of the Exuberant Ctags which has Ada |
| 135 | support patched in. Such a version is available from the GNU Ada Project |
| 136 | (http://gnuada.sourceforge.net). |
| 137 | |
| 138 | The Ada parser for Exuberant Ctags is fairly new - don't expect complete |
| 139 | support yet. |
| 140 | |
| 141 | ============================================================================== |
Bram Moolenaar | 24ea3ba | 2010-09-19 19:01:21 +0200 | [diff] [blame] | 142 | 4. Compiler Support ~ |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 143 | *ada-compiler* |
| 144 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 145 | The Ada mode supports more than one Ada compiler and will automatically load the |
Bram Moolenaar | 9855d6b | 2010-07-18 14:34:51 +0200 | [diff] [blame] | 146 | compiler set in |g:ada_default_compiler| whenever an Ada source is opened. The |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 147 | provided compiler plug-ins are split into the actual compiler plug-in and a |
| 148 | collection of support functions and variables. This allows the easy |
| 149 | development of specialized compiler plug-ins fine tuned to your development |
| 150 | environment. |
| 151 | |
| 152 | ------------------------------------------------------------------------------ |
| 153 | 4.1 GNAT ~ |
| 154 | *compiler-gnat* |
| 155 | |
| 156 | GNAT is the only free (beer and speech) Ada compiler available. There are |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 157 | several versions available which differ in the licence terms used. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 158 | |
| 159 | The GNAT compiler plug-in will perform a compile on pressing <F7> and then |
| 160 | immediately shows the result. You can set the project file to be used by |
| 161 | setting: |
| 162 | > |
| 163 | > call g:gnat.Set_Project_File ('my_project.gpr') |
| 164 | |
| 165 | Setting a project file will also create a Vim session (|views-sessions|) so - |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 166 | like with the GPS - opened files, window positions etc. will be remembered |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 167 | separately for all projects. |
| 168 | |
| 169 | *gnat_members* |
| 170 | GNAT OBJECT ~ |
| 171 | |
| 172 | *g:gnat.Make()* |
| 173 | g:gnat.Make() |
Bram Moolenaar | 9855d6b | 2010-07-18 14:34:51 +0200 | [diff] [blame] | 174 | Calls |g:gnat.Make_Command| and displays the result inside a |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 175 | |quickfix| window. |
| 176 | |
| 177 | *g:gnat.Pretty()* |
| 178 | g:gnat.Pretty() |
Bram Moolenaar | 9855d6b | 2010-07-18 14:34:51 +0200 | [diff] [blame] | 179 | Calls |g:gnat.Pretty_Program| |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 180 | |
| 181 | *g:gnat.Find()* |
| 182 | g:gnat.Find() |
Bram Moolenaar | 9855d6b | 2010-07-18 14:34:51 +0200 | [diff] [blame] | 183 | Calls |g:gnat.Find_Program| |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 184 | |
| 185 | *g:gnat.Tags()* |
| 186 | g:gnat.Tags() |
Bram Moolenaar | 9855d6b | 2010-07-18 14:34:51 +0200 | [diff] [blame] | 187 | Calls |g:gnat.Tags_Command| |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 188 | |
| 189 | *g:gnat.Set_Project_File()* |
| 190 | g:gnat.Set_Project_File([{file}]) |
| 191 | Set gnat project file and load associated session. An open |
| 192 | project will be closed and the session written. If called |
| 193 | without file name the file selector opens for selection of a |
| 194 | project file. If called with an empty string then the project |
| 195 | and associated session are closed. |
| 196 | |
| 197 | *g:gnat.Project_File* |
| 198 | g:gnat.Project_File string |
| 199 | Current project file. |
| 200 | |
| 201 | *g:gnat.Make_Command* |
| 202 | g:gnat.Make_Command string |
Bram Moolenaar | 9855d6b | 2010-07-18 14:34:51 +0200 | [diff] [blame] | 203 | External command used for |g:gnat.Make()| (|'makeprg'|). |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 204 | |
| 205 | *g:gnat.Pretty_Program* |
| 206 | g:gnat.Pretty_Program string |
Bram Moolenaar | 9855d6b | 2010-07-18 14:34:51 +0200 | [diff] [blame] | 207 | External command used for |g:gnat.Pretty()| |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 208 | |
| 209 | *g:gnat.Find_Program* |
| 210 | g:gnat.Find_Program string |
Bram Moolenaar | 9855d6b | 2010-07-18 14:34:51 +0200 | [diff] [blame] | 211 | External command used for |g:gnat.Find()| |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 212 | |
| 213 | *g:gnat.Tags_Command* |
| 214 | g:gnat.Tags_Command string |
Bram Moolenaar | 9855d6b | 2010-07-18 14:34:51 +0200 | [diff] [blame] | 215 | External command used for |g:gnat.Tags()| |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 216 | |
| 217 | *g:gnat.Error_Format* |
| 218 | g:gnat.Error_Format string |
| 219 | Error format (|'errorformat'|) |
| 220 | |
| 221 | ------------------------------------------------------------------------------ |
| 222 | 4.2 Dec Ada ~ |
| 223 | *compiler-hpada* *compiler-decada* |
| 224 | *compiler-vaxada* *compiler-compaqada* |
| 225 | |
| 226 | Dec Ada (also known by - in chronological order - VAX Ada, Dec Ada, Compaq Ada |
| 227 | and HP Ada) is a fairly dated Ada 83 compiler. Support is basic: <F7> will |
| 228 | compile the current unit. |
| 229 | |
| 230 | The Dec Ada compiler expects the package name and not the file name to be |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 231 | passed as a parameter. The compiler plug-in supports the usual file name |
| 232 | convention to convert the file into a unit name. Both '-' and '__' are allowed |
| 233 | as separators. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 234 | |
| 235 | *decada_members* |
| 236 | DEC ADA OBJECT ~ |
| 237 | |
| 238 | *g:decada.Make()* |
| 239 | g:decada.Make() function |
Bram Moolenaar | f91787c | 2010-07-17 12:47:16 +0200 | [diff] [blame] | 240 | Calls |g:decada.Make_Command| and displays the result inside a |
| 241 | |quickfix| window. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 242 | |
| 243 | *g:decada.Unit_Name()* |
| 244 | g:decada.Unit_Name() function |
| 245 | Get the Unit name for the current file. |
| 246 | |
| 247 | *g:decada.Make_Command* |
| 248 | g:decada.Make_Command string |
Bram Moolenaar | f91787c | 2010-07-17 12:47:16 +0200 | [diff] [blame] | 249 | External command used for |g:decada.Make()| (|'makeprg'|). |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 250 | |
| 251 | *g:decada.Error_Format* |
| 252 | g:decada.Error_Format| string |
| 253 | Error format (|'errorformat'|). |
| 254 | |
| 255 | ============================================================================== |
| 256 | 5. References ~ |
| 257 | *ada-reference* |
| 258 | |
| 259 | ------------------------------------------------------------------------------ |
| 260 | 5.1 Options ~ |
| 261 | *ft-ada-options* |
| 262 | |
| 263 | *g:ada_standard_types* |
| 264 | g:ada_standard_types bool (true when exists) |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 265 | Highlight types in package Standard (e.g., "Float"). |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 266 | |
| 267 | *g:ada_space_errors* |
| 268 | *g:ada_no_trail_space_error* |
| 269 | *g:ada_no_tab_space_error* |
| 270 | *g:ada_all_tab_usage* |
| 271 | g:ada_space_errors bool (true when exists) |
| 272 | Highlight extraneous errors in spaces ... |
| 273 | g:ada_no_trail_space_error |
| 274 | - but ignore trailing spaces at the end of a line |
| 275 | g:ada_no_tab_space_error |
| 276 | - but ignore tabs after spaces |
| 277 | g:ada_all_tab_usage |
| 278 | - highlight all tab use |
| 279 | |
| 280 | *g:ada_line_errors* |
| 281 | g:ada_line_errors bool (true when exists) |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 282 | Highlight lines which are too long. Note: This highlighting |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 283 | option is quite CPU intensive. |
| 284 | |
| 285 | *g:ada_rainbow_color* |
| 286 | g:ada_rainbow_color bool (true when exists) |
| 287 | Use rainbow colours for '(' and ')'. You need the |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 288 | rainbow_parenthesis for this to work. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 289 | |
| 290 | *g:ada_folding* |
| 291 | g:ada_folding set ('sigpft') |
| 292 | Use folding for Ada sources. |
| 293 | 's': activate syntax folding on load |
| 294 | 'p': fold packages |
| 295 | 'f': fold functions and procedures |
| 296 | 't': fold types |
| 297 | 'c': fold conditionals |
| 298 | 'g': activate gnat pretty print folding on load |
| 299 | 'i': lone 'is' folded with line above |
| 300 | 'b': lone 'begin' folded with line above |
| 301 | 'p': lone 'private' folded with line above |
| 302 | 'x': lone 'exception' folded with line above |
| 303 | 'i': activate indent folding on load |
| 304 | |
| 305 | Note: Syntax folding is in an early (unusable) stage and |
| 306 | indent or gnat pretty folding is suggested. |
| 307 | |
| 308 | For gnat pretty folding to work the following settings are |
| 309 | suggested: -cl3 -M79 -c2 -c3 -c4 -A1 -A2 -A3 -A4 -A5 |
| 310 | |
| 311 | For indent folding to work the following settings are |
| 312 | suggested: shiftwidth=3 softtabstop=3 |
| 313 | |
| 314 | *g:ada_abbrev* |
| 315 | g:ada_abbrev bool (true when exists) |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 316 | Add some abbreviations. This feature is more or less superseded |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 317 | by the various completion methods. |
| 318 | |
| 319 | *g:ada_withuse_ordinary* |
| 320 | g:ada_withuse_ordinary bool (true when exists) |
| 321 | Show "with" and "use" as ordinary keywords (when used to |
| 322 | reference other compilation units they're normally highlighted |
| 323 | specially). |
| 324 | |
| 325 | *g:ada_begin_preproc* |
| 326 | g:ada_begin_preproc bool (true when exists) |
| 327 | Show all begin-like keywords using the colouring of C |
| 328 | preprocessor commands. |
| 329 | |
| 330 | *g:ada_omni_with_keywords* |
| 331 | g:ada_omni_with_keywords |
| 332 | Add Keywords, Pragmas, Attributes to omni-completions |
| 333 | (|compl-omni|). Note: You can always complete then with user |
| 334 | completion (|i_CTRL-X_CTRL-U|). |
| 335 | |
| 336 | *g:ada_extended_tagging* |
| 337 | g:ada_extended_tagging enum ('jump', 'list') |
| 338 | use extended tagging, two options are available |
| 339 | 'jump': use tjump to jump. |
| 340 | 'list': add tags quick fix list. |
| 341 | Normal tagging does not support function or operator |
| 342 | overloading as these features are not available in C and |
| 343 | tagging was originally developed for C. |
| 344 | |
| 345 | *g:ada_extended_completion* |
| 346 | g:ada_extended_completion |
| 347 | Uses extended completion for <C-N> and <C-R> completions |
| 348 | (|i_CTRL-N|). In this mode the '.' is used as part of the |
| 349 | identifier so that 'Object.Method' or 'Package.Procedure' are |
| 350 | completed together. |
| 351 | |
| 352 | *g:ada_gnat_extensions* |
| 353 | g:ada_gnat_extensions bool (true when exists) |
| 354 | Support GNAT extensions. |
| 355 | |
| 356 | *g:ada_with_gnat_project_files* |
| 357 | g:ada_with_gnat_project_files bool (true when exists) |
| 358 | Add gnat project file keywords and Attributes. |
| 359 | |
| 360 | *g:ada_default_compiler* |
| 361 | g:ada_default_compiler string |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 362 | set default compiler. Currently supported are 'gnat' and |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 363 | 'decada'. |
| 364 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 365 | An "exists" type is a boolean considered true when the variable is defined and |
| 366 | false when the variable is undefined. The value to which the variable is set |
| 367 | makes no difference. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 368 | |
| 369 | ------------------------------------------------------------------------------ |
Bram Moolenaar | 24ea3ba | 2010-09-19 19:01:21 +0200 | [diff] [blame] | 370 | 5.2 Commands ~ |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 371 | *ft-ada-commands* |
| 372 | |
| 373 | :AdaRainbow *:AdaRainbow* |
| 374 | Toggles rainbow colour (|g:ada_rainbow_color|) mode for |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 375 | '(' and ')'. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 376 | |
| 377 | :AdaLines *:AdaLines* |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 378 | Toggles line error (|g:ada_line_errors|) display. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 379 | |
| 380 | :AdaSpaces *:AdaSpaces* |
| 381 | Toggles space error (|g:ada_space_errors|) display. |
| 382 | |
| 383 | :AdaTagDir *:AdaTagDir* |
| 384 | Creates tags file for the directory of the current file. |
| 385 | |
| 386 | :AdaTagFile *:AdaTagFile* |
| 387 | Creates tags file for the current file. |
| 388 | |
| 389 | :AdaTypes *:AdaTypes* |
| 390 | Toggles standard types (|g:ada_standard_types|) colour. |
| 391 | |
| 392 | :GnatFind *:GnatFind* |
| 393 | Calls |g:gnat.Find()| |
| 394 | |
| 395 | :GnatPretty *:GnatPretty* |
| 396 | Calls |g:gnat.Pretty()| |
| 397 | |
| 398 | :GnatTags *:GnatTags* |
| 399 | Calls |g:gnat.Tags()| |
| 400 | |
| 401 | ------------------------------------------------------------------------------ |
| 402 | 5.3 Variables ~ |
| 403 | *ft-ada-variables* |
| 404 | |
| 405 | *g:gnat* |
| 406 | g:gnat object |
| 407 | Control object which manages GNAT compiles. The object |
| 408 | is created when the first Ada source code is loaded provided |
Bram Moolenaar | 9855d6b | 2010-07-18 14:34:51 +0200 | [diff] [blame] | 409 | that |g:ada_default_compiler| is set to 'gnat'. See |
Bram Moolenaar | f91787c | 2010-07-17 12:47:16 +0200 | [diff] [blame] | 410 | |gnat_members| for details. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 411 | |
| 412 | *g:decada* |
| 413 | g:decada object |
| 414 | Control object which manages Dec Ada compiles. The object |
| 415 | is created when the first Ada source code is loaded provided |
Bram Moolenaar | 9855d6b | 2010-07-18 14:34:51 +0200 | [diff] [blame] | 416 | that |g:ada_default_compiler| is set to 'decada'. See |
| 417 | |decada_members| for details. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 418 | |
| 419 | ------------------------------------------------------------------------------ |
| 420 | 5.4 Constants ~ |
| 421 | *ft-ada-constants* |
| 422 | |
| 423 | All constants are locked. See |:lockvar| for details. |
| 424 | |
| 425 | *g:ada#WordRegex* |
| 426 | g:ada#WordRegex string |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 427 | Regular expression to search for Ada words. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 428 | |
| 429 | *g:ada#DotWordRegex* |
| 430 | g:ada#DotWordRegex string |
| 431 | Regular expression to search for Ada words separated by dots. |
| 432 | |
| 433 | *g:ada#Comment* |
| 434 | g:ada#Comment string |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 435 | Regular expression to search for Ada comments. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 436 | |
| 437 | *g:ada#Keywords* |
| 438 | g:ada#Keywords list of dictionaries |
| 439 | List of keywords, attributes etc. pp. in the format used by |
| 440 | omni completion. See |complete-items| for details. |
| 441 | |
| 442 | *g:ada#Ctags_Kinds* |
| 443 | g:ada#Ctags_Kinds dictionary of lists |
| 444 | Dictionary of the various kinds of items which the Ada support |
| 445 | for Ctags generates. |
| 446 | |
| 447 | ------------------------------------------------------------------------------ |
Bram Moolenaar | 24ea3ba | 2010-09-19 19:01:21 +0200 | [diff] [blame] | 448 | 5.5 Functions ~ |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 449 | *ft-ada-functions* |
| 450 | |
| 451 | ada#Word([{line}, {col}]) *ada#Word()* |
| 452 | Return full name of Ada entity under the cursor (or at given |
| 453 | line/column), stripping white space/newlines as necessary. |
| 454 | |
| 455 | ada#List_Tag([{line}, {col}]) *ada#Listtags()* |
| 456 | List all occurrences of the Ada entity under the cursor (or at |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 457 | given line/column) inside the quick-fix window. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 458 | |
| 459 | ada#Jump_Tag ({ident}, {mode}) *ada#Jump_Tag()* |
| 460 | List all occurrences of the Ada entity under the cursor (or at |
| 461 | given line/column) in the tag jump list. Mode can either be |
| 462 | 'tjump' or 'stjump'. |
| 463 | |
| 464 | ada#Create_Tags ({option}) *ada#Create_Tags()* |
| 465 | Creates tag file using Ctags. The option can either be 'file' |
| 466 | for the current file, 'dir' for the directory of the current |
| 467 | file or a file name. |
| 468 | |
| 469 | gnat#Insert_Tags_Header() *gnat#Insert_Tags_Header()* |
| 470 | Adds the tag file header (!_TAG_) information to the current |
| 471 | file which are missing from the GNAT XREF output. |
| 472 | |
| 473 | ada#Switch_Syntax_Option ({option}) *ada#Switch_Syntax_Option()* |
| 474 | Toggles highlighting options on or off. Used for the Ada menu. |
| 475 | |
| 476 | *gnat#New()* |
| 477 | gnat#New () |
| 478 | Create a new gnat object. See |g:gnat| for details. |
| 479 | |
| 480 | |
| 481 | ============================================================================== |
Bram Moolenaar | 24ea3ba | 2010-09-19 19:01:21 +0200 | [diff] [blame] | 482 | 6. Extra Plugins ~ |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 483 | *ada-extra-plugins* |
| 484 | |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 485 | You can optionally install the following extra plug-ins. They work well with |
| 486 | Ada and enhance the ability of the Ada mode: |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 487 | |
| 488 | backup.vim |
| 489 | http://www.vim.org/scripts/script.php?script_id=1537 |
| 490 | Keeps as many backups as you like so you don't have to. |
| 491 | |
| 492 | rainbow_parenthsis.vim |
| 493 | http://www.vim.org/scripts/script.php?script_id=1561 |
| 494 | Very helpful since Ada uses only '(' and ')'. |
| 495 | |
| 496 | nerd_comments.vim |
| 497 | http://www.vim.org/scripts/script.php?script_id=1218 |
| 498 | Excellent commenting and uncommenting support for almost any |
| 499 | programming language. |
| 500 | |
| 501 | matchit.vim |
| 502 | http://www.vim.org/scripts/script.php?script_id=39 |
| 503 | '%' jumping for any language. The normal '%' jump only works for '{}' |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 504 | style languages. The Ada mode will set the needed search patterns. |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 505 | |
| 506 | taglist.vim |
| 507 | http://www.vim.org/scripts/script.php?script_id=273 |
| 508 | Source code explorer sidebar. There is a patch for Ada available. |
| 509 | |
| 510 | The GNU Ada Project distribution (http://gnuada.sourceforge.net) of Vim |
| 511 | contains all of the above. |
| 512 | |
| 513 | ============================================================================== |
| 514 | vim: textwidth=78 nowrap tabstop=8 shiftwidth=4 softtabstop=4 noexpandtab |
| 515 | vim: filetype=help |