digitalmars.D.announce - New vim d.vim syntax highlighting script
- Jason Mills (15/15) Mar 12 2006 I have uploaded a new d.vim syntax highlighting script to vim.org. Get
- Dawid =?UTF-8?B?Q2nEmcW8YXJraWV3aWN6?= (2/4) Mar 12 2006 Thank for your work. :)
- David Ferenczi (24/44) Mar 13 2006 Thank you very much for your work!
- Jason Mills (18/42) Mar 13 2006 The option you are talking about is d_hl_operator_overload. When set to
- David Ferenczi (9/46) Mar 14 2006 Th first one would be essential, the socond rather nice to have.
- lanael (17/17) Mar 16 2006 Thanks for the new vim syntax file.
- jicman (2/17) Mar 13 2006
I have uploaded a new d.vim syntax highlighting script to vim.org. Get it at http://www.vim.org/scripts/script.php?script_id=379 Change: + 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. Please email me all bug reports and suggestions. Include the word vim in the subject line so it is filtered out from all the other spam I get. Jason
Mar 12 2006
Jason Mills wrote:I have uploaded a new d.vim syntax highlighting script to vim.org. Get it at http://www.vim.org/scripts/script.php?script_id=379Thank for your work. :)
Mar 12 2006
Thank you very much for your work! Recently I was playing around a bit with the d.vim script trying to get some features work. I didn't have much time, and so were the results, as well. Since I'm not familiar with vim scripts my assumptions and additions may be totally wrong. 1. Highlighting operators: I saw the operator names in the script, thus I presumed that the operators should have also been highlighted, but somehow it didn't work for me. So I added a quick and dirty hack: ---------8<---------------------------- " Operators syn match dOperator "[~+!%\/=\(\)\[\]\<\>&\{\},?;.:\-\*]" ---------8<---------------------------- I know it's quite far from elegant, but it worked - at least - for me. Could you please give me a short explanation how the operator highlighting is intended to work? 2. Highlighting function names: I was thinking about how to implement, and also look at other scripts to get some ideas, but most likely the learning curve cannot be avoided in this case. ;-) A tip could be useful though, how the correct implementation would look like. Regards, David Jason Mills wrote:I have uploaded a new d.vim syntax highlighting script to vim.org. Get it at http://www.vim.org/scripts/script.php?script_id=379 Change: + 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. Please email me all bug reports and suggestions. Include the word vim in the subject line so it is filtered out from all the other spam I get. Jason
Mar 13 2006
David Ferenczi wrote:Thank you very much for your work! Recently I was playing around a bit with the d.vim script trying to get some features work. I didn't have much time, and so were the results, as well. Since I'm not familiar with vim scripts my assumptions and additions may be totally wrong. 1. Highlighting operators: I saw the operator names in the script, thus I presumed that the operators should have also been highlighted, but somehow it didn't work for me. So I added a quick and dirty hack:The option you are talking about is d_hl_operator_overload. When set to true, the specially named class member functions that implement the operators are highlighted (e.g. opNeg), not the operator the method refers to (e.g. - ).---------8<---------------------------- " Operators syn match dOperator "[~+!%\/=\(\)\[\]\<\>&\{\},?;.:\-\*]" ---------8<---------------------------- I know it's quite far from elegant, but it worked - at least - for me.I will add this, or some variant of it, in the next update. Most likely I'll provide an option to enable to disable operator highlighting.Could you please give me a short explanation how the operator highlighting is intended to work?See my first comment.2. Highlighting function names: I was thinking about how to implement, and also look at other scripts to get some ideas, but most likely the learning curve cannot be avoided in this case. ;-) A tip could be useful though, how the correct implementation would look like.I'm afraid I'm not a vim syntax script expert either. So, I can't offer much in the way of tips. Implementing this would be a learning experience for me as well. Nevertheless, I will look into implementing some sort of method name highlighting for the next update. What type of support would you like to see? Here are some options: 1. Highlight only class method names in the class definition. This is relatively easy. 2. Highlight method and function names where used. This maybe difficult. Do you know of any languages where vim highlights the method/function names? Jason
Mar 13 2006
Thank you very much, now I understand.1. Highlighting operators: I saw the operator names in the script, thus I presumed that the operators should have also been highlighted, but somehow it didn't work for me. So I added a quick and dirty hack:The option you are talking about is d_hl_operator_overload. When set to true, the specially named class member functions that implement the operators are highlighted (e.g. opNeg), not the operator the method refers to (e.g. - ).I'm glad if I could contribute some.---------8<---------------------------- " Operators syn match dOperator "[~+!%\/=\(\)\[\]\<\>&\{\},?;.:\-\*]" ---------8<---------------------------- I know it's quite far from elegant, but it worked - at least - for me.I will add this, or some variant of it, in the next update. Most likely I'll provide an option to enable to disable operator highlighting.Th first one would be essential, the socond rather nice to have.2. Highlighting function names: I was thinking about how to implement, and also look at other scripts to get some ideas, but most likely the learning curve cannot be avoided in this case. ;-) A tip could be useful though, how the correct implementation would look like.I'm afraid I'm not a vim syntax script expert either. So, I can't offer much in the way of tips. Implementing this would be a learning experience for me as well. Nevertheless, I will look into implementing some sort of method name highlighting for the next update. What type of support would you like to see? Here are some options: 1. Highlight only class method names in the class definition. This is relatively easy. 2. Highlight method and function names where used. This maybe difficult.Do you know of any languages where vim highlights the method/function names?I searched for it, and there were many scripts with a "Function" keyword defined. I didn't have the time to go through the list, I tried to pick up some languages, which I know. Python seemed to be a good example for impelementing the first type of function name highlighting, and since sometimes I use Python, I can also confirm that it works. David
Mar 14 2006
Thanks for the new vim syntax file. Here is a hacked compiler file for dmd with a usable errorformat string. Save it as dmd.vim in vim/compiler/ ------------------------------->8---------------------------------- " Vim compiler file " Compiler: dmd - Digital Mars D language " Maintainer: marc Michel " Last Change: 2005/08/10 if exists("current_compiler") finish endif let current_compiler = "dmd" " A workable errorformat for the Digital Mars D compiler setlocal errorformat=%f\(%l\)\:%m,%-Gdmd\ %m,%-G%.%#errorlevel " default make setlocal makeprg=make ------------------------------->8----------------------------------
Mar 16 2006
Thanks Jason. Jason Mills says...I have uploaded a new d.vim syntax highlighting script to vim.org. Get it at http://www.vim.org/scripts/script.php?script_id=379 Change: + 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. Please email me all bug reports and suggestions. Include the word vim in the subject line so it is filtered out from all the other spam I get. Jason
Mar 13 2006