Mercurial > vim
changeset 6153:1e8ebf870720
Updated runtime files.
line wrap: on
line diff
--- a/runtime/autoload/phpcomplete.vim +++ b/runtime/autoload/phpcomplete.vim @@ -3,7 +3,7 @@ " Maintainer: Dávid Szabó ( complex857 AT gmail DOT com ) " Previous Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl ) " URL: https://github.com/shawncplus/phpcomplete.vim -" Last Change: 2014 May 30 +" Last Change: 2014 Jul 24 " " OPTIONS: " @@ -277,7 +277,7 @@ endfunction " }}} function! phpcomplete#CompleteGeneral(base, current_namespace, imports) " {{{ - " Complete everything else - + " Complete everything " + functions, DONE " + keywords of language DONE " + defines (constant definitions), DONE @@ -949,12 +949,11 @@ function! phpcomplete#CompleteUserClass( endif endfor - let jvars = join(variables, ' ') - let svars = split(jvars, '\$') + let static_vars = split(join(variables, ' '), '\$') let c_variables = {} let var_index = 0 - for i in svars + for i in static_vars let c_var = matchstr(i, \ '^\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze') if c_var != '' @@ -1083,7 +1082,6 @@ endfunction " }}} function! phpcomplete#GetTaglist(pattern) " {{{ - let cache_checksum = '' if g:phpcomplete_cache_taglists == 1 " build a string with format of "<tagfile>:<mtime>$<tagfile2>:<mtime2>..." @@ -1447,6 +1445,7 @@ function! phpcomplete#GetClassName(start " Get class name " Class name can be detected in few ways: " @var $myVar class + " @var class $myVar " in the same line (php 5.4 (new Class)-> syntax) " line above " or line in tags file @@ -1525,6 +1524,11 @@ function! phpcomplete#GetClassName(start let object_is_array = (object =~ '\v^[^[]+\[' ? 1 : 0) let object = matchstr(object, variable_name_pattern) + let function_boundary = phpcomplete#GetCurrentFunctionBoundaries() + let search_end_line = max([1, function_boundary[0][0]]) + " -1 makes us ignore the current line (where the completion was invoked + let lines = reverse(getline(search_end_line, line('.') - 1)) + " check Constant lookup let constant_object = matchstr(a:context, '\zs'.class_name_pattern.'\ze::') if constant_object != '' @@ -1533,21 +1537,20 @@ function! phpcomplete#GetClassName(start if classname_candidate == '' " scan the file backwards from current line for explicit type declaration (@var $variable Classname) - let i = 1 " start from the current line - 1 - while i < a:start_line - let line = getline(a:start_line - i) + for line in lines " in file lookup for /* @var $foo Class */ if line =~# '@var\s\+'.object.'\s\+'.class_name_pattern let classname_candidate = matchstr(line, '@var\s\+'.object.'\s\+\zs'.class_name_pattern.'\(\[\]\)\?') let [classname_candidate, class_candidate_namespace] = phpcomplete#ExpandClassName(classname_candidate, a:current_namespace, a:imports) break - elseif line !~ '^\s*$' - " type indicator comments should be next to the variable - " non empty lines break the search + endif + " in file lookup for /* @var Class $foo */ + if line =~# '@var\s\+'.class_name_pattern.'\s\+'.object + let classname_candidate = matchstr(line, '@var\s\+\zs'.class_name_pattern.'\(\[\]\)\?\ze'.'\s\+'.object) + let [classname_candidate, class_candidate_namespace] = phpcomplete#ExpandClassName(classname_candidate, a:current_namespace, a:imports) break endif - let i += 1 - endwhile + endfor endif if classname_candidate != '' @@ -1555,12 +1558,9 @@ function! phpcomplete#GetClassName(start " return absolute classname, without leading \ return (class_candidate_namespace == '\' || class_candidate_namespace == '') ? classname_candidate : class_candidate_namespace.'\'.classname_candidate endif - " scan the file backwards from the current line let i = 1 - while i < a:start_line " {{{ - let line = getline(a:start_line - i) - + for line in lines " {{{ " do in-file lookup of $var = new Class if line =~# '^\s*'.object.'\s*=\s*new\s\+'.class_name_pattern && !object_is_array let classname_candidate = matchstr(line, object.'\c\s*=\s*new\s*\zs'.class_name_pattern.'\ze') @@ -1722,7 +1722,7 @@ function! phpcomplete#GetClassName(start endif let i += 1 - endwhile " }}} + endfor " }}} if classname_candidate != '' let [classname_candidate, class_candidate_namespace] = phpcomplete#GetCallChainReturnType(classname_candidate, class_candidate_namespace, class_candidate_imports, methodstack) @@ -1962,7 +1962,9 @@ function! phpcomplete#GetClassContentsSt let namespace = '\' endif let classlocation = phpcomplete#GetClassLocation(extends_class, namespace) - if classlocation != '' && filereadable(classlocation) + if classlocation == "VIMPHP_BUILTINOBJECT" + let result += [phpcomplete#GenerateBuiltinClassStub(g:php_builtin_classes[tolower(extends_class)])] + elseif classlocation != '' && filereadable(classlocation) let full_file_path = fnamemodify(classlocation, ':p') let result += phpcomplete#GetClassContentsStructure(full_file_path, readfile(full_file_path), extends_class) elseif tolower(current_namespace) == tolower(namespace) @@ -1985,6 +1987,51 @@ function! phpcomplete#GetClassContents(c endfunction " }}} +function! phpcomplete#GenerateBuiltinClassStub(class_info) " {{{ + let re = 'class '.a:class_info['name']." {" + for [name, initializer] in items(a:class_info.constants) + let re .= "\n\tconst ".name." = ".initializer.";" + endfor + for [name, info] in items(a:class_info.properties) + let re .= "\n\t// @var $".name." ".info.type + let re .= "\n\tpublic $".name.";" + endfor + for [name, info] in items(a:class_info.static_properties) + let re .= "\n\t// @var ".name." ".info.type + let re .= "\n\tpublic static ".name." = ".info.initializer.";" + endfor + for [name, info] in items(a:class_info.methods) + if name =~ '^__' + continue + endif + let re .= "\n\t/**" + let re .= "\n\t * ".name + let re .= "\n\t *" + let re .= "\n\t * @return ".info.return_type + let re .= "\n\t */" + let re .= "\n\tpublic function ".name."(".info.signature."){" + let re .= "\n\t}" + endfor + for [name, info] in items(a:class_info.static_methods) + let re .= "\n\t/**" + let re .= "\n\t * ".name + let re .= "\n\t *" + let re .= "\n\t * @return ".info.return_type + let re .= "\n\t */" + let re .= "\n\tpublic static function ".name."(".info.signature."){" + let re .= "\n\t}" + endfor + let re .= "\n}" + + return { 'class': a:class_info['name'], + \ 'content': re, + \ 'namespace': '', + \ 'imports': {}, + \ 'file': 'VIMPHP_BUILTINOBJECT', + \ 'mtime': 0, + \ } +endfunction " }}} + function! phpcomplete#GetDocBlock(sccontent, search) " {{{ let i = 0 let l = 0 @@ -2307,6 +2354,40 @@ function! phpcomplete#GetCurrentNameSpac endfunction " }}} +function! phpcomplete#GetCurrentFunctionBoundaries() " {{{ + let old_cursor_pos = [line('.'), col('.')] + let current_line_no = old_cursor_pos[0] + let function_pattern = '\c\(.*\%#\)\@!\_^\s*\zs\(abstract\s\+\|final\s\+\|private\s\+\|protected\s\+\|public\s\+\|static\s\+\)*function\_.\{-}(\_.\{-})\_.\{-}{' + + let func_start_pos = searchpos(function_pattern, 'Wbc') + if func_start_pos == [0, 0] + call cursor(old_cursor_pos[0], old_cursor_pos[1]) + return 0 + endif + + " get the line where the function declaration actually started + call search('\cfunction\_.\{-}(\_.\{-})\_.\{-}{', 'Wce') + + " get the position of the function block's closing "}" + let func_end_pos = searchpairpos('{', '', '}', 'W') + if func_end_pos == [0, 0] + " there is a function start but no end found, assume that we are in a + " function but the user did not typed the closing "}" yet and the + " function runs to the end of the file + let func_end_pos = [line('$'), len(getline(line('$')))] + endif + + " Decho func_start_pos[0].' <= '.current_line_no.' && '.current_line_no.' <= '.func_end_pos[0] + if func_start_pos[0] <= current_line_no && current_line_no <= func_end_pos[0] + call cursor(old_cursor_pos[0], old_cursor_pos[1]) + return [func_start_pos, func_end_pos] + endif + + call cursor(old_cursor_pos[0], old_cursor_pos[1]) + return 0 +endfunction +" }}} + function! phpcomplete#ExpandClassName(classname, current_namespace, imports) " {{{ " if there's an imported class, just use that class's information if has_key(a:imports, a:classname) && (a:imports[a:classname].kind == 'c' || a:imports[a:classname].kind == 'i')
new file mode 100644 --- /dev/null +++ b/runtime/compiler/go.vim @@ -0,0 +1,29 @@ +" Vim compiler file +" Compiler: Go +" Maintainer: David Barnett (https://github.com/google/vim-ft-go) +" Last Change: 2014 Aug 16 + +if exists('current_compiler') + finish +endif +let current_compiler = 'go' + +if exists(':CompilerSet') != 2 + command -nargs=* CompilerSet setlocal <args> +endif + +let s:save_cpo = &cpo +set cpo-=C + +CompilerSet makeprg=go\ build +CompilerSet errorformat= + \%-G#\ %.%#, + \%A%f:%l:%c:\ %m, + \%A%f:%l:\ %m, + \%C%*\\s%m, + \%-G%.%# + +let &cpo = s:save_cpo +unlet s:save_cpo + +" vim: sw=2 sts=2 et
--- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -1,4 +1,4 @@ -*cmdline.txt* For Vim version 7.4. Last change: 2014 Feb 23 +*cmdline.txt* For Vim version 7.4. Last change: 2014 Aug 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1084,6 +1084,9 @@ another window, or drag statuslines of o statusline of the command-line window itself and the statusline above it. Thus you can resize the command-line window, but not others. +The |getcmdwintype()| function returns the type of the command-line being +edited as described in |cmdwin-char|. + AUTOCOMMANDS
--- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.4. Last change: 2014 Jul 19 +*eval.txt* For Vim version 7.4. Last change: 2014 Aug 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1807,7 +1807,8 @@ getchar( [expr]) Number get one charact getcharmod( ) Number modifiers for the last typed character getcmdline() String return the current command-line getcmdpos() Number return cursor position in command-line -getcmdtype() String return the current command-line type +getcmdtype() String return current command-line type +getcmdwintype() String return current command-line window type getcurpos() List position of the cursor getcwd() String the current working directory getfontname( [{name}]) String name of font being used @@ -2112,8 +2113,8 @@ argidx() The result is the current index arglistid([{winnr}, [ {tabnr} ]]) Return the argument list ID. This is a number which identifies the argument list being used. Zero is used for the - global argument list. - Return zero if the arguments are invalid. + global argument list. See |arglist|. + Return -1 if the arguments are invalid. Without arguments use the current window. With {winnr} only use this window in the current tab page. @@ -3349,6 +3350,11 @@ getcmdtype() *getcmdtype()* Returns an empty string otherwise. Also see |getcmdpos()|, |setcmdpos()| and |getcmdline()|. +getcmdwintype() *getcmdwintype()* + Return the current |command-line-window| type. Possible return + values are the same as |getcmdtype()|. Returns an empty string + when not in the command-line window. + *getcurpos()* getcurpos() Get the position of the cursor. This is like getpos('.'), but includes an extra item in the list: @@ -3359,7 +3365,7 @@ getcurpos() Get the position of the curs let save_cursor = getcurpos() MoveTheCursorAround call setpos('.', save_cursor) - +< *getcwd()* getcwd() The result is a String, which is the name of the current working directory.
--- a/runtime/doc/insert.txt +++ b/runtime/doc/insert.txt @@ -1,4 +1,4 @@ -*insert.txt* For Vim version 7.4. Last change: 2014 Jul 06 +*insert.txt* For Vim version 7.4. Last change: 2014 Aug 04 VIM REFERENCE MANUAL by Bram Moolenaar @@ -51,6 +51,8 @@ char action ~ abbreviation. Note: If your <Esc> key is hard to hit on your keyboard, train yourself to use CTRL-[. + If Esc doesn't work and you are using a Mac, try CTRL-Esc. + Or disable Listening under Accessibility preferences. *i_CTRL-C* CTRL-C Quit insert mode, go back to Normal mode. Do not check for abbreviations. Does not trigger the |InsertLeave| autocommand
--- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.4. Last change: 2014 Jul 23 +*options.txt* For Vim version 7.4. Last change: 2014 Aug 09 VIM REFERENCE MANUAL by Bram Moolenaar
--- a/runtime/doc/pattern.txt +++ b/runtime/doc/pattern.txt @@ -1,4 +1,4 @@ -*pattern.txt* For Vim version 7.4. Last change: 2014 May 28 +*pattern.txt* For Vim version 7.4. Last change: 2014 Jul 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -706,11 +706,18 @@ overview. But to limit the time needed, only the line where what follows matches is searched, and one line before that (if there is one). This should be sufficient to match most things and not be too slow. - The part of the pattern after "\@<=" and "\@<!" are checked for a - match first, thus things like "\1" don't work to reference \(\) inside - the preceding atom. It does work the other way around: - Example matches ~ - \1\@<=,\([a-z]\+\) ",abc" in "abc,abc" + + In the old regexp engine the part of the pattern after "\@<=" and + "\@<!" are checked for a match first, thus things like "\1" don't work + to reference \(\) inside the preceding atom. It does work the other + way around: + Bad example matches ~ + \%#=1\1\@<=,\([a-z]\+\) ",abc" in "abc,abc" + + However, the new regexp engine works differently, it is better to not + rely on this behavior, do not use \@<= if it can be avoided: + Example matches ~ + \([a-z]\+\)\zs,\1 ",abc" in "abc,abc" \@123<= Like "\@<=" but only look back 123 bytes. This avoids trying lots
--- a/runtime/doc/quickref.txt +++ b/runtime/doc/quickref.txt @@ -1,4 +1,4 @@ -*quickref.txt* For Vim version 7.4. Last change: 2014 Jun 25 +*quickref.txt* For Vim version 7.4. Last change: 2014 Aug 06 VIM REFERENCE MANUAL by Bram Moolenaar @@ -831,6 +831,7 @@ Short explanation of each option: *opti 'regexpengine' 're' default regexp engine to use 'relativenumber' 'rnu' show relative line number in front of each line 'remap' allow mappings to work recursively +'renderoptions' 'rop' options for text rendering on Windows 'report' threshold for reporting nr. of lines changed 'restorescreen' 'rs' Win32: restore screen when exiting 'revins' 'ri' inserting characters will work backwards
--- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -756,6 +756,7 @@ 'regexpengine' options.txt /*'regexpengine'* 'relativenumber' options.txt /*'relativenumber'* 'remap' options.txt /*'remap'* +'renderoptions' options.txt /*'renderoptions'* 'report' options.txt /*'report'* 'restorescreen' options.txt /*'restorescreen'* 'revins' options.txt /*'revins'* @@ -766,6 +767,7 @@ 'rlc' options.txt /*'rlc'* 'rnu' options.txt /*'rnu'* 'ro' options.txt /*'ro'* +'rop' options.txt /*'rop'* 'rs' options.txt /*'rs'* 'rtp' options.txt /*'rtp'* 'ru' options.txt /*'ru'* @@ -1171,6 +1173,7 @@ +dialog_gui various.txt /*+dialog_gui* +diff various.txt /*+diff* +digraphs various.txt /*+digraphs* ++directx various.txt /*+directx* +dnd various.txt /*+dnd* +emacs_tags various.txt /*+emacs_tags* +eval various.txt /*+eval* @@ -4902,6 +4905,7 @@ blockwise-operators visual.txt /*blockwi blockwise-register change.txt /*blockwise-register* blockwise-visual visual.txt /*blockwise-visual* blowfish options.txt /*blowfish* +blowfish2 options.txt /*blowfish2* bold syntax.txt /*bold* bom-bytes mbyte.txt /*bom-bytes* book intro.txt /*book* @@ -6138,6 +6142,7 @@ getcharmod() eval.txt /*getcharmod()* getcmdline() eval.txt /*getcmdline()* getcmdpos() eval.txt /*getcmdpos()* getcmdtype() eval.txt /*getcmdtype()* +getcmdwintype() eval.txt /*getcmdwintype()* getcurpos() eval.txt /*getcurpos()* getcwd() eval.txt /*getcwd()* getfontname() eval.txt /*getfontname()*
--- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.4. Last change: 2014 Jul 26 +*todo.txt* For Vim version 7.4. Last change: 2014 Aug 22 VIM REFERENCE MANUAL by Bram Moolenaar @@ -47,31 +47,73 @@ Regexp problems: - Does not work with NFA regexp engine: \%u, \%x, \%o, \%d followed by a composing character - Bug relating to back references. (Ingo Karkat, 2014 Jul 24) +- Using back reference before the capturing group sometimes works with the old + engine, can we do this with the new engine? E.g. with + "/\%(<\1>\)\@<=.*\%(<\/\(\w\+\)>\)\@=" matching text inside HTML tags. Still using freed memory after using setloclist(). (lcd, 2014 Jul 23) +More info Jul 24. Not clear why. + +Patch for: + CmdUndefined - Like FuncUndefined but for user commands. +Yasuhiro Matsumoto, 2014 Aug 18 Patch to make getregtype() return the right size for non-linux systems. (Yasuhiro Matsumoto, 2014 Jul 8) Breaks test_eval. Inefficient, can we only compute y_width when needed? +Patch to fix a problem with breakindent. (Christian Brabandt, 2014 Aug 17) +It's actually not a breakindent problem. With test: Aug 19. +With renamed test: Aug 20 + Problem that a previous silent ":throw" causes a following try/catch not to work. (ZyX, 2013 Sep 28) -DiffChange highlighting doesn't combine with 'cursurline'. (Benjamin Fritz) -Patch by Christian (2014 Jul 12) - -BufWinLeave autocommand executed in the wrong buffer? (Davit Samvelyan, 2014 -Jul 14) - -When 'clipboard' is "unnamed", :g/pat/d is very slow. Only set the clipboard -after the last delete? (Praful, 2014 May 28) -Patch by Christian Brabandt, 2014 Jun 18. Update Jun 25. +ml_get error when using Python, issue 248. + +Patch to fix typos in help files. (Dominique, 2014 Aug 9) + +Way to reproduce problem that characters are put on the screen twice in Insert +mode when using system(). (Jacob Niehus, 2014 Aug 9) +Related to setting TMODE_COOK. Perhaps we can omit that for system()? + +Update for Romanian spell file. (Vanilla Ice, 2014 Aug 13) + +Patch to remove ETO_IGNORELANGUAGE, it causes Chinese characters not to show +up. (Paul Moore, 2014 Jul 30) +Should it depend on the Windows version? Waiting for feedback. +No longer needed after including DirectX patch? + +Patch by Marcin Szamotulski to add count to :close (2014 Aug 10, update Aug +14) + Make ":1close" close the first window. + Make ":+1close" close the next window. + Make ":-1close" close the previous window. +Can't easily close the help window, like ":pc" closes the preview window and +":ccl" closes the quickfix window. Add ":hclose". (Chris Gaal) +Patch for :helpclose, Christian Brabandt, 2010 Sep 6. + +Patch by Marcin Szamotulski to add +cmd to buffer commands. +(2014 Aug 18) + +Patch to fix that system() with empty input fails. (Olaf Dabrunz, 2014 Aug 19) + +When using a visual selection of multiple words and doing CTRL-W_] it jumps to +the tag matching the word under the cursor, not the selected text. +(Patrick hemmer) +Patch by Christian, 2014 Aug 8. Completion for :buf does not use 'wildignorecase'. (Akshay H, 2014 May 31) +Patch to handle list with some items locked. (ZyX, 2014 Aug 17) +Prefer the second solution. + ":cd C:\Windows\System32\drivers\etc*" does not work, even though the directory exists. (Sergio Gallelli, 2013 Dec 29) +Patch to add a special key name for K_CURSORHOLD. (Hirohito Higashi, 2014 Aug +10) + The entries added by matchaddpos() are returned by getmatches() but can't be set with setmatches(). (lcd47, 2014 Jun 29) @@ -79,8 +121,6 @@ Problem using ":try" inside ":execute". Python: ":py raw_input('prompt')" doesn't work. (Manu Hack) -When using an undo file, also restore the changelist, so that "g;" works. - Value returned by virtcol() changes depending on how lines wrap. This is inconsistant with the documentation. @@ -94,19 +134,12 @@ Adding "~" to 'cdpath' doesn't work for "hi link" does not respect groups with GUI settings only. (Mark Lodato, 2014 Jun 8) -Syntax file for gnuplot. Existing one is very old. (Andrew Rasmussen, 2014 -Feb 24) - -Issue 174: Detect Mason files. - No error for missing endwhile. (ZyX, 2014 Mar 20) -Phpcomplete.vim update. (Complex, 2014 Jan 15) +Patch to add :arglocal and :arglists. (Marcin Szamotulski, 2014 Aug 6) PHP syntax is extremely slow. (Anhad Jai Singh, 2014 Jan 19) -Patch for matchparen. (James McCoy, 2014 Jul 11) - Spell files use a latin single quote. Unicode also has another single quote: 0x2019. (Ron Aaron, 2014 Apr 4) New OpenOffice spell files support this with ICONV. But they are not @@ -116,8 +149,8 @@ Win32: use different args for SearchPath Also fixes wrong result from executable(). Update from Ken Takata, 2014 Jan 10. Newer 2014 Apr 3. -Win32: use 64 bit stat() if possible. (Ken Takata, 2014 May 12) -More tests May 14. Update May 29. +Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12) +More tests May 14. Update May 29. Update Aug 10. The garbage collector may use too much stack. Make set_ref_in_item() iterative instead of recursive. Test program by Marc Weber (2013 Dec 10) @@ -215,6 +248,8 @@ command instead of doing this alphabetic Patch to add v:completed_item. (Shougo Matsu, 2013 Nov 29). +Patch to get MSVC version in a nicer way. (Ken Takata, 2014 Jul 24) + Patch to make test 100 work on MS-Windows. (Taro Muraoka, 2013 Dec 12) Patch to define macros for hardcoded values. (Elias Diem, 2013 Dec 14) @@ -230,7 +265,7 @@ Issue 28. Go through more coverity reports. Patch to add ":undorecover", get as much text out of the undo file as -possible. (Christian Brabandt, 2014 Mar 12) +possible. (Christian Brabandt, 2014 Mar 12, update Aug 16) Include Haiku port? (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24) @@ -367,7 +402,7 @@ Patch to allow setting w:quickfix_title functions. (Christian Brabandt, 2013 May 8, update May 21) Patch to add getlocstack() / setlocstack(). (Christian Brabandt, 2013 May 14) Second one. Update May 22. -Update by Daniel Hahler, 2014 Jul 4. +Update by Daniel Hahler, 2014 Jul 4, Aug 14. Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec) @@ -422,13 +457,6 @@ signs? Patch by Christian Brabandt, 201 Patch to remove flicker from popup menu. (Yasuhiro Matsumoto, 2013 Aug 15) -Patch to use directX to draw text on Windows. Adds the 'renderoptions' -option. (Taro Muraoka, 2013 Jan 25, update 2013 Apr 3, May 14) -Fixes this problem: -8 Win32: Multi-byte characters are not displayed, even though the same font - in Notepad can display them. (Srinath Avadhanula) Try with the - UTF-8-demo.txt page with Andale Mono. - Patch to add 'completeselect' option. Specifies how to select a candidate in insert completion. (Shougo, 2013 May 29) Update to add to existing 'completeopt'. 2013 May 30 @@ -642,6 +670,7 @@ effects? (Christian Brabandt, 2012 Aug Would also need to do this for spellbadword() and spellsuggest(). Patch for variable tabstops. On github (Christian Brabandt, 2014 May 15) +Update Aug 16 (email). On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a 64 bits value. Change all number options to use nropt_T and define it to the @@ -1349,10 +1378,6 @@ Jul 31) C syntax: {} inside () causes following {} to be highlighted as error. (Michalis Giannakidis, 2006 Jun 1) -Can't easily close the help window, like ":pc" closes the preview window and -":ccl" closes the quickfix window. Add ":hclose". (Chris Gaal) -Patch for :helpclose, Christian Brabandt, 2010 Sep 6. - When 'diffopt' has "context:0" a single deleted line causes two folds to merge and mess up syncing. (Austin Jennings, 2008 Jan 31) @@ -3048,6 +3073,8 @@ 8 Add hl groups to 'spelllang'? Diff mode: +9 When making small changes, e.g. deleting a character, update the diff. + Possibly without running diff. 9 Instead invoking an external diff program, use builtin code. One can be found here: http://www.ioplex.com/~miallen/libmba/dl/src/diff.c It's quite big and badly documented though. @@ -3942,7 +3969,6 @@ 8 When editing "tt.gz", which is in DO when exiting isn't a good idea. CursorHoldC - CursorHold while command-line editing WinMoved - when windows have been moved around, e.g, ":wincmd J" - CmdUndefined - Like FuncUndefined but for user commands. SearchPost - After doing a search command (e.g. to do "M") PreDirChanged/PostDirChanged - Before/after ":cd" has been used (for changing the
--- a/runtime/doc/usr_41.txt +++ b/runtime/doc/usr_41.txt @@ -1,4 +1,4 @@ -*usr_41.txt* For Vim version 7.4. Last change: 2014 May 28 +*usr_41.txt* For Vim version 7.4. Last change: 2014 Aug 16 VIM USER MANUAL - by Bram Moolenaar @@ -793,6 +793,7 @@ Command line: *command-line-function getcmdpos() get position of the cursor in the command line setcmdpos() set position of the cursor in the command line getcmdtype() return the current command-line type + getcmdwintype() return the current command-line window type Quickfix and location lists: *quickfix-functions* getqflist() list of quickfix errors
--- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -1,4 +1,4 @@ -*various.txt* For Vim version 7.4. Last change: 2014 May 22 +*various.txt* For Vim version 7.4. Last change: 2014 Aug 06 VIM REFERENCE MANUAL by Bram Moolenaar
--- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2014 Jul 23 +" Last Change: 2014 Aug 22 " Listen very carefully, I will say this only once if exists("did_load_filetypes") @@ -811,6 +811,9 @@ au BufNewFile,BufRead {,.}gitolite.rc,ex " Gnuplot scripts au BufNewFile,BufRead *.gpi setf gnuplot +" Go (Google) +au BufNewFile,BufRead *.go setf go + " GrADS scripts au BufNewFile,BufRead *.gs setf grads @@ -1145,7 +1148,7 @@ au BufNewFile,BufRead *.map setf map au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,README.md setf markdown " Mason -au BufNewFile,BufRead *.mason,*.mhtml setf mason +au BufNewFile,BufRead *.mason,*.mhtml,*.comp setf mason " Matlab or Objective C au BufNewFile,BufRead *.m call s:FTm()
new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/go.vim @@ -0,0 +1,18 @@ +" Vim filetype plugin file +" Language: Go +" Maintainer: David Barnett (https://github.com/google/vim-ft-go) +" Last Change: 2014 Aug 16 + +if exists('b:did_ftplugin') + finish +endif +let b:did_ftplugin = 1 + +setlocal formatoptions-=t + +setlocal comments=s1:/*,mb:*,ex:*/,:// +setlocal commentstring=//\ %s + +let b:undo_ftplugin = 'setl fo< com< cms<' + +" vim: sw=2 sts=2 et
--- a/runtime/ftplugin/vroom.vim +++ b/runtime/ftplugin/vroom.vim @@ -1,6 +1,6 @@ " Vim filetype plugin file " Language: Vroom (vim testing and executable documentation) -" Maintainer: David Barnett (https://github.com/google/vim-ft.vroom) +" Maintainer: David Barnett (https://github.com/google/vim-ft-vroom) " Last Change: 2014 Jul 23 if exists('b:did_ftplugin')
new file mode 100644 --- /dev/null +++ b/runtime/indent/go.vim @@ -0,0 +1,78 @@ +" Vim indent file +" Language: Go +" Maintainer: David Barnett (https://github.com/google/vim-ft-go) +" Last Change: 2014 Aug 16 +" +" TODO: +" - function invocations split across lines +" - general line splits (line ends in an operator) + +if exists('b:did_indent') + finish +endif +let b:did_indent = 1 + +" C indentation is too far off useful, mainly due to Go's := operator. +" Let's just define our own. +setlocal nolisp +setlocal autoindent +setlocal indentexpr=GoIndent(v:lnum) +setlocal indentkeys+=<:>,0=},0=) + +if exists('*GoIndent') + finish +endif + +" The shiftwidth() function is relatively new. +" Don't require it to exist. +if exists('*shiftwidth') + function s:sw() abort + return shiftwidth() + endfunction +else + function s:sw() abort + return &shiftwidth + endfunction +endif + +function! GoIndent(lnum) + let l:prevlnum = prevnonblank(a:lnum-1) + if l:prevlnum == 0 + " top of file + return 0 + endif + + " grab the previous and current line, stripping comments. + let l:prevl = substitute(getline(l:prevlnum), '//.*$', '', '') + let l:thisl = substitute(getline(a:lnum), '//.*$', '', '') + let l:previ = indent(l:prevlnum) + + let l:ind = l:previ + + if l:prevl =~ '[({]\s*$' + " previous line opened a block + let l:ind += s:sw() + endif + if l:prevl =~# '^\s*\(case .*\|default\):$' + " previous line is part of a switch statement + let l:ind += s:sw() + endif + " TODO: handle if the previous line is a label. + + if l:thisl =~ '^\s*[)}]' + " this line closed a block + let l:ind -= s:sw() + endif + + " Colons are tricky. + " We want to outdent if it's part of a switch ("case foo:" or "default:"). + " We ignore trying to deal with jump labels because (a) they're rare, and + " (b) they're hard to disambiguate from a composite literal key. + if l:thisl =~# '^\s*\(case .*\|default\):$' + let l:ind -= s:sw() + endif + + return l:ind +endfunction + +" vim: sw=2 sts=2 et
--- a/runtime/indent/sh.vim +++ b/runtime/indent/sh.vim @@ -2,7 +2,7 @@ " Language: Shell Script " Maintainer: Peter Aronoff <telemachus@arpinum.org> " Original Author: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2013-11-28 +" Latest Revision: 2014-08-22 if exists("b:did_indent") finish @@ -91,7 +91,9 @@ function! GetShIndent() if s:is_case(pine) let ind = indent(lnum) + s:indent_value('case-labels') else - let ind -= s:indent_value('case-statements') - s:indent_value('case-breaks') + let ind -= (s:is_case_label(pine, lnum) && s:is_case_ended(pine) ? + \ 0 : s:indent_value('case-statements')) - + \ s:indent_value('case-breaks') endif elseif s:is_case_break(line) let ind -= s:indent_value('case-breaks')
--- a/runtime/indent/vroom.vim +++ b/runtime/indent/vroom.vim @@ -1,6 +1,6 @@ " Vim indent file " Language: Vroom (vim testing and executable documentation) -" Maintainer: David Barnett (https://github.com/google/vim-ft.vroom) +" Maintainer: David Barnett (https://github.com/google/vim-ft-vroom) " Last Change: 2014 Jul 23 if exists('b:did_indent')
--- a/runtime/optwin.vim +++ b/runtime/optwin.vim @@ -1,7 +1,7 @@ " These commands create the option window. " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2014 Apr 01 +" Last Change: 2014 Aug 06 " If there already is an option window, jump to that one. if bufwinnr("option-window") > 0 @@ -606,6 +606,10 @@ if has("gui") call append("$", "guiheadroom\troom (in pixels) left above/below the window") call append("$", " \tset ghr=" . &ghr) endif + if has("directx") + call append("$", "renderoptions\toptions for text rendering") + call <SID>OptionG("rop", &rop) + endif call append("$", "guipty\tuse a pseudo-tty for I/O to external commands") call <SID>BinOptionG("guipty", &guipty) if has("browse")
--- a/runtime/synmenu.vim +++ b/runtime/synmenu.vim @@ -2,7 +2,7 @@ " This file is normally sourced from menu.vim. " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2013 Jun 24 +" Last Change: 2014 Aug 13 " Define the SetSyn function, used for the Syntax menu entries. " Set 'filetype' and also 'syntax' if it is manually selected. @@ -326,6 +326,7 @@ an 50.70.270 &Syntax.M.Messages\ (/var/l an 50.70.280 &Syntax.M.Metafont :cal SetSyn("mf")<CR> an 50.70.290 &Syntax.M.MetaPost :cal SetSyn("mp")<CR> an 50.70.300 &Syntax.M.MGL :cal SetSyn("mgl")<CR> +an 50.70.305 &Syntax.M.MIX :cal SetSyn("mix")<CR> an 50.70.310 &Syntax.M.MMIX :cal SetSyn("mmix")<CR> an 50.70.320 &Syntax.M.Modconf :cal SetSyn("modconf")<CR> an 50.70.330 &Syntax.M.Model :cal SetSyn("model")<CR>
--- a/runtime/syntax/gnuplot.vim +++ b/runtime/syntax/gnuplot.vim @@ -1,176 +1,505 @@ " Vim syntax file -" Language: gnuplot 3.8i.0 -" Maintainer: John Hoelzel johnh51@users.sourceforge.net -" Last Change: Mon May 26 02:33:33 UTC 2003 -" Filenames: *.gpi *.gih scripts: #!*gnuplot -" URL: http://johnh51.get.to/vim/syntax/gnuplot.vim -" +" Language: gnuplot 4.7.0 +" Maintainer: Andrew Rasmussen andyras@users.sourceforge.net +" Original Maintainer: John Hoelzel johnh51@users.sourceforge.net +" Last Change: 2014-02-24 +" Filenames: *.gnu *.plt *.gpi *.gih *.gp *.gnuplot scripts: #!*gnuplot +" URL: http://www.vim.org/scripts/script.php?script_id=4873 +" Original URL: http://johnh51.get.to/vim/syntax/gnuplot.vim + +" thanks to "David Necas (Yeti)" <yeti@physics.muni.cz> -" thanks to "David Necas (Yeti)" <yeti@physics.muni.cz> for heads up - working on more changes . -" *.gpi = GnuPlot Input - what I use because there is no other guideline. jeh 11/2000 -" *.gih = makes using cut/pasting from gnuplot.gih easier ... -" #!*gnuplot = for Linux bash shell scripts of gnuplot commands. -" emacs used a suffix of '<gp?>' -" gnuplot demo files show no preference. -" I will post mail and newsgroup comments on a standard suffix in 'URL' directory. +" credit also to Jim Eberle <jim.eberle@fastnlight.com> +" for the script http://www.vim.org/scripts/script.php?script_id=1737 -" For version 5.x: Clear all syntax items -" For version 6.x: Quit when a syntax file was already loaded +" some shortened names to make demo files look clean... jeh. 11/2000 +" demos -> 3.8i ... jeh. 5/2003 - a work in progress... +" added current commands, keywords, variables, todos, macros... amr 2014-02-24 + +" For vim version 5.x: Clear all syntax items +" For vim version 6.x: Quit when a syntax file was already loaded + if version < 600 syntax clear elseif exists("b:current_syntax") finish endif -" some shortened names to make demo files look clean... jeh. 11/2000 -" demos -> 3.8i ... jeh. 5/2003 - a work in progress... +" ---- Special characters ---- " + +" no harm in just matching any \[char] within double quotes, right? +syn match gnuplotSpecial "\\." contained +" syn match gnuplotSpecial "\\\o\o\o\|\\x\x\x\|\\c[^"]\|\\[a-z\\]" contained + +" measurements in the units in, cm and pt are special +syn match gnuplotUnit "[0-9]+in" +syn match gnuplotUnit "[0-9]+cm" +syn match gnuplotUnit "[0-9]+pt" -" commands +" external (shell) commands are special +syn region gnuplotExternal start="!" end="$" + +" ---- Comments ---- " + +syn region gnuplotComment start="#" end="$" contains=gnuplotTodo + +" ---- Constants ---- " + +" strings +syn region gnuplotString start=+"+ skip=+\\"+ end=+"+ contains=gnuplotSpecial +syn region gnuplotString start="'" end="'" -syn keyword gnuplotStatement cd call clear exit set unset plot splot help -syn keyword gnuplotStatement load pause quit fit rep[lot] if -syn keyword gnuplotStatement FIT_LIMIT FIT_MAXITER FIT_START_LAMBDA -syn keyword gnuplotStatement FIT_LAMBDA_FACTOR FIT_LOG FIT_SCRIPT -syn keyword gnuplotStatement print pwd reread reset save show test ! functions var -syn keyword gnuplotConditional if -" if is cond + stmt - ok? +" built-in variables +syn keyword gnuplotNumber GNUTERM GPVAL_TERM GPVAL_TERMOPTIONS GPVAL_SPLOT +syn keyword gnuplotNumber GPVAL_OUTPUT GPVAL_ENCODING GPVAL_VERSION +syn keyword gnuplotNumber GPVAL_PATCHLEVEL GPVAL_COMPILE_OPTIONS +syn keyword gnuplotNumber GPVAL_MULTIPLOT GPVAL_PLOT GPVAL_VIEW_ZSCALE +syn keyword gnuplotNumber GPVAL_TERMINALS GPVAL_pi GPVAL_NaN +syn keyword gnuplotNumber GPVAL_ERRNO GPVAL_ERRMSG GPVAL_PWD +syn keyword gnuplotNumber pi NaN GPVAL_LAST_PLOT GPVAL_TERM_WINDOWID +syn keyword gnuplotNumber GPVAL_X_MIN GPVAL_X_MAX GPVAL_X_LOG +syn keyword gnuplotNumber GPVAL_DATA_X_MIN GPVAL_DATA_X_MAX GPVAL_Y_MIN +syn keyword gnuplotNumber GPVAL_Y_MAX GPVAL_Y_LOG GPVAL_DATA_Y_MIN +syn keyword gnuplotNumber GPVAL_DATA_Y_MAX GPVAL_X2_MIN GPVAL_X2_MAX +syn keyword gnuplotNumber GPVAL_X2_LOG GPVAL_DATA_X2_MIN GPVAL_DATA_X2_MAX +syn keyword gnuplotNumber GPVAL_Y2_MIN GPVAL_Y2_MAX GPVAL_Y2_LOG +syn keyword gnuplotNumber GPVAL_DATA_Y2_MIN GPVAL_DATA_Y2_MAX GPVAL_Z_MIN +syn keyword gnuplotNumber GPVAL_Z_MAX GPVAL_Z_LOG GPVAL_DATA_Z_MIN +syn keyword gnuplotNumber GPVAL_DATA_Z_MAX GPVAL_CB_MIN GPVAL_CB_MAX +syn keyword gnuplotNumber GPVAL_CB_LOG GPVAL_DATA_CB_MIN GPVAL_DATA_CB_MAX +syn keyword gnuplotNumber GPVAL_T_MIN GPVAL_T_MAX GPVAL_T_LOG GPVAL_U_MIN +syn keyword gnuplotNumber GPVAL_U_MAX GPVAL_U_LOG GPVAL_V_MIN GPVAL_V_MAX +syn keyword gnuplotNumber GPVAL_V_LOG GPVAL_R_MIN GPVAL_R_LOG +syn keyword gnuplotNumber GPVAL_TERM_XMIN GPVAL_TERM_XMAX GPVAL_TERM_YMIN +syn keyword gnuplotNumber GPVAL_TERM_YMAX GPVAL_TERM_XSIZE +syn keyword gnuplotNumber GPVAL_TERM_YSIZE GPVAL_VIEW_MAP GPVAL_VIEW_ROT_X +syn keyword gnuplotNumber GPVAL_VIEW_ROT_Z GPVAL_VIEW_SCALE -" numbers fm c.vim +" function name variables +syn match gnuplotNumber "GPFUN_[a-zA-Z_]*" -" integer number, or floating point number without a dot and with "f". +" stats variables +syn keyword gnuplotNumber STATS_records STATS_outofrange STATS_invalid +syn keyword gnuplotNumber STATS_blank STATS_blocks STATS_columns STATS_min +syn keyword gnuplotNumber STATS_max STATS_index_min STATS_index_max +syn keyword gnuplotNumber STATS_lo_quartile STATS_median STATS_up_quartile +syn keyword gnuplotNumber STATS_mean STATS_stddev STATS_sum STATS_sumsq +syn keyword gnuplotNumber STATS_correlation STATS_slope STATS_intercept +syn keyword gnuplotNumber STATS_sumxy STATS_pos_min_y STATS_pos_max_y +syn keyword gnuplotNumber STATS_mean STATS_stddev STATS_mean_x STATS_sum_x +syn keyword gnuplotNumber STATS_stddev_x STATS_sumsq_x STATS_min_x +syn keyword gnuplotNumber STATS_max_x STATS_median_x STATS_lo_quartile_x +syn keyword gnuplotNumber STATS_up_quartile_x STATS_index_min_x +syn keyword gnuplotNumber STATS_index_max_x STATS_mean_y STATS_stddev_y +syn keyword gnuplotNumber STATS_sum_y STATS_sumsq_y STATS_min_y +syn keyword gnuplotNumber STATS_max_y STATS_median_y STATS_lo_quartile_y +syn keyword gnuplotNumber STATS_up_quartile_y STATS_index_min_y +syn keyword gnuplotNumber STATS_index_max_y STATS_correlation STATS_sumxy + +" deprecated fit variables +syn keyword gnuplotError FIT_LIMIT FIT_MAXITER FIT_START_LAMBDA +syn keyword gnuplotError FIT_LAMBDA_FACTOR FIT_LOG FIT_SCRIPT + +" numbers, from c.vim + +" integer number, or floating point number without a dot and with "f". syn case ignore syn match gnuplotNumber "\<[0-9]\+\(u\=l\=\|lu\|f\)\>" -" floating point number, with dot, optional exponent + +" floating point number, with dot, optional exponent syn match gnuplotFloat "\<[0-9]\+\.[0-9]*\(e[-+]\=[0-9]\+\)\=[fl]\=\>" -" floating point number, starting with a dot, optional exponent + +" floating point number, starting with a dot, optional exponent syn match gnuplotFloat "\.[0-9]\+\(e[-+]\=[0-9]\+\)\=[fl]\=\>" -" floating point number, without dot, with exponent + +" floating point number, without dot, with exponent syn match gnuplotFloat "\<[0-9]\+e[-+]\=[0-9]\+[fl]\=\>" -" hex number + +" hex number syn match gnuplotNumber "\<0x[0-9a-f]\+\(u\=l\=\|lu\)\>" syn case match -" flag an octal number with wrong digits by not hilighting + +" flag an octal number with wrong digits by not highlighting syn match gnuplotOctalError "\<0[0-7]*[89]" -" plot args +" ---- Identifiers: Functions ---- " + +" numerical functions +syn keyword gnuplotFunc abs acos acosh airy arg asin asinh atan atan2 +syn keyword gnuplotFunc atanh EllipticK EllipticE EllipticPi besj0 besj1 +syn keyword gnuplotFunc besy0 besy1 ceil cos cosh erf erfc exp expint +syn keyword gnuplotFunc floor gamma ibeta inverf igamma imag invnorm int +syn keyword gnuplotFunc lambertw lgamma log log10 norm rand real sgn sin +syn keyword gnuplotFunc sin sinh sqrt tan tanh voigt + +" string functions +syn keyword gnuplotFunc gprintf sprintf strlen strstrt substr strftime +syn keyword gnuplotFunc strptime system word words + +" other functions +syn keyword gnuplotFunc column columnhead columnheader defined exists +syn keyword gnuplotFunc hsv2rgb stringcolumn timecolumn tm_hour tm_mday +syn keyword gnuplotFunc tm_min tm_mon tm_sec tm_wday tm_yday tm_year +syn keyword gnuplotFunc time valid value -syn keyword gnuplotType u[sing] tit[le] notit[le] wi[th] steps fs[teps] -syn keyword gnuplotType title notitle t -syn keyword gnuplotType with w -syn keyword gnuplotType li[nes] l -" t - too much? w - too much? l - too much? -syn keyword gnuplotType linespoints via +" ---- Statements ---- " + +" common (builtin) variable names +syn keyword gnuplotKeyword x y t u v z s + +" conditionals +syn keyword gnuplotConditional if else + +" repeats +syn keyword gnuplotRepeat do for while -" funcs +" operators +syn match gnuplotOperator "[-+*/^|&?:]" +syn match gnuplotOperator "\*\*" +syn match gnuplotOperator "&&" +syn match gnuplotOperator "||" + +" Keywords + +" keywords for 'fit' command +syn keyword gnuplotKeyword via z x:z x:z:s x:y:z:s +syn keyword gnuplotKeyword x:y:t:z:s x:y:t:u:z:s x:y:t:u:v:z:s -syn keyword gnuplotFunc abs acos acosh arg asin asinh atan atanh atan2 -syn keyword gnuplotFunc besj0 besj1 besy0 besy1 -syn keyword gnuplotFunc ceil column cos cosh erf erfc exp floor gamma -syn keyword gnuplotFunc ibeta inverf igamma imag invnorm int lgamma -syn keyword gnuplotFunc log log10 norm rand real sgn sin sinh sqrt tan -syn keyword gnuplotFunc lambertw -syn keyword gnuplotFunc tanh valid -syn keyword gnuplotFunc tm_hour tm_mday tm_min tm_mon tm_sec -syn keyword gnuplotFunc tm_wday tm_yday tm_year +" keywords for 'plot' command +" 'axes' keyword +syn keyword gnuplotKeyword axes x1y1 x1y2 x2y1 x2y2 +" 'binary' keyword +syn keyword gnuplotKeyword binary matrix general array record format endian +syn keyword gnuplotKeyword filetype avs edf png scan transpose dx dy dz +syn keyword gnuplotKeyword flipx flipy flipz origin center rotate using +syn keyword gnuplotKeyword perpendicular skip every +" datafile keywords +syn keyword gnuplotKeyword binary nonuniform matrix index every using +syn keyword gnuplotKeyword smooth volatile noautoscale every index +" 'smooth' keywords +syn keyword gnuplotKeyword unique frequency cumulative cnormal kdensity +syn keyword gnuplotKeyword csplines acsplines bezer sbezier +" deprecated 'thru' keyword +syn keyword gnuplotError thru +" 'using' keyword +syn keyword gnuplotKeyword using u xticlabels yticlabels zticlabels +syn keyword gnuplotKeyword x2ticlabels y2ticlabels xtic ytic ztic +" 'errorbars' keywords +syn keyword gnuplotKeyword errorbars xerrorbars yerrorbars xyerrorbars +" 'errorlines' keywords +syn keyword gnuplotKeyword errorlines xerrorlines yerrorlines xyerrorlines +" 'title' keywords +syn keyword gnuplotKeyword title t tit notitle columnheader at beginning +syn keyword gnuplotKeyword end +" 'with' keywords +syn keyword gnuplotKeyword with w linestyle ls linetype lt linewidth +syn keyword gnuplotKeyword lw linecolor lc pointtype pt pointsize ps +syn keyword gnuplotKeyword fill fs nohidden3d nocontours nosurface palette +" styles for 'with' +syn keyword gnuplotKeyword lines l points p linespoints lp surface dots +syn keyword gnuplotKeyword impulses labels vectors steps fsteps histeps +syn keyword gnuplotKeyword errorbars errorlines financebars xerrorbars +syn keyword gnuplotKeyword xerrorlines xyerrorbars yerrorbars yerrorlines +syn keyword gnuplotKeyword boxes boxerrorbars boxxyerrorbars boxplot +syn keyword gnuplotKeyword candlesticks circles ellipses filledcurves +syn keyword gnuplotKeyword histogram image rgbimage rgbalpha pm3d variable -" set vars +" keywords for 'save' command +syn keyword gnuplotKeyword save functions func variables all var terminal +syn keyword gnuplotKeyword term set -syn keyword gnuplotType xdata timefmt grid noytics ytics fs -syn keyword gnuplotType logscale time notime mxtics nomxtics style mcbtics -syn keyword gnuplotType nologscale -syn keyword gnuplotType axes x1y2 unique acs[plines] -syn keyword gnuplotType size origin multiplot xtics xr[ange] yr[ange] square nosquare ratio noratio -syn keyword gnuplotType binary matrix index every thru sm[ooth] -syn keyword gnuplotType all angles degrees radians -syn keyword gnuplotType arrow noarrow autoscale noautoscale arrowstyle -" autoscale args = x y xy z t ymin ... - too much? -" needs code to: using title vs autoscale t -syn keyword gnuplotType x y z zcb -syn keyword gnuplotType linear cubicspline bspline order level[s] -syn keyword gnuplotType auto disc[rete] incr[emental] from to head nohead -syn keyword gnuplotType graph base both nosurface table out[put] data -syn keyword gnuplotType bar border noborder boxwidth -syn keyword gnuplotType clabel noclabel clip noclip cntrp[aram] -syn keyword gnuplotType contour nocontour -syn keyword gnuplotType dgrid3d nodgrid3d dummy encoding format -" set encoding args not included - yet. -syn keyword gnuplotType function grid nogrid hidden[3d] nohidden[3d] isosample[s] key nokey -syn keyword gnuplotType historysize nohistorysize -syn keyword gnuplotType defaults offset nooffset trianglepattern undefined noundefined altdiagonal bentover noaltdiagonal nobentover -syn keyword gnuplotType left right top bottom outside below samplen spacing width height box nobox linestyle ls linetype lt linewidth lw -syn keyword gnuplotType Left Right autotitles noautotitles enhanced noenhanced -syn keyword gnuplotType isosamples -syn keyword gnuplotType label nolabel logscale nolog[scale] missing center font locale -syn keyword gnuplotType mapping margin bmargin lmargin rmargin tmargin spherical cylindrical cartesian -syn keyword gnuplotType linestyle nolinestyle linetype lt linewidth lw pointtype pt pointsize ps -syn keyword gnuplotType mouse nomouse -syn keyword gnuplotType nooffsets data candlesticks financebars linespoints lp vector nosurface -syn keyword gnuplotType term[inal] linux aed767 aed512 gpic -syn keyword gnuplotType regis tek410x tek40 vttek kc-tek40xx -syn keyword gnuplotType km-tek40xx selanar bitgraph xlib x11 X11 -" x11 args -syn keyword gnuplotType aifm cgm dumb fig gif small large size nofontlist winword6 corel dxf emf -syn keyword gnuplotType hpgl -" syn keyword gnuplotType transparent hp2623a hp2648 hp500c pcl5 why jeh -syn keyword gnuplotType hp2623a hp2648 hp500c pcl5 -syn match gnuplotType "\<transparent\>" -syn keyword gnuplotType hpljii hpdj hppj imagen mif pbm png svg -syn keyword gnuplotType postscript enhanced_postscript qms table -" postscript editing values? -syn keyword gnuplotType tgif tkcanvas epson-180dpi epson-60dpi -syn keyword gnuplotType epson-lx800 nec-cp6 okidata starc -syn keyword gnuplotType tandy-60dpi latex emtex pslatex pstex epslatex -syn keyword gnuplotType eepic tpic pstricks texdraw mf metafont mpost mp -syn keyword gnuplotType timestamp notimestamp -syn keyword gnuplotType variables version -syn keyword gnuplotType x2data y2data ydata zdata -syn keyword gnuplotType reverse writeback noreverse nowriteback -syn keyword gnuplotType axis mirror autofreq nomirror rotate autofreq norotate -syn keyword gnuplotType update -syn keyword gnuplotType multiplot nomultiplot mytics -syn keyword gnuplotType nomytics mztics nomztics mx2tics nomx2tics -syn keyword gnuplotType my2tics nomy2tics offsets origin output -syn keyword gnuplotType para[metric] nopara[metric] pointsize polar nopolar -syn keyword gnuplotType zrange x2range y2range rrange cbrange -syn keyword gnuplotType trange urange vrange sample[s] size -syn keyword gnuplotType bezier boxerrorbars boxes bargraph bar[s] -syn keyword gnuplotType boxxy[errorbars] csplines dots fsteps histeps impulses -syn keyword gnuplotType line[s] linesp[oints] points poiinttype sbezier splines steps -" w lt lw ls = optional -syn keyword gnuplotType vectors xerr[orbars] xyerr[orbars] yerr[orbars] financebars candlesticks vector -syn keyword gnuplotType errorb[ars] surface -syn keyword gnuplotType filledcurve[s] pm3d x1 x2 y1 y2 xy closed -syn keyword gnuplotType at pi front -syn keyword gnuplotType errorlines xerrorlines yerrorlines xyerrorlines -syn keyword gnuplotType tics ticslevel ticscale time timefmt view -syn keyword gnuplotType xdata xdtics noxdtics ydtics noydtics -syn keyword gnuplotType zdtics nozdtics x2dtics nox2dtics y2dtics noy2dtics -syn keyword gnuplotType xlab[el] ylab[el] zlab[el] cblab[el] x2label y2label xmtics -syn keyword gnuplotType xmtics noxmtics ymtics noymtics zmtics nozmtics -syn keyword gnuplotType x2mtics nox2mtics y2mtics noy2mtics -syn keyword gnuplotType cbdtics nocbdtics cbmtics nocbmtics cbtics nocbtics -syn keyword gnuplotType xtics noxtics ytics noytics -syn keyword gnuplotType ztics noztics x2tics nox2tics -syn keyword gnuplotType y2tics noy2tics zero nozero zeroaxis nozeroaxis -syn keyword gnuplotType xzeroaxis noxzeroaxis yzeroaxis noyzeroaxis -syn keyword gnuplotType x2zeroaxis nox2zeroaxis y2zeroaxis noy2zeroaxis -syn keyword gnuplotType angles one two fill empty solid pattern -syn keyword gnuplotType default -syn keyword gnuplotType scansautomatic flush b[egin] noftriangles implicit -" b too much? - used in demo -syn keyword gnuplotType palette positive negative ps_allcF nops_allcF maxcolors -syn keyword gnuplotType push fontfile pop -syn keyword gnuplotType rgbformulae defined file color model gradient colornames -syn keyword gnuplotType RGB HSV CMY YIQ XYZ -syn keyword gnuplotType colorbox vertical horizontal user bdefault -syn keyword gnuplotType loadpath fontpath decimalsign in out +" keywords for 'set/show' command +" set angles +syn keyword gnuplotKeyword angles degrees deg radians rad +" set arrow +syn keyword gnuplotKeyword arrow from to rto length angle arrowstyle as +syn keyword gnuplotKeyword nohead head backhead heads size filled empty +syn keyword gnuplotKeyword nofilled front back linestyle linetype linewidth +" set autoscale +" TODO regexp here +syn keyword gnuplotKeyword autoscale x y z cb x2 y2 zy min max fixmin +syn keyword gnuplotKeyword fixmax fix keepfix noextend +" set bars +syn keyword gnuplotKeyword bars small large fullwidth front back +" set bind +syn keyword gnuplotKeyword bind +" set margins +" TODO regexp +syn keyword gnuplotKeyword margin bmargin lmargin rmargin tmargin +" set border +syn keyword gnuplotKeyword border front back +" set boxwidth +syn keyword gnuplotKeyword boxwidth absolute relative +" deprecated set clabel +syn keyword gnuplotError clabel +" set clip +syn keyword gnuplotKeyword clip points one two +" set cntrlabel +syn keyword gnuplotKeyword cntrlabel format font start interval onecolor +" set cntrparam +syn keyword gnuplotKeyword cntrparam linear cubicspline bspline points +syn keyword gnuplotKeyword order levels auto discrete incremental +" set colorbox +syn keyword gnuplotKeyword colorbox vertical horizontal default user origin +syn keyword gnuplotKeyword size front back noborder bdefault border +" show colornames +syn keyword gnuplotKeyword colornames +" set contour +syn keyword gnuplotKeyword contour base surface both +" set datafile +syn keyword gnuplotKeyword datafile fortran nofpe_trap missing separator +syn keyword gnuplotKeyword whitespace tab comma commentschars binary +" set decimalsign +syn keyword gnuplotKeyword decimalsign locale +" set dgrid3d +syn keyword gnuplotKeyword dgrid3d splines qnorm gauss cauchy exp box hann +syn keyword gnuplotKeyword kdensity +" set dummy +syn keyword gnuplotKeyword dummy +" set encoding +syn keyword gnuplotKeyword encoding default iso_8859_1 iso_8859_15 +syn keyword gnuplotKeyword iso_8859_2 iso_8859_9 koi8r koi8u cp437 cp850 +syn keyword gnuplotKeyword cp852 cp950 cp1250 cp1251 cp1254 sjis utf8 +" set fit +syn keyword gnuplotKeyword fit logfile default quiet noquiet results brief +syn keyword gnuplotKeyword verbose errorvariables noerrorvariables +syn keyword gnuplotKeyword errorscaling noerrorscaling prescale noprescale +syn keyword gnuplotKeyword maxiter none limit limit_abs start-lambda script +syn keyword gnuplotKeyword lambda-factor +" set fontpath +syn keyword gnuplotKeyword fontpath +" set format +syn keyword gnuplotKeyword format +" show functions +syn keyword gnuplotKeyword functions +" set grid +syn keyword gnuplotKeyword grid polar layerdefault xtics ytics ztics x2tics +syn keyword gnuplotKeyword y2tics cbtics mxtics mytics mztics mx2tics +syn keyword gnuplotKeyword my2tics mcbtics xmtics ymtics zmtics x2mtics +syn keyword gnuplotKeyword y2mtics cbmtics noxtics noytics noztics nox2tics +syn keyword gnuplotKeyword noy2tics nocbtics nomxtics nomytics nomztics +syn keyword gnuplotKeyword nomx2tics nomy2tics nomcbtics +" set hidden3d +syn keyword gnuplotKeyword hidden3d offset trianglepattern undefined +syn keyword gnuplotKeyword altdiagonal noaltdiagonal bentover nobentover +syn keyword gnuplotKeyword noundefined +" set historysize +syn keyword gnuplotKeyword historysize +" set isosamples +syn keyword gnuplotKeyword isosamples +" set key +syn keyword gnuplotKeyword key on off inside outside at left right center +syn keyword gnuplotKeyword top bottom vertical horizontal Left Right +syn keyword gnuplotKeyword opaque noopaque reverse noreverse invert maxrows +syn keyword gnuplotKeyword noinvert samplen spacing width height autotitle +syn keyword gnuplotKeyword noautotitle title enhanced noenhanced font +syn keyword gnuplotKeyword textcolor box nobox linetype linewidth maxcols +" set label +syn keyword gnuplotKeyword label left center right rotate norotate by font +syn keyword gnuplotKeyword front back textcolor point nopoint offset boxed +syn keyword gnuplotKeyword hypertext +" set linetype +syn keyword gnuplotKeyword linetype +" set link +syn keyword gnuplotKeyword link via inverse +" set loadpath +syn keyword gnuplotKeyword loadpath +" set locale +syn keyword gnuplotKeyword locale +" set logscale +syn keyword gnuplotKeyword logscale log +" set macros +syn keyword gnuplotKeyword macros +" set mapping +syn keyword gnuplotKeyword mapping cartesian spherical cylindrical +" set mouse +syn keyword gnuplotKeyword mouse doubleclick nodoubleclick zoomcoordinates +syn keyword gnuplotKeyword nozoomcoordinates ruler noruler at polardistance +syn keyword gnuplotKeyword nopolardistance deg tan format clipboardformat +syn keyword gnuplotKeyword mouseformat labels nolabels zoomjump nozoomjump +syn keyword gnuplotKeyword verbose noverbose +" set multiplot +syn keyword gnuplotKeyword multiplot title font layout rowsfirst downwards +syn keyword gnuplotKeyword downwards upwards scale offset +" set object +syn keyword gnuplotKeyword object behind fillcolor fc fs rectangle ellipse +syn keyword gnuplotKeyword circle polygon at center size units xy xx yy to +syn keyword gnuplotKeyword from +" set offsets +syn keyword gnuplotKeyword offsets +" set origin +syn keyword gnuplotKeyword origin +" set output +syn keyword gnuplotKeyword output +" set parametric +syn keyword gnuplotKeyword parametric +" show plot +syn keyword gnuplotKeyword plot add2history +" set pm3d +syn keyword gnuplotKeyword hidden3d interpolate scansautomatic scansforward +syn keyword gnuplotKeyword scansbackward depthorder flush begin center end +syn keyword gnuplotKeyword ftriangles noftriangles clip1in clip4in mean map +syn keyword gnuplotKeyword corners2color geomean harmean rms median min max +syn keyword gnuplotKeyword c1 c2 c3 c4 pm3d at nohidden3d implicit explicit +" set palette +syn keyword gnuplotKeyword palette gray color gamma rgbformulae defined +syn keyword gnuplotKeyword file functions cubehelix start cycles saturation +syn keyword gnuplotKeyword model RGB HSV CMY YIQ XYZ positive negative +syn keyword gnuplotKeyword nops_allcF ps_allcF maxcolors float int gradient +syn keyword gnuplotKeyword fit2rgbformulae rgbformulae +" set pointintervalbox +syn keyword gnuplotKeyword pointintervalbox +" set pointsize +syn keyword gnuplotKeyword pointsize +" set polar +syn keyword gnuplotKeyword polar +" set print +syn keyword gnuplotKeyword print append +" set psdir +syn keyword gnuplotKeyword psdir +" set raxis +syn keyword gnuplotKeyword raxis rrange rtics +" set samples +syn keyword gnuplotKeyword samples +" set size +syn keyword gnuplotKeyword size square nosquare ratio noratio +" set style +syn keyword gnuplotKeyword style function data noborder rectangle arrow +syn keyword gnuplotKeyword default nohead head heads size filled empty +syn keyword gnuplotKeyword nofilled front back boxplot range fraction +syn keyword gnuplotKeyword outliers nooutliers pointtype candlesticks +syn keyword gnuplotKeyword separation labels off auto x x2 sorted unsorted +syn keyword gnuplotKeyword fill empty transparent solid pattern border +syn keyword gnuplotKeyword increment userstyles financebars line default +syn keyword gnuplotKeyword linetype lt linecolor lc linewidth lw pointtype +syn keyword gnuplotKeyword pt pointsize ps pointinterval pi palette circle +syn keyword gnuplotKeyword radius graph screen wedge nowedge ellipse size +syn keyword gnuplotKeyword units xx xy yy histogram line textbox opaque +syn keyword gnuplotKeyword border noborder +" set surface +syn keyword gnuplotKeyword surface implicit explicit +" set table +syn keyword gnuplotKeyword table +" set terminal (list of terminals) +syn keyword gnuplotKeyword terminal term push pop aed512 aed767 aifm aqua +syn keyword gnuplotKeyword be cairo cairolatex canvas cgm context corel +syn keyword gnuplotKeyword debug dumb dxf dxy800a eepic emf emxvga epscairo +syn keyword gnuplotKeyword epslatex epson_180dpi excl fig ggi gif gpic hpgl +syn keyword gnuplotKeyword grass hp2623a hp2648 hp500c hpljii hppj imagen +syn keyword gnuplotKeyword jpeg kyo latex linux lua mf mif mp next openstep +syn keyword gnuplotKeyword pbm pdf pdfcairo pm png pngcairo postscript +syn keyword gnuplotKeyword pslatex pstex pstricks qms qt regis sun svg svga +syn keyword gnuplotKeyword tek40 tek410x texdraw tgif tikz tkcanvas tpic +syn keyword gnuplotKeyword vgagl vws vx384 windows wx wxt x11 xlib +" keywords for 'set terminal' +syn keyword gnuplotKeyword color monochrome dashlength dl eps pdf fontscale +syn keyword gnuplotKeyword standalone blacktext colortext colourtext header +syn keyword gnuplotKeyword noheader mono color solid dashed notransparent +syn keyword gnuplotKeyword crop crop background input rounded butt square +syn keyword gnuplotKeyword size fsize standalone name jsdir defaultsize +syn keyword gnuplotKeyword timestamp notimestamp colour mitered beveled +syn keyword gnuplotKeyword round squared palfuncparam blacktext nec_cp6 +syn keyword gnuplotKeyword mppoints inlineimages externalimages defaultfont +syn keyword gnuplotKeyword aspect feed nofeed rotate small tiny standalone +syn keyword gnuplotKeyword oldstyle newstyle level1 leveldefault level3 +syn keyword gnuplotKeyword background nobackground solid clip noclip +syn keyword gnuplotKeyword colortext colourtext epson_60dpi epson_lx800 +syn keyword gnuplotKeyword okidata starc tandy_60dpi dpu414 nec_cp6 draft +syn keyword gnuplotKeyword medium large normal landscape portrait big +syn keyword gnuplotKeyword inches pointsmax textspecial texthidden +syn keyword gnuplotKeyword thickness depth version acceleration giant +syn keyword gnuplotKeyword delay loop optimize nooptimize pspoints +syn keyword gnuplotKeyword FNT9X17 FNT13X25 interlace nointerlace courier +syn keyword gnuplotKeyword originreset nooriginreset gparrows nogparrows +syn keyword gnuplotKeyword picenvironment nopicenvironment tightboundingbox +syn keyword gnuplotKeyword notightboundingbox charsize gppoints nogppoints +syn keyword gnuplotKeyword fontscale textscale fulldoc nofulldoc standalone +syn keyword gnuplotKeyword preamble header tikzplot tikzarrows notikzarrows +syn keyword gnuplotKeyword cmykimages externalimages noexternalimages +syn keyword gnuplotKeyword polyline vectors magnification psnfss nopsnfss +syn keyword gnuplotKeyword psnfss-version7 prologues a4paper amstex fname +syn keyword gnuplotKeyword fsize server persist widelines interlace +syn keyword gnuplotKeyword truecolor notruecolor defaultplex simplex duplex +syn keyword gnuplotKeyword nofontfiles adobeglyphnames noadobeglyphnames +syn keyword gnuplotKeyword nostandalone metric textrigid animate nopspoints +syn keyword gnuplotKeyword hpdj FNT5X9 roman emtex rgbimages bitmap +syn keyword gnuplotKeyword nobitmap providevars nointerlace add delete +syn keyword gnuplotKeyword auxfile hacktext unit raise palfuncparam +syn keyword gnuplotKeyword noauxfile nohacktext nounit noraise ctrl noctrl +syn keyword gnuplotKeyword close widget fixed dynamic tek40xx vttek +syn keyword gnuplotKeyword kc-tek40xx km-tek40xx bitgraph perltk +syn keyword gnuplotKeyword interactive red green blue interpolate mode +syn keyword gnuplotKeyword position ctrlq replotonresize position noctrlq +syn keyword gnuplotKeyword noreplotonresize +" set termoption +syn keyword gnuplotKeyword termoption font fontscale solid dashed +" set tics +syn keyword gnuplotKeyword tics add axis border mirror nomirror in out +syn keyword gnuplotKeyword scale rotate norotate by offset nooffset left +syn keyword gnuplotKeyword autojustify format font textcolor right center +" deprecated set ticslevel +syn keyword gnuplotError ticslevel ticscale +" set timestamp +syn keyword gnuplotKeyword timestamp top bottom offset font +" set timefmt +syn keyword gnuplotKeyword timefmt +" set title +syn keyword gnuplotKeyword title offset font textcolor tc +" set ranges +syn keyword gnuplotKeyword trange urange vrange +" show variables +syn keyword gnuplotKeyword variables +" show version +syn keyword gnuplotKeyword version +" set view +syn keyword gnuplotKeyword view map equal noequal xy xyz +" set x2data +syn keyword gnuplotKeyword xdata ydata zdata x2data y2data cbdata xdtics +syn keyword gnuplotKeyword ydtics zdtics x2dtics y2dtics cbdtics xzeroaxis +syn keyword gnuplotKeyword yzeroaxis zzeroaxis x2zeroaxis y2zeroaxis +syn keyword gnuplotKeyword cbzeroaxis time geographic +" set label +syn keyword gnuplotKeyword xlabel ylabel zlabel x2label y2label cblabel +syn keyword gnuplotKeyword offset font textcolor by parallel +" set range +syn keyword gnuplotKeyword xrange yrange zrange x2range y2range cbrange +" set xyplane +syn keyword gnuplotKeyword xyplane +" set zeroaxis +" set zero +syn keyword gnuplotKeyword zero +" set zeroaxis +syn keyword gnuplotKeyword zeroaxis -" comments + strings -syn region gnuplotComment start="#" end="$" -syn region gnuplotComment start=+"+ skip=+\\"+ end=+"+ -syn region gnuplotComment start=+'+ end=+'+ +" keywords for 'stats' command +syn keyword gnuplotKeyword nooutput + +" keywords for 'test' command +syn keyword gnuplotKeyword terminal palette rgb rbg grb gbr brg bgr + +" ---- Macros ---- " + +syn region gnuplotMacro start="@" end=" " + +" ---- Todos ---- " + +syn keyword gnuplotTodo contained TODO FIXME XXX -" Define the default highlighting. +" ---- Types: gnuplot commands ---- " + +" I set the commands as Types to distinguish them visually from keywords for the +" commands. This comes at the end of the syntax file because some commands +" are redundant with keywords. It's probably too much trouble to go and +" create special regions for each redundant keyword/command pair, which means +" that some keywords (e.g. 'p') will be highlighted as commands. + +syn keyword gnuplotStatement cd call clear evaluate exit fit help history +syn keyword gnuplotStatement load lower pause plot p print pwd quit raise +syn keyword gnuplotStatement refresh replot rep reread reset save set show +syn keyword gnuplotStatement shell splot spstats system test undefine unset +syn keyword gnuplotStatement update + +" ---- Define the default highlighting ---- " " For version 5.7 and earlier: only when not done already " For version 5.8 and later: only when an item doesn't have highlighting yet if version >= 508 || !exists("did_gnuplot_syntax_inits") @@ -181,14 +510,41 @@ if version >= 508 || !exists("did_gnuplo command -nargs=+ HiLink hi def link <args> endif - HiLink gnuplotStatement Statement - HiLink gnuplotConditional Conditional + " ---- Comments ---- " + HiLink gnuplotComment Comment + + " ---- Constants ---- " + HiLink gnuplotString String HiLink gnuplotNumber Number HiLink gnuplotFloat Float + + " ---- Identifiers ---- " + HiLink gnuplotIdentifier Identifier + + " ---- Statements ---- " + HiLink gnuplotConditional Conditional + HiLink gnuplotRepeat Repeat + HiLink gnuplotKeyword Keyword + HiLink gnuplotOperator Operator + + " ---- PreProcs ---- " + HiLink gnuplotMacro Macro + + " ---- Types ---- " + HiLink gnuplotStatement Type + HiLink gnuplotFunc Identifier + + " ---- Specials ---- " + HiLink gnuplotSpecial Special + HiLink gnuplotUnit Special + HiLink gnuplotExternal Special + + " ---- Errors ---- " + HiLink gnuplotError Error HiLink gnuplotOctalError Error - HiLink gnuplotFunc Type - HiLink gnuplotType Type - HiLink gnuplotComment Comment + + " ---- Todos ---- " + HiLink gnuplotTodo Todo delcommand HiLink endif
new file mode 100644 --- /dev/null +++ b/runtime/syntax/go.vim @@ -0,0 +1,208 @@ +" Vim syntax file +" Language: Go +" Maintainer: David Barnett (https://github.com/google/vim-ft-go) +" Last Change: 2014 Aug 16 + +" Options: +" There are some options for customizing the highlighting; the recommended +" settings are the default values, but you can write: +" let OPTION_NAME = 0 +" in your ~/.vimrc file to disable particular options. You can also write: +" let OPTION_NAME = 1 +" to enable particular options. At present, all options default to on. +" +" - g:go_highlight_array_whitespace_error +" Highlights white space after "[]". +" - g:go_highlight_chan_whitespace_error +" Highlights white space around the communications operator that don't +" follow the standard style. +" - g:go_highlight_extra_types +" Highlights commonly used library types (io.Reader, etc.). +" - g:go_highlight_space_tab_error +" Highlights instances of tabs following spaces. +" - g:go_highlight_trailing_whitespace_error +" Highlights trailing white space. + +" Quit when a (custom) syntax file was already loaded +if exists('b:current_syntax') + finish +endif + +if !exists('g:go_highlight_array_whitespace_error') + let g:go_highlight_array_whitespace_error = 1 +endif +if !exists('g:go_highlight_chan_whitespace_error') + let g:go_highlight_chan_whitespace_error = 1 +endif +if !exists('g:go_highlight_extra_types') + let g:go_highlight_extra_types = 1 +endif +if !exists('g:go_highlight_space_tab_error') + let g:go_highlight_space_tab_error = 1 +endif +if !exists('g:go_highlight_trailing_whitespace_error') + let g:go_highlight_trailing_whitespace_error = 1 +endif + +syn case match + +syn keyword goDirective package import +syn keyword goDeclaration var const type +syn keyword goDeclType struct interface + +hi def link goDirective Statement +hi def link goDeclaration Keyword +hi def link goDeclType Keyword + +" Keywords within functions +syn keyword goStatement defer go goto return break continue fallthrough +syn keyword goConditional if else switch select +syn keyword goLabel case default +syn keyword goRepeat for range + +hi def link goStatement Statement +hi def link goConditional Conditional +hi def link goLabel Label +hi def link goRepeat Repeat + +" Predefined types +syn keyword goType chan map bool string error +syn keyword goSignedInts int int8 int16 int32 int64 rune +syn keyword goUnsignedInts byte uint uint8 uint16 uint32 uint64 uintptr +syn keyword goFloats float32 float64 +syn keyword goComplexes complex64 complex128 + +hi def link goType Type +hi def link goSignedInts Type +hi def link goUnsignedInts Type +hi def link goFloats Type +hi def link goComplexes Type + +" Treat func specially: it's a declaration at the start of a line, but a type +" elsewhere. Order matters here. +syn match goType /\<func\>/ +syn match goDeclaration /^func\>/ + +" Predefined functions and values +syn keyword goBuiltins append cap close complex copy delete imag len +syn keyword goBuiltins make new panic print println real recover +syn keyword goConstants iota true false nil + +hi def link goBuiltins Keyword +hi def link goConstants Keyword + +" Comments; their contents +syn keyword goTodo contained TODO FIXME XXX BUG +syn cluster goCommentGroup contains=goTodo +syn region goComment start="/\*" end="\*/" contains=@goCommentGroup,@Spell +syn region goComment start="//" end="$" contains=@goCommentGroup,@Spell + +hi def link goComment Comment +hi def link goTodo Todo + +" Go escapes +syn match goEscapeOctal display contained "\\[0-7]\{3}" +syn match goEscapeC display contained +\\[abfnrtv\\'"]+ +syn match goEscapeX display contained "\\x\x\{2}" +syn match goEscapeU display contained "\\u\x\{4}" +syn match goEscapeBigU display contained "\\U\x\{8}" +syn match goEscapeError display contained +\\[^0-7xuUabfnrtv\\'"]+ + +hi def link goEscapeOctal goSpecialString +hi def link goEscapeC goSpecialString +hi def link goEscapeX goSpecialString +hi def link goEscapeU goSpecialString +hi def link goEscapeBigU goSpecialString +hi def link goSpecialString Special +hi def link goEscapeError Error + +" Strings and their contents +syn cluster goStringGroup contains=goEscapeOctal,goEscapeC,goEscapeX,goEscapeU,goEscapeBigU,goEscapeError +syn region goString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@goStringGroup +syn region goRawString start=+`+ end=+`+ + +hi def link goString String +hi def link goRawString String + +" Characters; their contents +syn cluster goCharacterGroup contains=goEscapeOctal,goEscapeC,goEscapeX,goEscapeU,goEscapeBigU +syn region goCharacter start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@goCharacterGroup + +hi def link goCharacter Character + +" Regions +syn region goBlock start="{" end="}" transparent fold +syn region goParen start='(' end=')' transparent + +" Integers +syn match goDecimalInt "\<\d\+\([Ee]\d\+\)\?\>" +syn match goHexadecimalInt "\<0x\x\+\>" +syn match goOctalInt "\<0\o\+\>" +syn match goOctalError "\<0\o*[89]\d*\>" + +hi def link goDecimalInt Integer +hi def link goHexadecimalInt Integer +hi def link goOctalInt Integer +hi def link Integer Number + +" Floating point +syn match goFloat "\<\d\+\.\d*\([Ee][-+]\d\+\)\?\>" +syn match goFloat "\<\.\d\+\([Ee][-+]\d\+\)\?\>" +syn match goFloat "\<\d\+[Ee][-+]\d\+\>" + +hi def link goFloat Float + +" Imaginary literals +syn match goImaginary "\<\d\+i\>" +syn match goImaginary "\<\d\+\.\d*\([Ee][-+]\d\+\)\?i\>" +syn match goImaginary "\<\.\d\+\([Ee][-+]\d\+\)\?i\>" +syn match goImaginary "\<\d\+[Ee][-+]\d\+i\>" + +hi def link goImaginary Number + +" Spaces after "[]" +if go_highlight_array_whitespace_error != 0 + syn match goSpaceError display "\(\[\]\)\@<=\s\+" +endif + +" Spacing errors around the 'chan' keyword +if go_highlight_chan_whitespace_error != 0 + " receive-only annotation on chan type + syn match goSpaceError display "\(<-\)\@<=\s\+\(chan\>\)\@=" + " send-only annotation on chan type + syn match goSpaceError display "\(\<chan\)\@<=\s\+\(<-\)\@=" + " value-ignoring receives in a few contexts + syn match goSpaceError display "\(\(^\|[={(,;]\)\s*<-\)\@<=\s\+" +endif + +" Extra types commonly seen +if go_highlight_extra_types != 0 + syn match goExtraType /\<bytes\.\(Buffer\)\>/ + syn match goExtraType /\<io\.\(Reader\|Writer\|ReadWriter\|ReadWriteCloser\)\>/ + syn match goExtraType /\<reflect\.\(Kind\|Type\|Value\)\>/ + syn match goExtraType /\<unsafe\.Pointer\>/ +endif + +" Space-tab error +if go_highlight_space_tab_error != 0 + syn match goSpaceError display " \+\t"me=e-1 +endif + +" Trailing white space error +if go_highlight_trailing_whitespace_error != 0 + syn match goSpaceError display excludenl "\s\+$" +endif + +hi def link goExtraType Type +hi def link goSpaceError Error + +" Search backwards for a global declaration to start processing the syntax. +"syn sync match goSync grouphere NONE /^\(const\|var\|type\|func\)\>/ + +" There's a bug in the implementation of grouphere. For now, use the +" following as a more expensive/less precise workaround. +syn sync minlines=500 + +let b:current_syntax = 'go' + +" vim: sw=2 sts=2 et
new file mode 100644 --- /dev/null +++ b/runtime/syntax/godoc.vim @@ -0,0 +1,21 @@ +" Vim syntax file +" Language: Godoc (generated documentation for go) +" Maintainer: David Barnett (https://github.com/google/vim-ft-go) +" Last Change: 2014 Aug 16 + +if exists('b:current_syntax') + finish +endif + +syn case match +syn match godocTitle "^\([A-Z][A-Z ]*\)$" + +command -nargs=+ HiLink hi def link <args> + +HiLink godocTitle Title + +delcommand HiLink + +let b:current_syntax = 'godoc' + +" vim: sw=2 sts=2 et
--- a/runtime/syntax/vroom.vim +++ b/runtime/syntax/vroom.vim @@ -1,6 +1,6 @@ " Vim syntax file " Language: Vroom (vim testing and executable documentation) -" Maintainer: David Barnett (https://github.com/google/vim-ft.vroom) +" Maintainer: David Barnett (https://github.com/google/vim-ft-vroom) " Last Change: 2014 Jul 23 " For version 5.x: Clear all syntax items.
--- a/runtime/tutor/tutor.es.utf-8 +++ b/runtime/tutor/tutor.es.utf-8 @@ -121,7 +121,7 @@ NOTA: A medida que vaya avanzando en est h (izquierda) j (abajo) k (arriba) l (derecha) 2. Para acceder a Vim (desde el símbolo del sistema %) escriba: - vin FILENAME <INTRO> + vim FILENAME <INTRO> 3. Para salir de Vim escriba: <ESC> :q! <INTRO> para eliminar todos los cambios.
--- a/runtime/tutor/tutor.fr +++ b/runtime/tutor/tutor.fr @@ -1029,10 +1029,10 @@ NOTE : Le compltement fonctionne pour de nombreuses commandes. Essayez des Mines du Colorado et reprend des ides fournies par Charles Smith, Universit d'tat du Colorado. E-mail : bware@mines.colorado.edu. - Modifi pour Vim par Bram Moolenar. + Modifi pour Vim par Bram Moolenaar. Traduit en franais par Adrien Beau, en avril 2001. Dernires mises jour par Dominique Pell. E-mail : dominique.pelle@gmail.com - Last Change : 2013 May 10 + Last Change : 2014 Aug 18 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/runtime/tutor/tutor.fr.utf-8 +++ b/runtime/tutor/tutor.fr.utf-8 @@ -1029,10 +1029,10 @@ NOTE : Le complètement fonctionne pour de nombreuses commandes. Essayez des Mines du Colorado et reprend des idées fournies par Charles Smith, Université d'État du Colorado. E-mail : bware@mines.colorado.edu. - Modifié pour Vim par Bram Moolenar. + Modifié pour Vim par Bram Moolenaar. Traduit en français par Adrien Beau, en avril 2001. Dernières mises à jour par Dominique Pellé. E-mail : dominique.pelle@gmail.com - Last Change : 2013 May 10 + Last Change : 2014 Aug 18 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/runtime/tutor/tutor.ja.euc +++ b/runtime/tutor/tutor.ja.euc @@ -55,8 +55,7 @@ NOTE: 륭ǤưǤޤ hjkl ˰ٴƤޤСϤ뤫 2. Τ褦˥: :q! <ENTER> ˤԽƤ¸˥ǥλޤ - 3. ץץȤФƤ顢Υ塼ȥꥢϤ٤ˤ˥ޥ - פޤ + 3. Υ塼ȥꥢϤ٤Υޥɤ¹Ԥȡޤ Υޥɤ: vimtutor <ENTER> 4. ޤǤΥƥåפФĤʤСƥå 1 3 ޤǤ @@ -904,7 +903,7 @@ NOTE: 1Ĥθޥɤʸʸζ̤ʤСե졼 \c ** CTRL-D <TAB> ǥޥɥ饤䴰 ** - 1. ѥ⡼ɤǤʤȤǧޤ: :set nocp + 1. ߴ⡼ɤǤʤȤǧޤ: :set nocp 2. ߤΥǥ쥯ȥ˺ߤե :!ls :!dir dzǧޤ @@ -949,7 +948,7 @@ NOTE: 䴰¿Υޥɤưޤ CTRL-D <TAB> ƤߤƤ ˤ Vim Υ塼ȥꥢޤǥñˡ⽼ʬ ȤȤǤ褦ˤȡVim λijǰΤߤ褦Ȥޤ Vim ˤϤ¿ΥޥɤꡢƤ뤳ȤϤǤޤ - ʹߤϥ桼ޥ˥奢Ȥ: ":help user-manual" + ʹߤϥ桼ޥ˥奢Ȥ: ":help user-manual" ʸγؽΤˡܤޤ Vim - Vi Improved - by Steve Oualline
--- a/runtime/tutor/tutor.ja.sjis +++ b/runtime/tutor/tutor.ja.sjis @@ -55,8 +55,7 @@ NOTE: J[\L[łړł܂B hjkl ɈxĂ܂A͂邩 2. ̂悤Ƀ^Cv: :q! <ENTER> ɂҏWeۑɃGfB^I܂B - 3. VFvvgoĂÃ`[gAn߂ׂɂɃR}h - ^Cv܂B + 3. ̃`[gAn߂ׂ̃R}hsƁAɖ߂܂B ̃R}h: vimtutor <ENTER> 4. ܂ł̃XebvoMȂAXebv 1 3 ܂ł @@ -904,7 +903,7 @@ NOTE: 1̌R}h啶̋ʂ߂ȂAt[Y \c ** CTRL-D <TAB> ŃR}hC⊮ ** - 1. Rp`[hłȂƂmF܂: :set nocp + 1. ݊[hłȂƂmF܂: :set nocp 2. ݂̃fBNgɍ݂t@C :!ls :!dir ŊmF܂B @@ -949,7 +948,7 @@ NOTE: ⊮͑̃R}hœ삵܂B CTRL-D <TAB> Ă݂Ă ɂ Vim ̃`[gAI܂BGfB^ȒPɁA[ gƂł悤ɂƁAVim ̎TO̗v_݂̂`悤Ƃ܂B Vim ɂ͂ɑ̃R}hAőSĂ邱Ƃ͂ł܂B - ȍ~̓[U}jAQƂ: ":help user-manual" + ȍ~̓[U[}jAQƂ: ":help user-manual" Ȍ̊wK̂߂ɁA̖{𐄑E܂B Vim - Vi Improved - by Steve Oualline
--- a/runtime/tutor/tutor.ja.utf-8 +++ b/runtime/tutor/tutor.ja.utf-8 @@ -55,8 +55,7 @@ NOTE: カーソルキーでも移動できます。しかし hjkl に一度慣れてしまえば、はるか 2. 次のようにタイプ: :q! <ENTER> これにより編集した内容を保存せずにエディタが終了します。 - 3. シェルプロンプトが出てきたら、このチュートリアルを始める為ににコマンド - をタイプします。 + 3. このチュートリアルを始める為のコマンドを実行すると、ここに戻れます。 そのコマンドは: vimtutor <ENTER> 4. これまでのステップを覚え自信がついたならば、ステップ 1 から 3 までを実 @@ -904,7 +903,7 @@ NOTE: 1つの検索コマンドだけ大文字小文字の区別をやめたいならば、フレーズに \c ** CTRL-D と <TAB> でコマンドラインを補完する ** - 1. コンパチモードでないことを確認します: :set nocp + 1. 互換モードでないことを確認します: :set nocp 2. 現在のディレクトリに在るファイルを :!ls か :!dir で確認します。 @@ -949,7 +948,7 @@ NOTE: 補完は多くのコマンドで動作します。そして CTRL-D と <TAB> 押してみてくだ これにて Vim のチュートリアルを終わります。エディタを簡単に、しかも充分に 使うことができるようにと、Vim の持つ概念の要点のみを伝えようとしました。 Vim にはさらに多くのコマンドがあり、ここで全てを説明することはできません。 - 以降はユーザマニュアルを参照ください: ":help user-manual" + 以降はユーザーマニュアルを参照ください: ":help user-manual" これ以後の学習のために、次の本を推薦します。 Vim - Vi Improved - by Steve Oualline
--- a/runtime/tutor/tutor.pt +++ b/runtime/tutor/tutor.pt @@ -572,7 +572,7 @@ Nota: Isso muito til para corrigir um programa com parnteses no-casados! digite :#,#s/velho/novo/g onde #,# so os nmeros das duas linhas. Digite :%s/velho/novo/g para mudar todas as ocorrncias no arquivo inteiro. - Digite :%/velho/novo/gc para mudar todas as ocorrncia no arquivo + Digite :%s/velho/novo/gc para mudar todas as ocorrncia no arquivo inteiro, com a opo de confirmar cada substituio. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -971,7 +971,7 @@ NOTA: A completao funciona com muitos comandos. Basta pressionar CTRL-D e Colorado School of Mines, usando idias fornecidas por Charles Smith, Colorado State University. E-mail: bware@mines.colorado.edu. - Modificado para o Vim por Bram Moolenar. + Modificado para o Vim por Bram Moolenaar. Verso 1.4 traduzida para o portugus por Marcelo Drudi Miranda, Escola Politcnica da Universidade de So Paulo.
--- a/runtime/tutor/tutor.pt.utf-8 +++ b/runtime/tutor/tutor.pt.utf-8 @@ -572,7 +572,7 @@ Nota: Isso é muito útil para corrigir um programa com parênteses não-casados! digite :#,#s/velho/novo/g onde #,# são os números das duas linhas. Digite :%s/velho/novo/g para mudar todas as ocorrências no arquivo inteiro. - Digite :%/velho/novo/gc para mudar todas as ocorrência no arquivo + Digite :%s/velho/novo/gc para mudar todas as ocorrência no arquivo inteiro, com a opção de confirmar cada substituição. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -971,7 +971,7 @@ NOTA: A completação funciona com muitos comandos. Basta pressionar CTRL-D e Colorado School of Mines, usando idéias fornecidas por Charles Smith, Colorado State University. E-mail: bware@mines.colorado.edu. - Modificado para o Vim por Bram Moolenar. + Modificado para o Vim por Bram Moolenaar. Versão 1.4 traduzida para o português por Marcelo Drudi Miranda, Escola Politécnica da Universidade de São Paulo.
--- a/runtime/tutor/tutor.utf-8 +++ b/runtime/tutor/tutor.utf-8 @@ -55,8 +55,8 @@ NOTE: The cursor keys should also work. 2. Type: :q! <ENTER>. This exits the editor, DISCARDING any changes you have made. - 3. When you see the shell prompt, type the command that got you into this - tutor. That would be: vimtutor <ENTER> + 3. Get back here by executing the command that got you into this tutor. That + might be: vimtutor <ENTER> 4. If you have these steps memorized and are confident, execute steps 1 through 3 to exit and re-enter the editor.
--- a/runtime/tutor/tutor.zh.big5 +++ b/runtime/tutor/tutor.zh.big5 @@ -843,10 +843,10 @@ Open up a line above this by typing Shif P xuandong@sh163.net ANBOrץC 2002~0318 <linuxrat@gnuchina.org> - ھBram Molenaarͦb2002~0316骺ӫHnDANvimtutor1.4Ķ + ھBram Moolenaarͦb2002~0316骺ӫHnDANvimtutor1.4Ķ ɯŨvimtutor1.5C 2001~1115 <linuxrat@gnuchina.org> - Nvimtutor1.4Ķ浹Bram MolenaarMSven GuckesC + Nvimtutor1.4Ķ浹Bram MoolenaarMSven GuckesC ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/runtime/tutor/tutor.zh.euc +++ b/runtime/tutor/tutor.zh.euc @@ -988,9 +988,9 @@ л xuandong@sh163.net ָ 20020318 ̩ <linuxrat@gnuchina.org> - Bram Molenaar20020316յҪvimtutor1.4 + Bram Moolenaar20020316յҪvimtutor1.4 vimtutor1.5 20011115 ̩ <linuxrat@gnuchina.org> - vimtutor1.4ύBram MolenaarSven Guckes + vimtutor1.4ύBram MoolenaarSven Guckes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/runtime/tutor/tutor.zh.utf-8 +++ b/runtime/tutor/tutor.zh.utf-8 @@ -843,10 +843,10 @@ Open up a line above this by typing Shif 感謝 xuandong@sh163.net 的指正,將兩處錯別字修正。 2002年03月18日 梁昌泰 <linuxrat@gnuchina.org> - 根據Bram Molenaar先生在2002年03月16日的來信要求,將vimtutor1.4中譯 + 根據Bram Moolenaar先生在2002年03月16日的來信要求,將vimtutor1.4中譯 版升級到vimtutor1.5。 2001年11月15日 梁昌泰 <linuxrat@gnuchina.org> - 將vimtutor1.4中譯版提交給Bram Molenaar和Sven Guckes。 + 將vimtutor1.4中譯版提交給Bram Moolenaar和Sven Guckes。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/runtime/tutor/tutor.zh_cn.utf-8 +++ b/runtime/tutor/tutor.zh_cn.utf-8 @@ -988,9 +988,9 @@ 感谢 xuandong@sh163.net 的指正,将两处错别字修正。 2002年03月18日 梁昌泰 <linuxrat@gnuchina.org> - 根据Bram Molenaar先生在2002年03月16日的来信要求,将vimtutor1.4中译 + 根据Bram Moolenaar先生在2002年03月16日的来信要求,将vimtutor1.4中译 版升级到vimtutor1.5。 2001年11月15日 梁昌泰 <linuxrat@gnuchina.org> - 将vimtutor1.4中译版提交给Bram Molenaar和Sven Guckes。 + 将vimtutor1.4中译版提交给Bram Moolenaar和Sven Guckes。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/runtime/tutor/tutor.zh_tw.utf-8 +++ b/runtime/tutor/tutor.zh_tw.utf-8 @@ -843,10 +843,10 @@ Open up a line above this by typing Shif 感謝 xuandong@sh163.net 的指正,將兩處錯別字修正。 2002年03月18日 梁昌泰 <linuxrat@gnuchina.org> - 根據Bram Molenaar先生在2002年03月16日的來信要求,將vimtutor1.4中譯 + 根據Bram Moolenaar先生在2002年03月16日的來信要求,將vimtutor1.4中譯 版升級到vimtutor1.5。 2001年11月15日 梁昌泰 <linuxrat@gnuchina.org> - 將vimtutor1.4中譯版提交給Bram Molenaar和Sven Guckes。 + 將vimtutor1.4中譯版提交給Bram Moolenaar和Sven Guckes。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~