17 Commits

Author SHA1 Message Date
marty
f8c60c7bd8 updated the version and updated time 2008-02-22 22:51:50 +13:00
marty
2783e3639d update to the change log 2008-02-22 22:49:53 +13:00
marty
6337d56893 added support for Wikipedia, mplayerconf and mkd 2008-02-22 22:45:56 +13:00
marty
a24534c6f1 bugfix: fixed a bug that was showing up when commenting in visual mode with multipart delims of different lengths 2008-02-06 21:08:40 +13:00
marty
122490be95 bugfix: now we take into account the &selection option and adjust visual selections accordingly 2008-02-06 20:23:54 +13:00
marty
d1af8af555 refactored a variable name 2008-02-06 20:11:17 +13:00
marty
08d14e7342 updated the version/last update comments 2008-01-18 23:21:04 +13:00
marty
532c58db62 added support for aap 2008-01-18 23:20:28 +13:00
marty
fb93d5869d added support for mrxvtrc, (SVN|SVK|CVS)Annotate 2008-01-18 23:18:20 +13:00
marty
78f182a601 made the NERDDefaultNesting option default to 1 2007-12-14 16:11:49 +13:00
marty
b6882e5d23 version bump and cleaned up the changelog a bit 2007-12-14 15:56:14 +13:00
marty
574f2841cc added support for assymptote 2007-12-14 15:53:12 +13:00
marty
023a62224e bugfix: fixed a bug with aligned comments and the NERDSpaceDelims option 2007-12-14 14:15:42 +13:00
marty
443eb8045e added dummy support for lhaskell 2007-12-14 12:52:15 +13:00
marty
13b0f4ee27 added the latest changes to teh changelog and gave credit 2007-12-12 22:28:55 +13:00
marty
ee3106ad45 bugfix: a bug was screwing up the removal of spaces when NERDSpaceDelims was set 2007-12-12 22:23:36 +13:00
marty
3161d57792 added new filetypes, updated plsql 2007-12-07 20:17:15 +13:00
2 changed files with 82 additions and 16 deletions

View File

@@ -744,7 +744,7 @@ If this option is set to 1 then the top style will be used.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDDefaultNesting* *NERDDefaultNesting*
Values: 0 or 1. Values: 0 or 1.
Default 0. Default 1.
When this option is set to 1, comments are nested automatically. That is, if When this option is set to 1, comments are nested automatically. That is, if
you hit ,cc on a line that is already commented it will be commented you hit ,cc on a line that is already commented it will be commented
@@ -860,6 +860,30 @@ to get illegal syntax when uncommenting them.
============================================================================== ==============================================================================
8. Changelog *NERDComChangelog* 8. Changelog *NERDComChangelog*
2.1.10
- added support for Wikipedia (thanks to Chen Xing)
- added support for mplayerconf
- bugfixes (thanks to Ingo Karkat for the bug report/patch)
- added support for mkd (thanks to Stefano Zacchiroli)
2.1.9
- added support for mrxvtrc and aap, thx to Marco for the emails
- added dummy support for SVNAnnotate, SVKAnnotate and CVSAnnotate, thx to
nicothakis for posting the issue
2.1.8
- fixed a couple of bugs with the NERDSpaceDelims option, thx to
David Miani and Jeremy Hinegardner
- added dummy support for lhaskell, thx to pipp for posting the issue
- added an alternative set of delims for the plsql filetype, thx to Kuchma
Michael
- added support for spectre, thx to Brett Warneke
- added support for scala, thx to Renald Buter
- added support for asymptote, thx to Vladimir Lomov
- made NERDDefaultNesting enabled by default as this seems more intuitive,
thx to marco for the suggestion
2.1.7 2.1.7
- added support for haml, thx to Greb Weber - added support for haml, thx to Greb Weber
- added support for asterisk, thx to Laurent ARNOUD - added support for asterisk, thx to Laurent ARNOUD
@@ -1123,6 +1147,16 @@ Cheers to Cheng Fang for the bug reports :D
Cheers to Yongwei Wu for a bug report about the passwd filetype. Cheers to Yongwei Wu for a bug report about the passwd filetype.
Thanks to David Miani for reporting a space-removal bug when using the
NERDSpaceDelims option.
Thanks to Jeremy Hinegardner for emailing me about a bug with aligned
comments and the NERDSpaceDelims option.
Thanks to marco for suggesting NERDDefaultNesting be set by default.
Thanks to Ingo Karkat for the bug reports and the bugfix patch.
Not to forget! Thanks to the following people for sending me new filetypes to Not to forget! Thanks to the following people for sending me new filetypes to
support :D support :D
@@ -1145,7 +1179,7 @@ Lizendir fstab
Michael Böhler autoit, autohotkey and docbk Michael Böhler autoit, autohotkey and docbk
Aaron Small cmake Aaron Small cmake
Ramiro htmldjango and django Ramiro htmldjango and django
Stefano Zacchiroli debcontrol and debchangelog Stefano Zacchiroli debcontrol, debchangelog, mkd
Alex Tarkovsky ebuild and eclass Alex Tarkovsky ebuild and eclass
Jorge Rodrigues gams Jorge Rodrigues gams
Rainer Müller Objective C Rainer Müller Objective C
@@ -1164,4 +1198,12 @@ Greg Weber D, haml
Bruce Sherrod velocity Bruce Sherrod velocity
timberke cobol timberke cobol
Aaron Schaefer factor Aaron Schaefer factor
Laurent ARNOUD asterisk Laurent ARNOUD asterisk, mplayerconf
Kuchma Michael plsql
Brett Warneke spectre
Pipp lhaskell
Renald Buter scala
Vladimir Lomov asymptote
Marco mrxvtrc, aap
nicothakis SVNAnnotate, CVSAnnotate, SVKAnnotate
Chen Xing Wikipedia

View File

@@ -1,7 +1,7 @@
" vim global plugin that provides easy code commenting for various file types " vim global plugin that provides easy code commenting for various file types
" Last Change: 26 oct 2007 " Last Change: 22 Feb 2008
" Maintainer: Martin Grenfell <martin_grenfell at msn.com> " Maintainer: Martin Grenfell <martin_grenfell at msn.com>
let s:NERD_commenter_version = 2.1.7 let s:NERD_commenter_version = 2.1.10
" For help documentation type :help NERDCommenter. If this fails, Restart vim " For help documentation type :help NERDCommenter. If this fails, Restart vim
" and try again. If it sill doesnt work... the help page is at the bottom " and try again. If it sill doesnt work... the help page is at the bottom
@@ -54,7 +54,7 @@ call s:InitVariable("g:NERDAllowAnyVisualDelims", 1)
call s:InitVariable("g:NERDBlockComIgnoreEmpty", 0) call s:InitVariable("g:NERDBlockComIgnoreEmpty", 0)
call s:InitVariable("g:NERDCommentWholeLinesInVMode", 0) call s:InitVariable("g:NERDCommentWholeLinesInVMode", 0)
call s:InitVariable("g:NERDCompactSexyComs", 0) call s:InitVariable("g:NERDCompactSexyComs", 0)
call s:InitVariable("g:NERDDefaultNesting", 0) call s:InitVariable("g:NERDDefaultNesting", 1)
call s:InitVariable("g:NERDMenuMode", 3) call s:InitVariable("g:NERDMenuMode", 3)
call s:InitVariable("g:NERDLPlace", "[>") call s:InitVariable("g:NERDLPlace", "[>")
call s:InitVariable("g:NERDUsePlaceHolders", 1) call s:InitVariable("g:NERDUsePlaceHolders", 1)
@@ -132,6 +132,8 @@ function s:SetUpForNewFiletype(filetype, forceReset)
"hardcoded the comment delimiters to use "hardcoded the comment delimiters to use
if a:filetype == "" if a:filetype == ""
call s:MapDelimiters('', '') call s:MapDelimiters('', '')
elseif a:filetype == "aap"
call s:MapDelimiters('#', '')
elseif a:filetype == "abaqus" elseif a:filetype == "abaqus"
call s:MapDelimiters('**', '') call s:MapDelimiters('**', '')
elseif a:filetype == "abc" elseif a:filetype == "abc"
@@ -166,6 +168,8 @@ function s:SetUpForNewFiletype(filetype, forceReset)
call s:MapDelimiters('''', '') call s:MapDelimiters('''', '')
elseif a:filetype == "asterisk" elseif a:filetype == "asterisk"
call s:MapDelimiters(';', '') call s:MapDelimiters(';', '')
elseif a:filetype == "asy"
call s:MapDelimiters('//', '')
elseif a:filetype == "atlas" elseif a:filetype == "atlas"
call s:MapDelimiters('C','$') call s:MapDelimiters('C','$')
elseif a:filetype == "autohotkey" elseif a:filetype == "autohotkey"
@@ -246,6 +250,8 @@ function s:SetUpForNewFiletype(filetype, forceReset)
call s:MapDelimiters('','') call s:MapDelimiters('','')
elseif a:filetype == "cvs" elseif a:filetype == "cvs"
call s:MapDelimiters('CVS:','') call s:MapDelimiters('CVS:','')
elseif a:filetype == "CVSAnnotate"
call s:MapDelimiters('','')
elseif a:filetype == "d" elseif a:filetype == "d"
call s:MapDelimitersWithAlternative('//','', '/*','*/') call s:MapDelimitersWithAlternative('//','', '/*','*/')
elseif a:filetype == "dcl" elseif a:filetype == "dcl"
@@ -416,6 +422,8 @@ function s:SetUpForNewFiletype(filetype, forceReset)
call s:MapDelimiters('/*','*/') call s:MapDelimiters('/*','*/')
elseif a:filetype == "lftp" elseif a:filetype == "lftp"
call s:MapDelimiters('#', '') call s:MapDelimiters('#', '')
elseif a:filetype == "lhaskell"
call s:MapDelimiters('','')
elseif a:filetype == "lifelines" elseif a:filetype == "lifelines"
call s:MapDelimiters('/*','*/') call s:MapDelimiters('/*','*/')
elseif a:filetype == "lilo" elseif a:filetype == "lilo"
@@ -466,6 +474,8 @@ function s:SetUpForNewFiletype(filetype, forceReset)
call s:MapDelimiters('%', '') call s:MapDelimiters('%', '')
elseif a:filetype == "mib" elseif a:filetype == "mib"
call s:MapDelimiters('--', '') call s:MapDelimiters('--', '')
elseif a:filetype == "mkd"
call s:MapDelimiters('>', '')
elseif a:filetype == "mma" elseif a:filetype == "mma"
call s:MapDelimiters('(*','*)') call s:MapDelimiters('(*','*)')
elseif a:filetype == "model" elseif a:filetype == "model"
@@ -478,6 +488,10 @@ function s:SetUpForNewFiletype(filetype, forceReset)
call s:MapDelimiters('(*','*)') call s:MapDelimiters('(*','*)')
elseif a:filetype == "monk" elseif a:filetype == "monk"
call s:MapDelimiters(';', '') call s:MapDelimiters(';', '')
elseif a:filetype == "mplayerconf"
call s:MapDelimiters('#', '')
elseif a:filetype == "mrxvtrc"
call s:MapDelimiters('#', '')
elseif a:filetype == "mush" elseif a:filetype == "mush"
call s:MapDelimiters('#', '') call s:MapDelimiters('#', '')
elseif a:filetype == "muttrc" elseif a:filetype == "muttrc"
@@ -553,7 +567,7 @@ function s:SetUpForNewFiletype(filetype, forceReset)
elseif a:filetype == "plm" elseif a:filetype == "plm"
call s:MapDelimitersWithAlternative('//','', '/*','*/') call s:MapDelimitersWithAlternative('//','', '/*','*/')
elseif a:filetype == "plsql" elseif a:filetype == "plsql"
call s:MapDelimiters('--', '') call s:MapDelimitersWithAlternative('--', '', '/*', '*/')
elseif a:filetype == "po" elseif a:filetype == "po"
call s:MapDelimiters('#', '') call s:MapDelimiters('#', '')
elseif a:filetype == "postscr" elseif a:filetype == "postscr"
@@ -620,6 +634,8 @@ function s:SetUpForNewFiletype(filetype, forceReset)
call s:MapDelimitersWithAlternative('//','', '/*', '') call s:MapDelimitersWithAlternative('//','', '/*', '')
elseif a:filetype == "sather" elseif a:filetype == "sather"
call s:MapDelimiters('--', '') call s:MapDelimiters('--', '')
elseif a:filetype == "scala"
call s:MapDelimitersWithAlternative('//','', '/*','*/')
elseif a:filetype == "scheme" elseif a:filetype == "scheme"
call s:MapDelimiters(';', '') call s:MapDelimiters(';', '')
elseif a:filetype == "scilab" elseif a:filetype == "scilab"
@@ -676,6 +692,8 @@ function s:SetUpForNewFiletype(filetype, forceReset)
call s:MapDelimiters('#', '') call s:MapDelimiters('#', '')
elseif a:filetype == "specman" elseif a:filetype == "specman"
call s:MapDelimiters('//', '') call s:MapDelimiters('//', '')
elseif a:filetype == "spectre"
call s:MapDelimitersWithAlternative('//', '', '*', '')
elseif a:filetype == "spice" elseif a:filetype == "spice"
call s:MapDelimiters('$', '') call s:MapDelimiters('$', '')
elseif a:filetype == "sql" elseif a:filetype == "sql"
@@ -694,8 +712,12 @@ function s:SetUpForNewFiletype(filetype, forceReset)
call s:MapDelimiters('--', '') call s:MapDelimiters('--', '')
elseif a:filetype == "strace" elseif a:filetype == "strace"
call s:MapDelimiters('/*','*/') call s:MapDelimiters('/*','*/')
elseif a:filetype == "SVKAnnotate"
call s:MapDelimiters('','')
elseif a:filetype == "svn" elseif a:filetype == "svn"
call s:MapDelimiters('','') call s:MapDelimiters('','')
elseif a:filetype == "SVNAnnotate"
call s:MapDelimiters('','')
elseif a:filetype == "SVNcommitlog" elseif a:filetype == "SVNcommitlog"
call s:MapDelimiters('','') call s:MapDelimiters('','')
elseif a:filetype == "systemverilog" elseif a:filetype == "systemverilog"
@@ -772,6 +794,8 @@ function s:SetUpForNewFiletype(filetype, forceReset)
call s:MapDelimiters('##', '') call s:MapDelimiters('##', '')
elseif a:filetype == "wget" elseif a:filetype == "wget"
call s:MapDelimiters('#', '') call s:MapDelimiters('#', '')
elseif a:filetype ==? "Wikipedia"
call s:MapDelimiters('<!--','-->')
elseif a:filetype == "winbatch" elseif a:filetype == "winbatch"
call s:MapDelimiters(';', '') call s:MapDelimiters(';', '')
elseif a:filetype == "wml" elseif a:filetype == "wml"
@@ -1023,7 +1047,7 @@ function s:CommentBlock(top, bottom, lSide, rSide, forceNested )
if s:Multipart() if s:Multipart()
"stick the right delimiter down "stick the right delimiter down
let theLine = strpart(theLine, 0, rSide+strlen(leftSpaced)) . rightSpaced . strpart(theLine, rSide+strlen(rightSpaced)) let theLine = strpart(theLine, 0, rSide+strlen(leftSpaced)) . rightSpaced . strpart(theLine, rSide+strlen(leftSpaced))
let firstLeftDelim = s:FindDelimiterIndex(b:left, theLine) let firstLeftDelim = s:FindDelimiterIndex(b:left, theLine)
let lastRightDelim = s:LastIndexOfDelim(b:right, theLine) let lastRightDelim = s:LastIndexOfDelim(b:right, theLine)
@@ -1102,12 +1126,12 @@ function s:CommentLines(forceNested, alignLeft, alignRight, firstLine, lastLine)
" check if we can comment this line " check if we can comment this line
if !isCommented || g:NERDUsePlaceHolders || s:Multipart() if !isCommented || g:NERDUsePlaceHolders || s:Multipart()
if a:alignLeft if a:alignLeft
let theLine = s:AddLeftDelimAligned(b:left, theLine, leftAlignIndx) let theLine = s:AddLeftDelimAligned(s:GetLeft(0,1,0), theLine, leftAlignIndx)
else else
let theLine = s:AddLeftDelim(s:GetLeft(0,1,0), theLine) let theLine = s:AddLeftDelim(s:GetLeft(0,1,0), theLine)
endif endif
if a:alignRight if a:alignRight
let theLine = s:AddRightDelimAligned(b:right, theLine, rightAlignIndx) let theLine = s:AddRightDelimAligned(s:GetRight(0,1,0), theLine, rightAlignIndx)
else else
let theLine = s:AddRightDelim(s:GetRight(0,1,0), theLine) let theLine = s:AddRightDelim(s:GetRight(0,1,0), theLine)
endif endif
@@ -1422,14 +1446,14 @@ endfunction
" 'nested', 'toEOL', 'prepend', 'append', 'insert', 'uncomment', 'yank' " 'nested', 'toEOL', 'prepend', 'append', 'insert', 'uncomment', 'yank'
function! NERDComment(isVisual, type) range function! NERDComment(isVisual, type) range
" we want case sensitivity when commenting " we want case sensitivity when commenting
let prevIgnoreCase = &ignorecase let oldIgnoreCase = &ignorecase
set noignorecase set noignorecase
if a:isVisual if a:isVisual
let firstLine = line("'<") let firstLine = line("'<")
let lastLine = line("'>") let lastLine = line("'>")
let firstCol = col("'<") let firstCol = col("'<")
let lastCol = col("'>") let lastCol = col("'>") - (&selection == 'exclusive' && has("gui_running") ? 1 : 0)
else else
let firstLine = a:firstline let firstLine = a:firstline
let lastLine = a:lastline let lastLine = a:lastline
@@ -1511,7 +1535,7 @@ function! NERDComment(isVisual, type) range
execute firstLine .','. lastLine .'call NERDComment('. a:isVisual .', "norm")' execute firstLine .','. lastLine .'call NERDComment('. a:isVisual .', "norm")'
endif endif
let &ignorecase = prevIgnoreCase let &ignorecase = oldIgnoreCase
endfunction endfunction
" Function: s:PlaceDelimitersAndInsBetween() function {{{2 " Function: s:PlaceDelimitersAndInsBetween() function {{{2
@@ -1834,15 +1858,15 @@ function s:UncommentLineNormal(line)
let line = a:line let line = a:line
"get the comment status on the line so we know how it is commented "get the comment status on the line so we know how it is commented
let lineCommentStatus = s:IsCommentedOuttermost(b:leftAlt, b:rightAlt, b:left, b:right, line) let lineCommentStatus = s:IsCommentedOuttermost(b:left, b:right, b:leftAlt, b:rightAlt, line)
"it is commented with b:left and b:right so remove these delims "it is commented with b:left and b:right so remove these delims
if lineCommentStatus == 1 if lineCommentStatus == 1
let line = s:RemoveDelimiters(b:leftAlt, b:rightAlt, line) let line = s:RemoveDelimiters(b:left, b:right, line)
"it is commented with b:leftAlt and b:rightAlt so remove these delims "it is commented with b:leftAlt and b:rightAlt so remove these delims
elseif lineCommentStatus == 2 && g:NERDRemoveAltComs elseif lineCommentStatus == 2 && g:NERDRemoveAltComs
let line = s:RemoveDelimiters(b:left, b:right, line) let line = s:RemoveDelimiters(b:leftAlt, b:rightAlt, line)
"it is not properly commented with any delims so we check if it has "it is not properly commented with any delims so we check if it has
"any random left or right delims on it and remove the outtermost ones "any random left or right delims on it and remove the outtermost ones