sponsor Vim development Vim logo Vim Book Ad

d.vim : Syntax file for the D programming language.

 script karma  Rating 299/104, Downloaded by 9267  Comments, bugs, improvements  Vim wiki

created by
Jason Mills
script type
Syntax file for the D programming language.

The new maintainer for versions > 0.18 is Jesse Phillips. Released versions will still be published to this page, but development now occurs at https://github.com/JesseKPhillips/d.vim.
install details
d.vim is now included in the official vim distribution, v6.3 and later, although it may not always be up to date. To override the default version included in the distribution, place the downloaded d.vim in your syntax directory. On windows, copy to $VIM/vimfiles/syntax or $HOME/vimfiles/syntax. On Linux copy to $HOME/.vim/syntax or $VIM/vimfiles/syntax.

In older versions of vim (< v6.3), add
  autocmd! BufRead,BufNewFile *.d setfiletype d
to your .vimrc or filetype.vim file. See :help filetype and :help new-filetype.

Some customizations can be made by manipulating the options ``d_comment_strings``, ``d_hl_operator_overload``, and ``d_hl_object_types``. See the "Options" section in d.vim for details.

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
d.vim 0.26 2013-10-30 7.0 Jason Mills * Addressed variable names with \"import\" or \"module\" breaking highlighting.
* Fixed Heredoc not being highlighted in function call
* Closing comments without opening are highlighted as error
(By Jesse Phillips)
d.vim 0.25 2013-06-05 7.0 Jason Mills * ASM blocks highlight comments.
* in/out contracts no longer highlighted as storage class.
* If a module name is the same as a keyword it will not be
highlighted on module declaration or import.
* scope highlights as a statement, but as a storage class in
parameter list.
* pragma will highlight known commands (lib,msg).
* Keyword updates.
d.vim 0.24 2012-11-30 7.0 Jason Mills - Added syntax based folding for comments and { } blocks (``set foldmethod=syntax`` to enable).
- Added some missing keywords, such as __vector, __ctfe, __simd, and lots of asm op codes.
- Support for ``coptions``.
- Optional highlighting of some common types from object.di (set variable ``d_hl_object_types``).
- Fixed a few minor keyword matching issues.
- Tidy the code.

Note: This was done through the efforts of Jesse Phillips.
d.vim 0.22 2010-09-23 7.0 Jason Mills * Fixed issue with highlighting version statement inside block.

Note: Jesse Phillips is the new maintainer and is responsible for this version.
d.vim 0.21 2010-09-11 6.0 Jason Mills * Fixed some highlighting bugs (Ellery Newcomer).
* #! highlighting (Steven N. Oliver).

Note: Jesse Phillips is the new maintainer and is responsible for this version.
d.vim 0.20 2010-08-25 6.0 Jason Mills * Added missing keywords for D 2.0 compiler 2.047
* Added special highlighting of known versions/scopes/annotations (thanks to Shougo Matsushita)
* Added highlighting of ASM Op Codes in asm blocks.

Note: Jesse Phillips is the new maintainer and is responsible for this version.
d.vim 0.18 2010-01-12 6.0 Jason Mills Updated to D versions 1.053 and 2.039.
+ Merged Kirk McDonald version 0.17 updates (http://paste.dprogramming.com/dplmb7qx?view=hidelines), including
delimited strings, token strings, here strings, and some new keywords.
+ Merged Jesse K. Phillips patch for some keywords and attributes (annotations).
+ Added some missing keywords.
d.vim 0.16 2006-12-29 6.0 Jason Mills Updated for D version 0.178.
+ Applied a patch (Tim Keating) to fix a bug in highlighting the `\` literal.
+ Added new keyword: foreach_reverse, lazy
+ Added missing operator overloads: opAssign, opIn, opIn_r.
+ Removed iftype keyword.
d.vim 0.15 2006-03-12 6.0 Jason Mills + Improved syntax synchronization, especially for /* */ style comments.
+ Fixed a bug that caused some identifiers and numbers to highlight as octal number errors (thanks to Frank Benoit).
+ Added new scope keyword.
+ Strings now know about and highlight the modifiers r, d, c, and w.
+ Changed hexadecimal floating point definitions to match current D spec: _ is a valid digit, i is a valid suffix, and only decimal digits are allowed after the hex exponent p.
+ Changed binary number definitions so integer suffixes are allowed.
d.vim 0.14 2005-10-29 6.0 Jason Mills Added missing operator overload. Removed highlighting of string prefixes (because string postfixes are not highlighted! Later I hope to highlight both in prefix/postfix characters).
d.vim 0.13 2005-06-02 6.0 Jason Mills Added new keyword introduced in D version 0.123.
d.vim 0.12 2005-03-09 6.0 Jason Mills Updated for D version 0.116.
+ Added support for __LINE__, __FILE__ etc.
+ Added support for character entities.
d.vim 0.10 2004-07-15 6.0 Jason Mills Updated for version 0.95 of the D language spec.
d.vim 0.8 2004-05-25 6.0 Jason Mills Updated for version 0.90 of the D language spec. Removed unnecessary use of 'main_syntax'.
d.vim 0.6 2004-04-08 6.0 Jason Mills Fixed problem with highlighting certain styles of floating point numbers.
d.vim 0.5 2004-02-10 6.0 Jason Mills Updated keywords to match version 0.79 of the D spec.
d.vim 0.4 2003-11-25 6.0 Jason Mills Updated for 0.76 of the D spec. In a nutshell, add the keyword 'is' and updated operator overload names.
d.vim 0.3 2003-11-21 6.0 Jason Mills Updated for version 0.75 of the D spec.  Highlights: new keywords, new configuration option, and better highlighting of numbers and strings.
d.vim 0.2 2002-10-01 6.0 Jason Mills Added new keywords: template, instance, auto; Added option to (not) highlight strings and numbers in comments; Fixed floating point numbers to recognize floats without decimal points.
d.vim 0.1.1 2002-08-16 6.0 Jason Mills Fixed a few problems: added interface keyword; differentiated public: (and other scope decls) from user labels.
d.vim 0.1 2002-08-15 6.0 Jason Mills Initial upload
ip used for rating:

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.
Vim at Github