Compare commits

...

410 Commits

Author SHA1 Message Date
af91438338 patch 8.1.2038: has('vimscript-4') is always 0
Problem:    has('vimscript-4') is always 0.
Solution:   Add "vimscript-4" to the feature table. (Naruhiko Nishino,
            closes #4941)
2019-09-15 17:49:10 +02:00
a046b37c22 patch 8.1.2037: can call win_gotoid() in cmdline window
Problem:    Can call win_gotoid() in cmdline window.
Solution:   Disallow switching windows. (Yasuhiro Matsumoto, closes #4940)
2019-09-15 17:26:07 +02:00
1ac90b4fa6 patch 8.1.2036: the str2nr() tests fail
Problem:    The str2nr() tests fail.
Solution:   Add missing part of patch.
2019-09-15 14:49:52 +02:00
60a8de28d1 patch 8.1.2035: recognizing octal numbers is confusing
Problem:    Recognizing octal numbers is confusing.
Solution:   Introduce scriptversion 4: do not use octal and allow for single
            quote inside numbers.
2019-09-15 14:33:22 +02:00
50bf7ce0c9 patch 8.1.2034: dark them of GTK 3 not supported
Problem:    Dark them of GTK 3 not supported.
Solution:   Add the "d" flag in 'guioptions'. (Jonathan Conder, closes #4934)
2019-09-15 13:17:00 +02:00
0571f3d6f9 patch 8.1.2033: cannot build with tiny features
Problem:    Cannot build with tiny features.
Solution:   Add #ifdef.
2019-09-14 22:33:47 +02:00
076d98839c patch 8.1.2032: scrollbar thumb wrong in popup window
Problem:    Scrollbar thumb wrong in popup window.
Solution:   Adjust thumb size and position when scrolled.
2019-09-14 22:23:29 +02:00
5babc6e858 patch 8.1.2031: cursor position wrong when resizing and using conceal
Problem:    Cursor position wrong when resizing and using conceal.
Solution:   Set the flags that the cursor position is valid when setting the
            row and column during redrawing. (closes #4931)
2019-09-14 21:55:51 +02:00
997d42427e patch 8.1.2030: tests fail when build with normal features and terminal
Problem:    Tests fail when build with normal features and terminal.
            (Dominique Pelle)
Solution:   Disable tests that won't work. (closes #4932)
2019-09-14 21:23:40 +02:00
017ba07fa2 patch 8.1.2029: cannot control 'cursorline' highlighting well
Problem:    Cannot control 'cursorline' highlighting well.
Solution:   Add "screenline". (Christian Brabandt, closes #4933)
2019-09-14 21:01:23 +02:00
d9b0d83b13 patch 8.1.2028: options test script does not work
Problem:    Options test script does not work.
Solution:   Use optiondefs.h for input.
2019-09-14 15:46:32 +02:00
57da698168 patch 8.1.2027: MS-Windows: problem with ambiwidth characters
Problem:    MS-Windows: problem with ambiwidth characters.
Solution:   handle ambiguous width characters in ConPTY on Windows 10 (1903).
            (Nobuhiro Takasaki, closes #4411)
2019-09-13 22:30:11 +02:00
dbec74907e patch 8.1.2026: possibly using uninitialized memory
Problem:    Possibly using uninitialized memory.
Solution:   Check if "dict" is NULL. (closes #4925)
2019-09-13 22:16:21 +02:00
1946de140a patch 8.1.2025: MS-Windows: Including shlguid.h causes problems for msys2
Problem:    MS-Windows: Including shlguid.h causes problems for msys2.
Solution:   Do not include shlguid.h. (closes #4913)
2019-09-13 22:03:19 +02:00
9283f92008 patch 8.1.2024: delete call commented out for debugging
Problem:    Delete call commented out for debugging.
Solution:   Restore the delete call. (Christian Brabandt)
2019-09-13 21:48:34 +02:00
dcb2b9cb08 patch 8.1.2023: no test for synIDattr() returning "strikethrough"
Problem:    No test for synIDattr() returning "strikethrough".
Solution:   Extend the synIDattr() test. (Jaskaran Singh, closes #4929)
2019-09-13 21:26:39 +02:00
0eddca40a6 patch 8.1.2022: the option.c file is too big
Problem:    The option.c file is too big.
Solution:   Move option definitions to a separate file. (Yegappan Lakshmanan,
            closes #4918)
2019-09-12 22:26:43 +02:00
8fe1000e9c Update runtime files 2019-09-11 22:56:44 +02:00
840d16fd36 patch 8.1.2021: some global functions can be local to the file
Problem:    Some global functions can be local to the file.
Solution:   Add "static". (Yegappan Lakshmanan, closes #4917)
2019-09-10 21:27:18 +02:00
d20dcb3d01 patch 8.1.2020: it is not easy to change the window layout
Problem:    It is not easy to change the window layout.
Solution:   Add win_splitmove(). (Andy Massimino, closes #4561)
2019-09-10 21:22:58 +02:00
410e98a70b patch 8.1.2019: 'cursorline' always highlights the whole line
Problem:    'cursorline' always highlights the whole line.
Solution:   Add 'cursorlineopt' to specify what is highlighted.
            (closes #4693)
2019-09-09 22:05:49 +02:00
e5fbd73930 patch 8.1.2018: using freed memory when out of memory and displaying message
Problem:    Using freed memory when out of memory and displaying message.
Solution:   Make a copy of the message first.
2019-09-09 20:04:13 +02:00
96e38a86a7 patch 8.1.2017: cannot execute commands after closing the cmdline window
Problem:    Cannot execute commands after closing the cmdline window.
Solution:   Also trigger BufEnter and WinEnter. (closes #4762)
2019-09-09 18:35:33 +02:00
adbde3fbed patch 8.1.2016: terminal altscreen test now fails on MS-Windows
Problem:    Terminal altscreen test now fails on MS-Windows.
Solution:   Skip the test on MS-Windows
2019-09-08 22:57:14 +02:00
bf9a3b0164 patch 8.1.2015: terminal altscreen test still fails sometimes
Problem:    Terminal altscreen test still fails sometimes.
Solution:   Write the escape sequence in a file.
2019-09-08 22:35:48 +02:00
b9c79cf5cc patch 8.1.2014: terminal altscreen test fails sometimes
Problem:    Terminal altscreen test fails sometimes.
Solution:   Use WaitFor().
2019-09-08 22:09:52 +02:00
f92e58cadb patch 8.1.2013: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-08 21:51:41 +02:00
7ee80f7661 patch 8.1.2012: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make terminal functions usable as a method.  Fix term_getattr().
2019-09-08 20:55:06 +02:00
ce90e36f59 patch 8.1.2011: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.  Make the window
            command test faster.
2019-09-08 18:58:44 +02:00
9490b9a61c patch 8.1.2010: new file uses old style comments
Problem:    New file uses old style comments.
Solution:   Change to new style comments. (Yegappan Lakshmanan, closes #4910)
2019-09-08 17:20:12 +02:00
3d2a3cbce8 patch 8.1.2009: cursorline highlighting not updated in popup window
Problem:    Cursorline highlighting not updated in popup window. (Marko
            Mahnič)
Solution:   Check if the cursor position changed. (closes #4912)
2019-09-08 17:12:01 +02:00
4544bd2f24 patch 8.1.2008: error for invalid range when using listener and undo
Problem:    Error for invalid range when using listener and undo. (Paul Jolly)
Solution:   Do not change the cursor before the lines are restored.
            (closes #4908)
2019-09-08 15:27:21 +02:00
fca068b977 patch 8.1.2007: no test for what 8.1.1926 fixes
Problem:    No test for what 8.1.1926 fixes.
Solution:   Add a test case.
2019-09-08 14:07:47 +02:00
6cdce2a003 patch 8.1.2006: build failure with huge features but without channel feature
Problem:    Build failure with huge features but without channel feature.
Solution:   Add #ifdef. (Dominique Pelle, closes #4906)
2019-09-07 23:25:09 +02:00
6d7d7cf750 patch 8.1.2005: the regexp.c file is too big
Problem:    The regexp.c file is too big.
Solution:   Move the backtracking engine to a separate file. (Yegappan
            Lakshmanan, closes #4905)
2019-09-07 23:16:33 +02:00
f6ed61e148 patch 8.1.2004: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-07 19:05:09 +02:00
30e9b3c425 Update runtime files 2019-09-07 16:24:12 +02:00
fa90d70884 patch 8.1.2003: MS-Windows: code page 65001 is not recognized
Problem:    MS-Windows: code page 65001 is not recognized.
Solution:   Use utf-8 for code page 65001. (Dan Thompson, closes #4902)
2019-09-07 16:07:47 +02:00
9b1cd65d8b patch 8.1.2002: version number 2000 missing
Problem:    Version number 2000 missing.
Solution:   Add the number in the list of patches.
2019-09-07 15:51:28 +02:00
261f346f81 patch 8.1.2001: some source files are too big
Problem:    Some source files are too big.
Solution:   Move buffer and window related functions to evalbuffer.c and
            evalwindow.c. (Yegappan Lakshmanan, closes #4898)
2019-09-07 15:45:32 +02:00
a3a124627d patch 8.1.2000: plugin cannot get the current IME status
Problem:    Plugin cannot get the current IME status.
Solution:   Add the getimstatus() function. (closes #4904)
2019-09-07 15:08:38 +02:00
1b33bee35e patch 8.1.1999: calling both PlaySoundW() and PlaySoundA()
Problem:    Calling both PlaySoundW() and PlaySoundA().
Solution:   Only use PlaySoundW(). (Dan Thompson, closes #4903)
2019-09-07 14:50:49 +02:00
fbb3bc89b3 patch 8.1.1998: redraw even when no popup window filter was invoked
Problem:    Redraw even when no popup window filter was invoked.
Solution:   Only redraw when must_redraw was set to a larger value.
2019-09-07 14:33:36 +02:00
bcb4c8f905 patch 8.1.1997: no redraw after a popup window filter is invoked
Problem:    No redraw after a popup window filter is invoked.
Solution:   Redraw if needed.
2019-09-07 14:06:52 +02:00
aad222c9c9 patch 8.1.1996: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-06 22:46:09 +02:00
93476fd634 patch 8.1.1995: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make sign functions usable as a method.
2019-09-06 22:00:54 +02:00
5ec849896f patch 8.1.1994: MS-Windows: cannot build with eval but without cscope
Problem:    MS-Windows: cannot build with eval but without cscope
Solution:   Adjust the makefiles to always build if_cscope.obj.
2019-09-06 21:46:15 +02:00
196b466443 patch 8.1.1993: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-06 21:34:30 +02:00
16b58ae9f3 patch 8.1.1992: the search stat moves when wrapping at the end of the buffer
Problem:    The search stat moves when wrapping at the end of the buffer.
Solution:   Put the "W" in front instead of at the end.
2019-09-06 20:40:21 +02:00
6f72e90dd8 patch 8.1.1991: still cannot build with eval but without cscope
Problem:    Still cannot build with eval but without cscope.
Solution:   Move f_cscope_connection() outside of #ifdef.
2019-09-05 23:04:02 +02:00
a546b21b24 patch 8.1.1990: cannot build with eval but without cscope
Problem:    Cannot build with eval but without cscope.
Solution:   Always include if_cscope.pro.
2019-09-05 22:50:11 +02:00
af7645d373 patch 8.1.1989: the evalfunc.c file is still too big
Problem:    The evalfunc.c file is still too big.
Solution:   Move f_pathshorten() to filepath.c.  Move f_cscope_connection() to
            if_cscope.c.  Move diff_ functions to diff.c.  Move timer_
            functions to ex_cmds2.c.  move callback functions to evalvars.c.
2019-09-05 22:33:28 +02:00
8d3b51084a patch 8.1.1988: :startinsert! does not work the same way as "A"
Problem:    :startinsert! does not work the same way as "A".
Solution:   Use the same code to move the cursor. (closes #4896)
2019-09-05 21:29:01 +02:00
a0d1fef4eb patch 8.1.1987: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-04 22:29:14 +02:00
a5a7882ea4 patch 8.1.1986: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make textprop functions usable as a method.
2019-09-04 21:57:18 +02:00
26262f8777 patch 8.1.1985: code for dealing with paths is spread out
Problem:    Code for dealing with paths is spread out.
Solution:   Move path related functions from misc1.c to filepath.c.
            Remove NO_EXPANDPATH.
2019-09-04 20:59:15 +02:00
3f4f3d8e7e patch 8.1.1984: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-04 20:05:59 +02:00
ea781459b9 patch 8.1.1983: compiler nags for uninitialized variable and unused function
Problem:    Compiler nags for uninitialized variable and unused function.
Solution:   Add unnecessary initialization.  Move function inside #ifdef.
2019-09-04 18:53:12 +02:00
6a124e622c patch 8.1.1982: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make popup functions usable as a method.
2019-09-04 18:15:19 +02:00
08c308aeb5 patch 8.1.1981: the evalfunc.c file is too big
Problem:    The evalfunc.c file is too big.
Solution:   Move undo functions to undo.c.  Move cmdline functions to
            ex_getln.c.  Move some container functions to list.c.
2019-09-04 17:48:15 +02:00
0f63ed33fd patch 8.1.1980: fix for search stat not tested
Problem:    Fix for search stat not tested.
Solution:   Add a screenshot test. (Christian Brabandt)
2019-09-04 16:32:36 +02:00
b005cd80cf patch 8.1.1979: code for handling file names is spread out
Problem:    Code for handling file names is spread out.
Solution:   Move code to new filepath.c file.  Graduate FEAT_MODIFY_FNAME.
2019-09-04 15:54:55 +02:00
1e1d30048e patch 8.1.1978: the eval.c file is too big
Problem:    The eval.c file is too big.
Solution:   Move filter() and map() to list.c.
2019-09-04 14:41:14 +02:00
19c8fe1925 patch 8.1.1977: terminal debugger plugin may hang
Problem:    Terminal debugger plugin may hang.
Solution:   Wait longer when still reading symbols.
2019-09-04 14:24:24 +02:00
2b43f7f9f4 patch 8.1.1976: Travis log always shows test output
Problem:    Travis log always shows test output.
Solution:   Change script to avoid if/else. (Ozaki Kiichi, closes #4892)
2019-09-04 14:11:16 +02:00
89c0003331 patch 8.1.1975: MS-Windows GUI responds slowly to timer
Problem:    MS-Windows GUI responds slowly to timer.
Solution:   Break out of wait loop when timer was added or input is available.
            (closes #4893)
2019-09-04 13:53:21 +02:00
1f3165bc34 patch 8.1.1974: Coverity warns for using pointer as array
Problem:    Coverity warns for using pointer as array.
Solution:   Call var2fpos() directly instead of using f_line().
2019-09-04 13:21:26 +02:00
61c18652c9 patch 8.1.1973: cannot build without the quickfix feature
Problem:    Cannot build without the quickfix feature.
Solution:   Remove #ifdef for qf_info_T.
2019-09-04 11:51:17 +02:00
5d712e4672 patch 8.1.1972: no proper test for getchar()
Problem:    No proper test for getchar().
Solution:   Add a test with special characters.
2019-09-03 23:37:01 +02:00
d570ab95d9 patch 8.1.1971: manually enabling features causes build errors
Problem:    Manually enabling features causes build errors. (John Marriott)
Solution:   Adjust #ifdefs.
2019-09-03 23:20:05 +02:00
19e8ac72e9 patch 8.1.1970: search stat space wrong, no test for 8.1.1965
Problem:    Search stat space wrong, no test for 8.1.1965.
Solution:   Fix check for cmd_silent.  Add a test. (Christian Brabandt)
2019-09-03 22:23:38 +02:00
581ba39aef patch 8.1.1969: popup window filter is used in all modes
Problem:    Popup window filter is used in all modes.
Solution:   Add the "filtermode" property.
2019-09-03 22:08:33 +02:00
27da7de7c5 patch 8.1.1968: crash when using nested map()
Problem:    Crash when using nested map().
Solution:   Clear the pointer in prepare_vimvar(). (Ozaki Kiichi,
            closes #4890, closes #4891)
2019-09-03 17:13:37 +02:00
8e0a8e7eb7 patch 8.1.1967: line() only works for the current window
Problem:    Line() only works for the current window.
Solution:   Add an optional argument for the window to use.
2019-09-02 22:56:24 +02:00
e677df8d93 patch 8.1.1966: some code in options.c fits better elsewhere
Problem:    Some code in options.c fits better elsewhere.
Solution:   Move functions from options.c to other files. (Yegappan
            Lakshmanan, closes #4889)
2019-09-02 22:31:11 +02:00
359ad1a6f9 patch 8.1.1965: search count message is not displayed when using a mapping
Problem:    The search count message is not displayed when using a mapping.
            (Gary Johnson)
Solution:   Ignore cmd_silent for showing the search count. (Christian
            Brabandt)
2019-09-02 21:44:59 +02:00
c36350bca3 patch 8.1.1964: crash when using nested map() and filter()
Problem:    Crash when using nested map() and filter().
Solution:   Do not set the v:key type to string without clearing the pointer.
2019-09-02 20:44:07 +02:00
934470e562 patch 8.1.1963: popup window filter may be called recursively
Problem:    Popup window filter may be called recursively when using a Normal
            mode command.
Solution:   Prevent recursiveness. (closes #4887)  Also restore KeyTyped.
2019-09-01 23:27:05 +02:00
55008aad50 patch 8.1.1962: leaking memory when using tagfunc()
Problem:    Leaking memory when using tagfunc().
Solution:   Free the user_data. (Dominique Pelle, closes #4886)
2019-09-01 20:21:56 +02:00
a144983633 patch 8.1.1961: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Allow more functions to be used as a method.  Add a test for
            mapcheck().
2019-09-01 20:16:52 +02:00
db022f3ffb patch 8.1.1960: fold code is spread out
Problem:    Fold code is spread out.
Solution:   Move fold functions to fold.c.
2019-09-01 17:52:32 +02:00
a112f2d003 patch 8.1.1959: when using "firstline" in popup window text may jump
Problem:    When using "firstline" in popup window text may jump when
            redrawing it. (Nick Jensen)
Solution:   Set 'scrolloff' to zero in a popup window. (closes #4882)
2019-09-01 17:38:09 +02:00
c330835928 patch 8.1.1958: old style comments taking up space
Problem:    Old style comments taking up space.
Solution:   Change to new style comments.
2019-09-01 16:24:56 +02:00
da6c033421 patch 8.1.1957: more code can be moved to evalvars.c
Problem:    More code can be moved to evalvars.c.
Solution:   Move code to where it fits better. (Yegappan Lakshmanan,
            closes #4883)
2019-09-01 16:01:30 +02:00
0fdddeeb66 patch 8.1.1956: screenshot tests may use a different encoding
Problem:    Screenshot tests may use a different encoding. (Dominique Pelle)
Solution:   Always set 'encoding' to "utf-8" when running Vim in a terminal.
            (closes #4884)
2019-09-01 15:26:23 +02:00
1bc353b6f1 patch 8.1.1955: tests contain typos
Problem:    Tests contain typos.
Solution:   Correct the typos. (Dominique Pelle)
2019-09-01 14:45:28 +02:00
02b31110d3 patch 8.1.1954: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Allow more functions to be used as a method.
2019-08-31 22:16:38 +02:00
f9f24ce7a0 patch 8.1.1953: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Allow more functions to be used as a method.
2019-08-31 21:17:39 +02:00
5d69fdb7c4 patch 8.1.1952: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Allow more functions to be used as a method.
2019-08-31 19:13:58 +02:00
f1699968ba patch 8.1.1951: mouse double click test is a bit flaky
Problem:    Mouse double click test is a bit flaky.
Solution:   Add to list of flaky tests.  Update a couple of comments.
2019-08-31 17:48:19 +02:00
06fe74aef7 Runtime files update. 2019-08-31 16:20:32 +02:00
4bbfb0f3cc patch 8.1.1950: using NULL pointer after an out-of-memory
Problem:    Using NULL pointer after an out-of-memory.
Solution:   Check for NULL pointer. (Dominique Pelle, closes #4881)
2019-08-31 15:28:02 +02:00
8c6173c7d3 patch 8.1.1949: cannot scroll a popup window to the very bottom
Problem:    Cannot scroll a popup window to the very bottom.
Solution:   Scroll to the bottom when the "firstline" property was set to -1.
            (closes #4577)  Allow resetting min/max width/height.
2019-08-30 22:08:34 +02:00
b5432d8968 patch 8.1.1948: mouse doesn't work in Linux console
Problem:    Mouse doesn't work in Linux console and causes 100% CPU. (James P.
            Harvey)
Solution:   Loop in WaitForCharOrMouse() when gpm_process_wanted is set.
            (closes #4828)
2019-08-30 19:28:25 +02:00
60b1bcfe92 patch 8.1.1947: when executing one test the report doesn't show it
Problem:    When executing one test the report doesn't show it.
Solution:   Adjust the regexp. (Daniel Hahler, closes #4879)
2019-08-30 19:05:32 +02:00
163588005d patch 8.1.1946: memory error when profiling a function without a script ID
Problem:    Memory error when profiling a function without a script ID.
Solution:   Check for missing script ID.  (closes #4877)
2019-08-30 18:37:26 +02:00
9e67b6a6a1 patch 8.1.1945: popup window "firstline" cannot be reset
Problem:    Popup window "firstline" cannot be reset.
Solution:   Allow for setting "firstline" to zero.  Fix that the text jumps to
            the top when using win_execute(). (closes #4876)
2019-08-30 17:34:08 +02:00
821d771e86 patch 8.1.1944: leaking memory when using sound callback
Problem:    Leaking memory when using sound callback.
Solution:   src/sound.c
2019-08-30 16:30:00 +02:00
8d71b54409 patch 8.1.1943: more code can be moved to evalvars.c
Problem:    More code can be moved to evalvars.c.
Solution:   Move it, clean up comments.  Also move some window related
            functions to window.c. (Yegappan Lakshmanan, closes #4874)
2019-08-30 15:46:30 +02:00
58a297b28d patch 8.1.1942: shadow directory gets outdated when files are added
Problem:    Shadow directory gets outdated when files are added.
Solution:   Add the "shadowupdate" target and add a few comments.
2019-08-30 13:59:29 +02:00
ad5db44c01 patch 8.1.1941: getftype() test fails on Mac
Problem:    getftype() test fails on Mac.
Solution:   Skip /dev/fd/.
2019-08-30 13:12:25 +02:00
34ed68d40e patch 8.1.1940: script tests fail
Problem:    Script tests fail.
Solution:   Don't set vimvars type in set_vim_var_nr().
2019-08-29 22:48:24 +02:00
e5cdf153bc patch 8.1.1939: code for handling v: variables in generic eval file
Problem:    Code for handling v: variables in generic eval file.
Solution:   Move v: variables to evalvars.c. (Yegappan Lakshmanan,
            closes #4872)
2019-08-29 22:09:46 +02:00
c507a2d164 patch 8.1.1938: may crash when out of memory
Problem:    May crash when out of memory.
Solution:   Initialize v_type to VAR_UNKNOWN. (Dominique Pelle, closes #4871)
2019-08-29 21:32:55 +02:00
4fb15c6476 patch 8.1.1937: errors when using javascriptreact
Problem:    Errors when using javascriptreact.
Solution:   Use ":runtime" instead of ":source". (closes #4875)
2019-08-29 21:24:21 +02:00
1fb0831a0e patch 8.1.1936: not enough tests for text property popup window
Problem:    Not enough tests for text property popup window.
Solution:   Add a few more tests.  Make negative offset work.  Close all
            popups when window closes.
2019-08-29 20:02:11 +02:00
57441d6fa0 patch 8.1.1935: test for text property popup window is flaky
Problem:    Test for text property popup window is flaky.
Solution:   Remove the undo message
2019-08-28 22:38:07 +02:00
bc2d4c1db6 patch 8.1.1934: not enough tests for text property popup window
Problem:    Not enough tests for text property popup window.
Solution:   Add a few more tests.
2019-08-28 22:18:30 +02:00
0522ba0359 patch 8.1.1933: the eval.c file is too big
Problem:    The eval.c file is too big.
Solution:   Move code related to variables to evalvars.c. (Yegappan
            Lakshmanan, closes #4868)
2019-08-27 22:48:30 +02:00
d20070274c patch 8.1.1932: ml_get errors after using append()
Problem:    Ml_get errors after using append(). (Alex Genco)
Solution:   Do not update the cursor twice. (closes #1737)
2019-08-27 21:56:06 +02:00
ea7a08a53e patch 8.1.1931: syntax test fails
Problem:    Syntax test fails.
Solution:   Add new javascriptreact type to completions.
2019-08-26 22:38:22 +02:00
92852cee3f patch 8.1.1930: cannot recognize .jsx and .tsx files
Problem:    Cannot recognize .jsx and .tsx files.
Solution:   Recognize them as javascriptreact and typescriptreact.
            (closes #4830)
2019-08-26 21:28:15 +02:00
8e95636a28 patch 8.1.1929: no tests for text property popup window
Problem:    No tests for text property popup window.
Solution:   Add a few tests.
2019-08-25 23:08:17 +02:00
12034e22dd patch 8.1.1928: popup windows don't move with the text when making changes
Problem:    Popup windows don't move with the text when making changes.
Solution:   Add the 'textprop" property to the popup window options, position
            the popup relative to a text property. (closes #4560)
            No tests yet.
2019-08-25 22:25:02 +02:00
307c5a5bb7 patch 8.1.1927: code for dealing with script files is spread out
Problem:    Code for dealing with script files is spread out.
Solution:   Move the code to scriptfile.c. (Yegappan Lakshmanan, closes #4861)
2019-08-25 15:41:00 +02:00
c2b97643a8 patch 8.1.1926: cursorline not redrawn when putting a line above the cursor
Problem:    Cursorline not redrawn when putting a line above the cursor.
Solution:   Redraw when the curor line is below a change. (closes #4862)
2019-08-25 14:48:37 +02:00
4c313b13fb patch 8.1.1925: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-08-24 22:58:31 +02:00
a8eee21e75 patch 8.1.1924: using empty string for current buffer is unexpected
Problem:    Using empty string for current buffer is unexpected.
Solution:   Make the argument optional for bufname() and bufnr().
2019-08-24 22:14:58 +02:00
4119309d70 patch 8.1.1923: some source files are not in a normal encoding
Problem:    Some source files are not in a normal encoding.
Solution:   Convert hangulin.c from euc-kr to utf-8 and digraph.c from latin1
            to utf-8. (Daniel Hahler, closes #4731)
2019-08-24 21:53:31 +02:00
4f57eefe1e patch 8.1.1922: in diff mode global operations can be very slow
Problem:    In diff mode global operations can be very slow.
Solution:   Do not call diff_redraw() many times, call it once when redrawing.
            And also don't update folds multiple times.
2019-08-24 20:54:19 +02:00
a4208966fb patch 8.1.1921: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-08-24 20:50:19 +02:00
f63962378d patch 8.1.1920: cannot always close a popup when filter consumes all events
Problem:    Cannot close a popup by the X when a filter consumes all events.
Solution:   Check for a click on the close button before invoking filters.
            (closes #4858)
2019-08-24 19:36:00 +02:00
4645104be4 patch 8.1.1919: using window options when passing a buffer to popup_create()
Problem:    Using current window option values when passing a buffer to
            popup_create().
Solution:   Clear the window-local options. (closes #4857)
2019-08-24 15:50:46 +02:00
e9a891f255 patch 8.1.1918: redrawing popups is inefficient
Problem:    Redrawing popups is inefficient.
Solution:   Fix the logic to compute what window lines to redraw.  Make it
            work below the last line.  Remove redrawing all windows.
2019-08-24 15:26:24 +02:00
356375fbf8 patch 8.1.1917: non-current window is not redrawn when moving popup
Problem:    Non-current window is not redrawn when moving popup. (Ben Jackson)
Solution:   Redraw all windows under a popup. (closes #4860)
2019-08-24 14:46:29 +02:00
741ea17038 patch 8.1.1916: trying to allocate negative amount of memory closing popup
Problem:    Trying to allocate negative amount of memory when closing a popup.
Solution:   Check the rows are not out of bounds.  Don't finish a selection if
            it was never started.
2019-08-24 14:16:32 +02:00
1a3a89168d patch 8.1.1915: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-08-23 22:31:37 +02:00
d019039ccd patch 8.1.1914: command line expansion code is spread out
Problem:    Command line expansion code is spread out.
Solution:   Move set_one_cmd_context(). (Yegappan Lakshmanan, closes #4855)
2019-08-23 21:17:35 +02:00
37f4cbd46f patch 8.1.1913: not easy to compute the space on the command line
Problem:    Not easy to compute the space on the command line.
Solution:   Add v:echospace. (Daniel Hahler, closes #4732)
2019-08-23 20:58:45 +02:00
570497ac40 patch 8.1.1912: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make channel and job functions usable as a method.
2019-08-22 22:55:13 +02:00
64b4d73524 patch 8.1.1911: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make a few more functions usable as a method.
2019-08-22 22:18:17 +02:00
448262176b patch 8.1.1910: redrawing too much when toggling 'relativenumber'
Problem:    Redrawing too much when toggling 'relativenumber'.
Solution:   Only clear when 'signcolumn' is set to "number". (Yegappan
            Lakshmanan, closes #4852)
2019-08-22 21:23:20 +02:00
e49fbff384 patch 8.1.1909: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make a few more functions usable as a method.
2019-08-21 22:50:07 +02:00
00b0d6d8dc patch 8.1.1908: every popup window consumes a buffer number
Problem:    Every popup window consumes a buffer number.
Solution:   Recycle buffers only used for popup windows.  Do not list popup
            window buffers.
2019-08-21 22:25:30 +02:00
fe6e7618b4 patch 8.1.1907: wrong position for info popup with scrollbar on the left
Problem:    Wrong position for info popup with scrollbar on the left.
Solution:   Take the scrollbar into account.
2019-08-21 20:57:20 +02:00
c1f87c9a31 patch 8.1.1906: info popup size is sometimes incorrect
Problem:    Info popup size is sometimes incorrect.
Solution:   Compute the position and size after setting the content.
2019-08-21 19:33:16 +02:00
c7c5f10a36 patch 8.1.1905: cannot set all properties of the info popup
Problem:    Cannot set all properties of the info popup.
Solution:   Add popup_findinfo().  Rename popup_getpreview() to
            popup_findpreview().
2019-08-21 18:31:03 +02:00
258cef59d8 patch 8.1.1904: cannot have an info popup align with the popup menu
Problem:    Cannot have an info popup align with the popup menu.
Solution:   Add the "align" item to 'completepopup'.
2019-08-21 17:29:29 +02:00
9cb698d564 patch 8.1.1903: cannot build without the +eval feature
Problem:    Cannot build without the +eval feature.
Solution:   Add missing #ifdefs
2019-08-21 15:30:45 +02:00
bd483b3f57 patch 8.1.1902: cannot have an info popup without a border
Problem:    Cannot have an info popup without a border.
Solution:   Add the "border" item to 'completepopup'.
2019-08-21 15:13:41 +02:00
e2c453d38f patch 8.1.1901: the +insert_expand feature is not always available
Problem:    The +insert_expand feature is not always available.
Solution:   Graduate the +insert_expand feature.
2019-08-21 14:37:09 +02:00
d933c82ff4 patch 8.1.1900: sign test fails in the GUI
Problem:    Sign test fails in the GUI.
Solution:   Catch and ignore the exception.
2019-08-21 13:45:16 +02:00
42aff46d97 patch 8.1.1899: sign_place() does not work as documented
Problem:    sign_place() does not work as documented.
Solution:   Make accept line numbers like line(). (Yegappan Lakshmanan,
            closes #4848)
2019-08-21 13:20:29 +02:00
4dc8f498aa patch 8.1.1898: crash when out of memory during startup
Problem:    Crash when out of memory during startup.
Solution:   When out of memory message given during initialisation bail out.
            (closes #4842)
2019-08-21 13:06:55 +02:00
f1552d07d7 patch 8.1.1897: may free memory twice when out of memory
Problem:    May free memory twice when out of memory.
Solution:   Check that backslash_halve_save() returns a different pointer.
            (Dominique Pelle, closes #4847)
2019-08-21 12:54:18 +02:00
eaf3524119 patch 8.1.1896: compiler warning for unused variable
Problem:    Compiler warning for unused variable.
Solution:   Add #ifdef. (John Marriott)  Missing part of 8.1.1892.
2019-08-20 23:14:15 +02:00
6f10c70b59 patch 8.1.1895: using NULL pointer when out of memory
Problem:    Using NULL pointer when out of memory.
Solution:   Bail out or skip the code using the pointer. (Zu-Ming Jiang,
            closes #4805, closes #4843, closes #4939, closes #4844)
2019-08-20 22:58:37 +02:00
1058c9d9b5 patch 8.1.1894: not checking for out-of-memory of autoload_name()
Problem:    Not checking for out-of-memory of autoload_name().
Solution:   Check for NULL. (Dominique Pelle, closes #4846)
2019-08-20 21:58:00 +02:00
f1e0544d41 patch 8.1.1893: script to summarize test results can be improved
Problem:    Script to summarize test results can be improved.
Solution:   Use "silent" for substitute to avoid reporting number of matches.
            Remove duplicate "set nocp". (Daniel Hahler, closes #4845)
2019-08-20 21:25:46 +02:00
36e4d985f0 patch 8.1.1892: missing index entry and option menu for 'completepopup'
Problem:    Missing index entry and option menu for 'completepopup'.
Solution:   Add the entries.  Adjust #ifdefs to avoid dead code.
2019-08-20 21:12:16 +02:00
5843f5f37b patch 8.1.1891: functions used in one file are global
Problem:    Functions used in one file are global.
Solution:   Add "static". (Yegappan Lakshmanan, closes #4840)
2019-08-20 20:13:45 +02:00
9a4a8c4d59 patch 8.1.1890: ml_get error when deleting fold marker
Problem:    Ml_get error when deleting fold marker.
Solution:   Check that the line number is not below the last line.  Adjust the
            fold when deleting the empty line.  (Christian Brabandt,
            closes #4834)
2019-08-19 22:48:30 +02:00
ea7ecfe2a0 patch 8.1.1889: Coverity warns for using a NULL pointer
Problem:    Coverity warns for using a NULL pointer.
Solution:   Use zero for column if pos is NULL.
2019-08-19 20:08:15 +02:00
073e4b92e6 patch 8.1.1888: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-08-18 23:01:56 +02:00
0a52df50a0 patch 8.1.1887: the +cmdline_compl feature is not in the tiny version
Problem:    The +cmdline_compl feature is not in the tiny version.
Solution:   Graduate the +cmdline_compl feature.
2019-08-18 22:26:31 +02:00
66b51420e0 patch 8.1.1886: command line expansion code is spread out
Problem:    Command line expansion code is spread out.
Solution:   Move the code to cmdexpand.c. (Yegappan Lakshmanan, closes #4831)
2019-08-18 21:44:12 +02:00
db1085a563 patch 8.1.1885: comments in libvterm are inconsistent
Problem:    Comments in libvterm are inconsistent.
Solution:   Use // comments.  Als update the table of combining characters.
2019-08-18 20:41:38 +02:00
f0bc15c769 patch 8.1.1884: cannot use mouse scroll wheel in popup in Insert mode
Problem:    Cannot use mouse scroll wheel in popup in Insert mode.  Mouse
            clicks in popup close the popup menu.
Solution:   Check if the mouse is in a popup window. Do not let mouse events
            close the popup menu.  (closes #4544)
2019-08-18 19:23:45 +02:00
9513d91be0 patch 8.1.1883: options test fails
Problem:    Options test fails.
Solution:   Add entry for 'completepopup'.
2019-08-18 17:58:11 +02:00
62a0cb443c patch 8.1.1882: cannot specify properties of the info popup window
Problem:    Cannot specify properties of the info popup window.
Solution:   Add the 'completepopup' option.  Default to PmenuSel highlight.
2019-08-18 16:35:23 +02:00
f4665e78f2 patch 8.1.1881: popup window test fails in some configurations
Problem:    Popup window test fails in some configurations.
Solution:   Check that screendumps can be made.
2019-08-18 15:42:10 +02:00
576a4a6ff1 patch 8.1.1880: cannot show extra info for completion in a popup window
Problem:    Cannot show extra info for completion in a popup window.
Solution:   Add the "popup" entry in 'completeopt'.
2019-08-18 15:25:17 +02:00
93cf85f9ef patch 8.1.1879: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make float functions usable as a method.
2019-08-17 21:36:28 +02:00
9cfe8f6e68 patch 8.1.1878: negative float before method not parsed correctly
Problem:    Negative float before method not parsed correctly.
Solution:   Apply "!" and "-" in front of expression before using ->.
2019-08-17 21:04:16 +02:00
ffc0716af8 patch 8.1.1877: graduated features scattered
Problem:    Graduated features scattered.
Solution:   Put graduated and obsolete features together.
2019-08-17 20:17:51 +02:00
f8b055d170 patch 8.1.1876: proto file missing from distribution
Problem:    proto file missing from distribution
Solution:   Add the file.
2019-08-17 20:10:42 +02:00
56c860c315 Update runtime files. 2019-08-17 20:09:31 +02:00
e9bd57286a patch 8.1.1875: cannot get size and position of the popup menu
Problem:    Cannot get size and position of the popup menu.
Solution:   Add pum_getpos(). (Ben Jackson, closes #4827)
2019-08-17 19:36:06 +02:00
4dd751b956 patch 8.1.1874: modeless selection in popup window overlaps scrollbar
Problem:    Modeless selection in popup window overlaps scrollbar.
Solution:   Subtract scrollbar from max_col. (closes #4773)
2019-08-17 19:10:53 +02:00
df70775555 patch 8.1.1873: cannot build tiny version
Problem:    Cannot build tiny version.
Solution:   Remove #ifdef for is_autocmd_blocked().
2019-08-17 17:50:07 +02:00
c7226684c8 patch 8.1.1872: when Vim exits because of a signal, VimLeave is not triggered
Problem:    When Vim exits because of a signal, VimLeave is not triggered.
            (Daniel Hahler)
Solution:   Unblock autocommands when triggering VimLeave. (closes #4818)
2019-08-17 16:33:23 +02:00
ff9f27cdc7 patch 8.1.1871: modeless selection in GUI still not correct
Problem:    Modeless selection in GUI still not correct.
Solution:   Fix max_col.
2019-08-17 16:15:53 +02:00
026587b35c patch 8.1.1870: using :pedit from a help file sets help filetype
Problem:    Using :pedit from a help file sets the preview window to help
            filetype. (Wang Shidong)
Solution:   Do not set "keep_help_flag". (closes #3536)
2019-08-17 15:08:00 +02:00
4ad62155a1 patch 8.1.1869: code for the argument list is spread out
Problem:    Code for the argument list is spread out.
Solution:   Put argument list code in arglist.c. (Yegappan Lakshmanan,
            closes #4819)
2019-08-17 14:38:55 +02:00
69cbbecf54 patch 8.1.1868: multi-byte chars in 'listchars' fail with 'linebreak' set
Problem:    Multibyte characters in 'listchars' don't work correctly if
            'linebreak' is also enabled. (Martin Tournoij)
Solution:   Make it work correctly. (Christian Brabandt, closes #4822,
            closes #4812)
2019-08-17 14:10:56 +02:00
315244d85b patch 8.1.1867: still a timer test that is flaky on Mac
Problem:    Still a timer test that is flaky on Mac.
Solution:   Loop with a sleep instead of one fixed sleep.
2019-08-17 13:18:16 +02:00
d5cf89872e patch 8.1.1866: modeless selection in GUI does not work properly
Problem:    Modeless selection in GUI does not work properly.
Solution:   Avoid going beyond the end of the line. (closes #4783)
2019-08-16 23:09:11 +02:00
a3891681f7 patch 8.1.1865: spellrare and spellrepall in the wrong order
Problem:    Spellrare and spellrepall in the wrong order.
Solution:   Put spellrare below spellrepall. (closes #4820)
2019-08-16 22:42:13 +02:00
413c04e8d5 patch 8.1.1864: still a timer test that is flaky on Mac
Problem:    Still a timer test that is flaky on Mac.
Solution:   Adjust the sleep times.
2019-08-16 22:29:18 +02:00
9174639a82 patch 8.1.1863: confusing error when using a builtin function as method
Problem:    Confusing error when using a builtin function as method while it
            does not support that.
Solution:   Add a specific error message.
2019-08-16 22:22:31 +02:00
9c272a9e52 patch 8.1.1862: Coverity warns for not using return value
Problem:    Coverity warns for not using return value.
Solution:   Add "(void)" to avoid the warning.
2019-08-16 21:54:27 +02:00
24278d2407 patch 8.1.1861: only some assert functions can be used as a method
Problem:    Only some assert functions can be used as a method.
Solution:   Allow using most assert functions as a method.
2019-08-16 21:49:22 +02:00
ea94c85516 patch 8.1.1860: map timeout test is flaky
Problem:    Map timeout test is flaky.
Solution:   Add test to list of flaky tests.  Increase timeout.
2019-08-16 21:47:27 +02:00
427dddf014 patch 8.1.1859: timer test sometimes fails on Mac
Problem:    Timer test sometimes fails on Mac.
Solution:   Show more info when it fails.
2019-08-16 21:22:41 +02:00
2f710afe7f patch 8.1.1858: test for multi-byte mapping fails on some systems
Problem:    Test for multi-byte mapping fails on some systems.
Solution:   Test in another way.
2019-08-16 20:56:03 +02:00
c8fd33d18b patch 8.1.1857: cannot use modifier with multi-byte character
Problem:    Cannot use modifier with multi-byte character.
Solution:   Allow using a multi-byte character, although it doesn't work
            everywhere.
2019-08-16 20:33:05 +02:00
78d629a385 patch 8.1.1856: popup preview test fails sometimes
Problem:    popup preview test fails sometimes. (Christian Brabandt)
Solution:   Clear the command line.
2019-08-16 17:31:15 +02:00
9a2fddcf04 patch 8.1.1855: another failing timer test
Problem:    Another failing timer test.
Solution:   Assert that timers are finished by the end of the test.  Rename
            test functions to make them easier to find.
2019-08-16 11:26:06 +02:00
973d5304a4 patch 8.1.1854: now another timer test is flaky
Problem:    Now another timer test is flaky.
Solution:   Add test to list of flaky tests.
2019-08-16 10:51:10 +02:00
52953194af patch 8.1.1853: timers test is still flaky
Problem:    Timers test is still flaky.
Solution:   Compute the time to sleep more accurately.
2019-08-16 10:27:13 +02:00
7e6feb9eeb patch 8.1.1852: timers test is flaky
Problem:    Timers test is flaky.
Solution:   Accept a larger count.  Add test to list of flaky tests.
2019-08-15 23:42:21 +02:00
28e67e0c14 patch 8.1.1851: crash when sound_playfile() callback plays sound
Problem:    Crash when sound_playfile() callback plays sound.
Solution:   Invoke callback later from event loop.
2019-08-15 23:05:49 +02:00
5dd143e223 patch 8.1.1850: focus may remain in popup window
Problem:    Focus may remain in popup window.
Solution:   Change focus if needed.
2019-08-15 21:34:34 +02:00
9bca58f36d patch 8.1.1849 2019-08-15 21:31:52 +02:00
a4b2699e28 patch 8.1.1848: 'langmap' is not used for CTRL-W command in terminal
Problem:    'langmap' is not used for CTRL-W command in terminal.
Solution:   Push the command in the typeahead buffer instead of the stuff
            buffer. (closes #4814)
2019-08-15 20:58:54 +02:00
185d68a9d0 patch 8.1.1847: suspend test is failing
Problem:    Suspend test is failing.
Solution:   Do not use GetVimCommandClean().
2019-08-15 11:21:15 +02:00
93344c2d70 patch 8.1.1846: inconsistently using GetVimCommand() and v:progpath
Problem:    Inconsistently using GetVimCommand() and v:progpath. (Daniel
            Hahler)
Solution:   Use GetVimCommand(). (closes #4806)
2019-08-14 21:12:05 +02:00
6ace95e981 patch 8.1.1845: may use NULL pointer when running out of memory
Problem:    May use NULL pointer when running out of memory.
Solution:   Do not clear popup buffers when NULL. (closes #4802)
2019-08-13 23:09:49 +02:00
45311b5274 patch 8.1.1844: buffer no longer unloaded when adding text properties
Problem:    Buffer no longer unloaded when adding text properties to it.
Solution:   Do not create the memfile. (closes #4808)
2019-08-13 22:27:32 +02:00
f077db2423 patch 8.1.1843: might be freeing memory that was not allocated
Problem:    Might be freeing memory that was not allocated.
Solution:   Have next_fenc() set the fenc_alloced flag. (closes #4804)
2019-08-13 00:18:24 +02:00
9570aacdb8 patch 8.1.1842: test listed as flaky should no longer be flaky
Problem:    Test listed as flaky should no longer be flaky.
Solution:   Remove Test_popup_and_window_resize from the list of flaky tests.
            (Daniel Hahler, close #4807)
2019-08-12 23:56:20 +02:00
d5e3cc11d3 patch 8.1.1841: no test for Ex shift commands
Problem:    No test for Ex shift commands.
Solution:   Add a test. (Dominique Pelle, closes #4801)
2019-08-12 14:38:02 +02:00
52992feafe patch 8.1.1840: Testing: WorkingClipboard() is not accurate
Problem:    Testing: WorkingClipboard() is not accurate.
Solution:   Check feature clipboard_working instead.
2019-08-12 14:20:33 +02:00
0b5dc64446 patch 8.1.1839: insufficient info when test fails because of screen size
Problem:    Insufficient info when test fails because of screen size.
Solution:   Report the detected screen size.
2019-08-11 22:56:15 +02:00
08cc374dab patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Problem:    There is :spellwrong and :spellgood but not :spellrare.
Solution:   Add :spellrare. (Martin Tournoij, closes #4291)
2019-08-11 22:51:14 +02:00
4999a7fb65 patch 8.1.1837: popup test fails if clipboard is supported but not working
Problem:    Popup test fails if clipboard is supported but not working.
Solution:   Add the "clipboard_working" feature. Also use Check commands
            instead of "if" and "throw".  And remove stray ch_logfile().
2019-08-10 22:21:48 +02:00
a9ab391a3a patch 8.1.1836: inaccurate memory estimate for Amiga-like OS
Problem:    Inaccurate memory estimate for Amiga-like OS.
Solution:   Adjust #ifdef for AvailMem(). (Ola Söder, closes #4797)
2019-08-10 14:54:20 +02:00
fd8ca21b3f patch 8.1.1835: cannot use printf() as a method
Problem:    Cannot use printf() as a method.
Solution:   Pass the base as the second argument to printf().
2019-08-10 00:13:30 +02:00
22a0c0c4ec patch 8.1.1834: cannot use a lambda as a method
Problem:    Cannot use a lambda as a method.
Solution:   Implement ->{lambda}(). (closes #4768)
2019-08-09 23:25:08 +02:00
0c779e8e48 patch 8.1.1833: allocating a bit too much when there is no bad word.
Problem:    Allocating a bit too much when spellbadword() does not find a bad
            word.
Solution:   Reset "len" when going to the next word. (Daniel Hahler,
            closes #4788)
2019-08-09 17:01:02 +02:00
820680b9ff patch 8.1.1832: win_execute() does not work in other tab
Problem:    Win_execute() does not work in other tab. (Rick Howe)
Solution:   Take care of the tab. (closes #4792)
2019-08-09 14:56:22 +02:00
2514315fc2 patch 8.1.1831: confusing skipped message
Problem:    Confusing skipped message.
Solution:   Drop "run" from "run start the GUI".
2019-08-09 14:13:57 +02:00
088e8e3443 Update runtime files. 2019-08-08 22:15:18 +02:00
a576f50662 patch 8.1.1830: Travis does not report error when tests fail
Problem:    Travis does not report error when tests fail.
Solution:   Explicitly do "exit 1".
2019-08-08 22:02:35 +02:00
39de6413c8 patch 8.1.1829: difference in screenshots
Problem:    Difference in screenshots.
Solution:   Update screenshots.  Change checks in a few more tests.
            (closes #4789)
2019-08-08 21:52:39 +02:00
5184132ec0 patch 8.1.1828: not strict enough checking syntax of method invocation
Problem:    Not strict enough checking syntax of method invocation.
Solution:   Check there is no white space inside ->method(.
2019-08-08 21:10:01 +02:00
47ed553fd5 patch 8.1.1827: allocating more memory than needed for extended structs
Problem:    Allocating more memory than needed for extended structs.
Solution:   Use offsetof() instead of sizeof(). (Dominique Pelle,
            closes #4786)
2019-08-08 20:49:14 +02:00
8c5a278fc5 patch 8.1.1826: tests use hand coded feature and option checks
Problem:    Tests use hand coded feature and option checks.
Solution:   Use the commands from check.vim in more tests.
2019-08-07 23:07:07 +02:00
b59e735772 patch 8.1.1825: allocating more memory than needed for extended structs
Problem:    Allocating more memory than needed for extended structs.
Solution:   Use offsetof() instead of sizeof(). (Dominique Pelle,
            closes #4785)
2019-08-07 21:42:24 +02:00
5bcc5a1ff9 patch 8.1.1824: crash when correctly spelled word is very long
Problem:    Crash when correctly spelled word is very long. (Ben Kraft)
Solution:   Check word length before copying. (closes #4778)
2019-08-06 22:48:02 +02:00
d7663c22c6 patch 8.1.1823: command line history code is spread out
Problem:    Command line history code is spread out.
Solution:   Put the code in a new file. (Yegappan Lakshmanan, closes #4779)
            Also graduate the +cmdline_hist feature.
2019-08-06 21:59:57 +02:00
0acae7acc4 patch 8.1.1822: confusing error message when range is not allowed
Problem:    Confusing error message when range is not allowed.
Solution:   With ADDR_NONE give e_norange.  Change e_invaddr to e_invrange for
            consistency.
2019-08-06 21:29:29 +02:00
f97d46f816 patch 8.1.1821: no test for wrong number of method arguments
Problem:    No test for wrong number of method arguments.
Solution:   Add a test.
2019-08-06 20:34:10 +02:00
761fdf01c6 patch 8.1.1820: using expr->FuncRef() does not work
Problem:    Using expr->FuncRef() does not work.
Solution:   Make FuncRef work as a method.
2019-08-05 23:10:16 +02:00
1b6d9c4215 patch 8.1.1819: :pedit does not work with a popup preview window
Problem:    :pedit does not work with a popup preview window.
Solution:   Avoid aborting with an error. (fixes #4777)  Also double check
            that after prepare_tagpreview() the current window is not a
            popup window.
2019-08-05 21:52:04 +02:00
b4a88a0441 patch 8.1.1818: unused variable
Problem:    Unused variable.
Solution:   Remove the variable. (Mike Williams)
2019-08-05 20:18:14 +02:00
6f33b893c6 patch 8.1.1817: github contribution text is incomplete
Problem:    Github contribution text is incomplete.
Solution:   Update the text.
2019-08-04 23:22:08 +02:00
fcfe1a9b89 patch 8.1.1816: cannot use a user defined function as a method
Problem:    Cannot use a user defined function as a method.
Solution:   Pass the base as the first argument to the user defined function
            after "->". (partly by FUJIWARA Takuya)
2019-08-04 23:04:39 +02:00
7a4ea1df2f patch 8.1.1815: duplicating info for internal functions
Problem:    Duplicating info for internal functions.
Solution:   Use one table to list internal functions.
2019-08-04 21:35:12 +02:00
5d458a7b3d patch 8.1.1814: a long title in a popup window overflows
Problem:    A long title in a popup window overflows.
Solution:   Truncate the title. (closes #4770)
2019-08-04 21:12:15 +02:00
2debf1c16b patch 8.1.1813: ATTENTION prompt for a preview popup window
Problem:    ATTENTION prompt for a preview popup window.
Solution:   Close the popup window if aborting the buffer load.  Avoid getting
            the ATTENTION dialog.
2019-08-04 20:44:19 +02:00
fb06d767a8 patch 8.1.1812: reading a truncted undo file hangs Vim
Problem:    Reading a truncted undo file hangs Vim.
Solution:   Check for reading EOF. (closes #4769)
2019-08-04 18:55:35 +02:00
c363fe1599 patch 8.1.1811: popup window color cannot be set to "Normal"
Problem:    Popup window color cannot be set to "Normal".
Solution:   Check for non-empty 'wincolor' instead of zero attribute.
            (closes #4772)
2019-08-04 18:13:46 +02:00
b8350abef0 patch 8.1.1810: popup_getoptions() is missing an entry for "mapping"
Problem:    Popup_getoptions() is missing an entry for "mapping".
Solution:   Add the entry.
2019-08-04 17:59:49 +02:00
a74e4946de patch 8.1.1809: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Add has_key(), split(), str2list(), etc.
2019-08-04 17:35:53 +02:00
e4ce825a55 patch 8.1.1808: build failure for tiny version
Problem:    Build failure for tiny version.
Solution:   Define ex_eval to ex_ni.  Clean up the ordering a bit.
2019-08-04 15:30:16 +02:00
25e42231d3 patch 8.1.1807: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Add append(), appendbufline(), assert_equal(), etc.
            Also add the :eval command.
2019-08-04 15:04:10 +02:00
7cc535175a patch 8.1.1806: test for display updating doesn't check without statusline
Problem:    Test for display updating doesn't check without statusline.
Solution:   Add screenshots without a status line.
2019-08-03 23:30:21 +02:00
6cd57d4466 patch 8.1.1805: au_did_filetype is declared twice
Problem:    Au_did_filetype is declared twice.
Solution:   Remove it from autocmd.c. (closes #4767)
2019-08-03 23:08:14 +02:00
3c8ee62974 patch 8.1.1804: no test for display updating without a scroll region
Problem:    No test for display updating without a scroll region.
Solution:   Add a test.
2019-08-03 22:55:50 +02:00
ac92e25a33 patch 8.1.1803: all builtin functions are global
Problem:    All builtin functions are global.
Solution:   Add the method call operator ->.  Implemented for a limited number
            of functions.
2019-08-03 21:58:38 +02:00
b2129068a5 patch 8.1.1802: missing change to call_callback()
Problem:    Missing change to call_callback().
Solution:   Add missing change.
2019-08-03 18:31:11 +02:00
505e43a20e patch 8.1.1801: cannot build without the +eval feature
Problem:    Cannot build without the +eval feature.
Solution:   Always define funcexe_T.
2019-08-03 18:28:17 +02:00
c6538bcc1c patch 8.1.1800: function call functions have too many arguments
Problem:    Function call functions have too many arguments.
Solution:   Pass values in a funcexe_T struct.
2019-08-03 18:17:11 +02:00
749fa0af85 patch 8.1.1799: cannot avoid mapping for a popup window
Problem:    Cannot avoid mapping for a popup window.
Solution:   Add the "mapping" property, default TRUE.
2019-08-03 16:18:07 +02:00
eda35f7127 patch 8.1.1798: warning for unused variable in tiny version
Problem:    Warning for unused variable in tiny version. (Tony Mechelynck)
Solution:   Move inside #ifdef.  Reformat code.
2019-08-03 14:59:44 +02:00
edd680f364 patch 8.1.1797: the vgetorpeek() function is too long
Problem:    The vgetorpeek() function is too long.
Solution:   Split off the part that handles mappings, with fix.
2019-08-03 14:23:48 +02:00
72e1b39111 patch 8.1.1796: :argdo is not tested
Problem:    :argdo is not tested
Solution:   Add a test.
2019-08-03 13:50:08 +02:00
c7f1e40021 patch 8.1.1795: no syntax HL after splitting windows with :bufdo
Problem:    No syntax HL after splitting windows with :bufdo. (Yasuhiro
            Matsumoto)
Solution:   Trigger Syntax autocommands in buffers that are active.
            (closes #4761)
2019-08-03 13:29:46 +02:00
f2d8b7a0a6 patch 8.1.1794: tests are flaky
Problem:    Tests are flaky.
Solution:   Undo the change to vgetorpeek().
2019-08-02 22:46:11 +02:00
1ccaa35abf patch 8.1.1793: mixed comment style in globals
Problem:    Mixed comment style in globals.
Solution:   Use // comments where appropriate.
2019-08-02 22:08:25 +02:00
dd00035cb5 patch 8.1.1792: the vgetorpeek() function is too long
Problem:    The vgetorpeek() function is too long.
Solution:   Split off the part that handles mappings.
2019-08-02 21:35:33 +02:00
50f91d22bd patch 8.1.1791: 'completeslash' also applies to globpath()
Problem:    'completeslash' also applies to globpath().
Solution:   Add the WILD_IGNORE_COMPLETESLASH flag. (test by Yasuhiro
            Matsumoto, closes #4760)
2019-08-02 19:52:15 +02:00
8750026a7f patch 8.1.1790: :mkvimrc is not tested
Problem:    :mkvimrc is not tested.
Solution:   Add a test.
2019-08-01 23:05:49 +02:00
90f3e7ac56 patch 8.1.1789: cannot see file name of preview popup window
Problem:    Cannot see file name of preview popup window.
Solution:   Add the file name as the title.
2019-08-01 22:40:44 +02:00
f4fd7ecbc0 patch 8.1.1788: missing changes in proto file
Problem:    missing changes in proto file
Solution:   Update proto file.
2019-08-01 21:26:00 +02:00
9bcb70c18a patch 8.1.1787: cannot resize a popup window
Problem:    Cannot resize a popup window.
Solution:   Allow for resizing by dragging the lower right corncer.
2019-08-01 21:11:05 +02:00
13b11eddca patch 8.1.1786: double click in popup scrollbar starts selection
Problem:    Double click in popup scrollbar starts selection.
Solution:   Ignore the double click.
2019-08-01 15:52:45 +02:00
b66bab381c patch 8.1.1785: map functionality mixed with character input
Problem:    Map functionality mixed with character input.
Solution:   Move the map functionality to a separate file. (Yegappan
            Lakshmanan, closes #4740)  Graduate the +localmap feature.
2019-08-01 14:28:24 +02:00
3f9bdeb2a5 patch 8.1.1784: MS-Windows: resolve() does not work if serial nr duplicated
Problem:    MS-Windows: resolve() does not work if serial nr duplicated.
Solution:   Use another method to get the full path. (Ken Takata, closes #4661)
2019-08-01 13:55:37 +02:00
dff2adc8dd patch 8.1.1783: MS-Windows: compiler test may fail when using %:S
Problem:    MS-Windows: compiler test may fail when using %:S.
Solution:   Reset 'shellslash'.
2019-07-31 22:18:22 +02:00
5477506a9f Update runtime files. 2019-07-31 21:07:14 +02:00
0e6bfb9b2e patch 8.1.1782: MS-Windows: system() has temp file error with 'noshelltemp'
Problem:    MS-Windows: system() has temp file error with 'noshelltemp'.
Solution:   Check s_dont_use_vimrun. (Ken Takata, closes #4754)
2019-07-31 20:53:56 +02:00
70576f70f7 patch 8.1.1781: Amiga: no builtin OS readable version info
Problem:    Amiga: no builtin OS readable version info.
Solution:   Add a "version" variable. (Ola Söder, closes #4753)
2019-07-31 20:40:08 +02:00
674e2bde6e patch 8.1.1780: warning for file no longer available is repeated
Problem:    Warning for file no longer available is repeated every time Vim is
            focused. (Brian Armstrong)
Solution:   Only give the message once. (closes #4748)
2019-07-31 20:21:01 +02:00
8edf0e3132 patch 8.1.1779: not showing the popup window right border is confusing
Problem:    Not showing the popup window right border is confusing.
Solution:   Also show the border when 'wrap' is off. (closes #4747)
2019-07-30 21:19:26 +02:00
8c8b88d0cc patch 8.1.1778: not showing the popup window right border is confusing
Problem:    Not showing the popup window right border is confusing.
Solution:   Also show the border when there is no close button. (closes #4747)
2019-07-30 20:32:41 +02:00
f386f08ccb patch 8.1.1777: useless checks for job feature in channel test
Problem:    Useless checks for job feature in channel test.
Solution:   Remove the checks.  Remove ch_log() calls.
2019-07-29 23:03:03 +02:00
4641a122f2 patch 8.1.1776: text added with a job isn't displayed
Problem:    Text added with a job to another buffer isn't displayed.
Solution:   Update topline after adding a line. (closes #4745)
2019-07-29 22:10:23 +02:00
eee9f65b2a patch 8.1.1775: error message may be empty in filetype test
Problem:    Error message may be empty in filetype test.
Solution:   Use v:exception instead. (Daniel Hahler, closs #4744)
2019-07-29 21:14:42 +02:00
3c610c9638 patch 8.1.1774: test is silently skipped
Problem:    Test is silently skipped.
Solution:   Throw "Skipped".
2019-07-29 21:03:45 +02:00
13d5c3f616 patch 8.1.1773: the preview popup window may be too far to the right
Problem:    The preview popup window may be too far to the right.
Solution:   Keep it inside the screen.  Also keep the close button and
            scrollbar visible if possible.
2019-07-28 21:42:38 +02:00
b78564d022 patch 8.1.1772: options test still fails on MS-Windows
Problem:    Options test still fails on MS-Windows.
Solution:   Check buffer-local value of 'completeslash'.
2019-07-28 19:24:36 +02:00
d4404b4391 patch 8.1.1771: options test fails on MS-Windows
Problem:    Options test fails on MS-Windows.
Solution:   Add correct and incorrect values for 'completeslash'.
2019-07-28 18:38:09 +02:00
56c0c4749d patch 8.1.1770: cannot get the window ID of the popup preview window
Problem:    Cannot get the window ID of the popup preview window.
Solution:   Add popup_getpreview().
2019-07-28 17:57:43 +02:00
ac3150d385 patch 8.1.1769: 'shellslash' is also used for completion
Problem:    'shellslash' is also used for completion.
Solution:   Add the 'completeslash' option. (Yasuhiro Matsumoto, closes #3612)
2019-07-28 16:36:39 +02:00
bca9c30193 patch 8.1.1768: man plugin changes setting in current window
Problem:    Man plugin changes setting in current window.
Solution:   Set options later. (Jason Franklin)
2019-07-28 15:28:45 +02:00
f96ae0b5a2 patch 8.1.1767: FEAT_SESSION defined separately
Problem:    FEAT_SESSION defined separately.
Solution:   Make FEAT_SESSION depend on FEAT_EVAL.
2019-07-28 15:21:55 +02:00
2a9c9f6d89 undo extra changes in src/Makefile 2019-07-28 14:17:56 +02:00
8453807911 patch 8.1.1766: code for writing session file is spread out
Problem:    Code for writing session file is spread out.
Solution:   Put it in one file. (Yegappan Lakshmanan, closes #4728)
2019-07-28 14:15:42 +02:00
f91aac5e3e patch 8.1.1765: get(func, dict, def) does not work properly
Problem:    get(func, dict, def) does not work properly.
Solution:   Handle NULL dict better. (Takuya Fujiwara, closes #4734)
2019-07-28 13:21:01 +02:00
5328cb8986 patch 8.1.1764: ":browse oldfiles" is not tested
Problem:    ":browse oldfiles" is not tested.
Solution:   Add a test.
2019-07-27 23:27:51 +02:00
9f9fe37f67 patch 8.1.1763: evalfunc.c is still too big
Problem:    Evalfunc.c is still too big.
Solution:   Move dict and list functions to a better place.
2019-07-27 23:12:12 +02:00
c273405188 patch 8.1.1762: some filetype rules are in the wrong place
Problem:    Some filetype rules are in the wrong place.
Solution:   Move to the right place.  Add a few more tests.
2019-07-27 21:57:21 +02:00
4248111497 patch 8.1.1761: filetype "vuejs" causes problems for some users
Problem:    Filetype "vuejs" causes problems for some users.
Solution:   Rename to "vue".
2019-07-27 21:39:13 +02:00
9800bfe0fc patch 8.1.1760: extra line break for wrapping output of :args
Problem:    Extra line break for wrapping output of :args.
Solution:   Avoid the extra line break. (Daniel Hahler, closes #4737)
2019-07-27 21:23:45 +02:00
14371ed697 patch 8.1.1759: no mode char for terminal mapping from maparg()
Problem:    No mode char for terminal mapping from maparg().
Solution:   Check for TERMINAL mode. (closes #4735)
2019-07-27 21:05:21 +02:00
d5c8234517 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Problem:    Count of g$ not used correctly when text is not wrapped.
Solution:   Do use the count. (Christian Brabandt, closes #4729, closes #4566)
2019-07-27 18:44:57 +02:00
2984666291 patch 8.1.1757: text added with appendbufline() isn't displayed
Problem:    Text added with appendbufline() to another buffer isn't displayed.
Solution:   Update topline. (partly by Christian Brabandt, closes #4718)
2019-07-27 17:39:15 +02:00
1417c766f5 patch 8.1.1756: autocommand that splits window messes up window layout
Problem:    Autocommand that splits window messes up window layout.
Solution:   Disallow splitting a window while closing one.  In ":all" give an
            error when moving a window will not work.
2019-07-27 17:31:36 +02:00
0aca293fed patch 8.1.1755: leaking memory when using a popup window mask
Problem:    Leaking memory when using a popup window mask.
Solution:   Free the cached mask.
2019-07-26 22:22:38 +02:00
4f0d002cf9 patch 8.1.1754: build failure
Problem:    Build failure.
Solution:   Add missing change to window struct.
2019-07-26 22:20:03 +02:00
e865dcbce1 patch 8.1.1753: use of popup window mask is inefficient
Problem:    Use of popup window mask is inefficient.
Solution:   Precompute and cache the mask.
2019-07-26 22:15:50 +02:00
7b73d7ebf7 patch 8.1.1752: resizing hashtable is inefficient
Problem:    Resizing hashtable is inefficient.
Solution:   Avoid resizing when the final size is predictable.
2019-07-26 21:26:34 +02:00
9d5ffceb3f patch 8.1.1751: when redrawing popups plines_win() may be called often
Problem:    When redrawing popups plines_win() may be called often.
Solution:   Pass a cache to mouse_comp_pos().
2019-07-26 21:01:29 +02:00
8a5c29aee9 patch 8.1.1750: depending on the terminal width :version may miss a line break
Problem:    Depending on the terminal width :version may miss a line break.
Solution:   Add a line break when needed.
2019-07-26 19:48:19 +02:00
736cd2cfbe patch 8.1.1749: Coverity warns for using negative index
Problem:    Coverity warns for using negative index.
Solution:   Move using index inside "if".
2019-07-25 21:58:19 +02:00
74da39373c patch 8.1.1748: :args output is not aligned
Problem:    :args output is not aligned.
Solution:   Output a line break after the last item in a row.
2019-07-25 21:52:39 +02:00
fbfb757d4c patch 8.1.1747: compiler warning for unused variables
Problem:    Compiler warning for unused variables. (Tony Mechelynck)
Solution:   Add #ifdef.
2019-07-25 20:53:03 +02:00
94f82cbacf patch 8.1.1746: ":dl" is seen as ":dlist" instead of ":delete"
Problem:    ":dl" is seen as ":dlist" instead of ":delete".
Solution:   Do not use cmdidxs2[] if the length is 1. (closes #4721)
2019-07-24 22:30:27 +02:00
1f164b1968 patch 8.1.1745: compiler warning for unused argument
Problem:    Compiler warning for unused argument.
Solution:   Add UNUSED.  Change comments to new style.
2019-07-24 19:00:36 +02:00
07d1356648 patch 8.1.1744: build error without the conceal feature
Problem:    Build error without the conceal feature.
Solution:   Define variables also without the conceal feature.
2019-07-24 18:43:08 +02:00
bbca7732e8 patch 8.1.1743: 'hlsearch' and match highlighting in the wrong place
Problem:    'hlsearch' and match highlighting in the wrong place.
Solution:   Move highlighting from inside screen functions to highlight.c.
2019-07-24 18:13:16 +02:00
7dfb016d25 patch 8.1.1742: still some match functions in evalfunc.c
Problem:    Still some match functions in evalfunc.c.
Solution:   Move them to highlight.c.
2019-07-24 16:00:39 +02:00
4ef18dcc2e patch 8.1.1741: cleared/added match highlighting not updated in other window
Problem:    Cleared/added match highlighting not updated in other window.
            (Andi Massimino)
Solution:   Mark the right window for refresh.
2019-07-24 15:28:18 +02:00
d08b8c4c04 patch 8.1.1740: exepath() doesn't work for "bin/cat"
Problem:    Exepath() doesn't work for "bin/cat".
Solution:   Check for any path separator. (Daniel Hahler, closes #4724,
            closes #4710)
2019-07-24 14:59:45 +02:00
06029a857a patch 8.1.1739: deleted match highlighting not updated in other window
Problem:    Deleted match highlighting not updated in other window.
Solution:   Mark the window for refresh. (closes #4720)  Also fix that
            ambi-width check clears with wrong attributes.
2019-07-24 14:25:26 +02:00
9bc4dde45d patch 8.1.1738: testing lambda with timer is slow
Problem:    Testing lambda with timer is slow.
Solution:   Do not test timer accuracy, only that it works. (Daniel Hahler,
            closes #4723)
2019-07-24 13:08:29 +02:00
949f1989cb patch 8.1.1737: :args command that outputs one line gives more prompt
Problem:    :args command that outputs one line gives more prompt.
Solution:   Only output line break if needed. (Daniel Hahler, closes #4715)
2019-07-23 23:00:08 +02:00
c3328169d5 patch 8.1.1736: viminfo support is spread out
Problem:    Viminfo support is spread out.
Solution:   Move more viminfo code to viminfo.c. (Yegappan Lakshmanan,
            closes #4717)  Reorder code to make most functions static.
2019-07-23 22:15:25 +02:00
c61a48d259 patch 8.1.1735: can't build with tiny features
Problem:    Can't build with tiny features.
Solution:   Add missing #ifdefs.
2019-07-22 23:16:33 +02:00
29b7d7a9aa patch 8.1.1734: the evalfunc.c file is too big
Problem:    The evalfunc.c file is too big.
Solution:   Move some functions to other files.
2019-07-22 23:03:57 +02:00
e5e6950193 patch 8.1.1733: the man ftplugin leaves an empty buffer behind
Problem:    The man ftplugin leaves an empty buffer behind.
Solution:   Don't make new window and edit, use split. (Jason Franklin)
2019-07-22 22:09:21 +02:00
f03e328348 patch 8.1.1732: completion in cmdwin does not work for buffer-local commands
Problem:    Completion in cmdwin does not work for buffer-local commands.
Solution:   Use the right buffer. (closes #4711)
2019-07-22 21:55:18 +02:00
26b654a5df patch 8.1.1731: command line history not read from viminfo on startup
Problem:    Command line history not read from viminfo on startup.
Solution:   Get history length after initializing it.
2019-07-22 20:50:17 +02:00
1e78e69680 patch 8.1.1730: wrong place for mark viminfo support
Problem:    Wrong place for mark viminfo support.
Solution:   Move it to viminfo.c. (Yegappan Lakshmanan, closes #4716)
2019-07-22 20:18:27 +02:00
ecaa75b4ce patch 8.1.1729: heredoc with trim not properly handled in function
Problem:    Heredoc with trim not properly handled in function.
Solution:   Allow for missing indent. (FUJIWARA Takuya, closes #4713)
2019-07-21 23:04:21 +02:00
5f32ece459 patch 8.1.1728: wrong place for command line history viminfo support
Problem:    Wrong place for command line history viminfo support.
Solution:   Move it to viminfo.c.
2019-07-21 21:51:59 +02:00
defa067c54 patch 8.1.1727: code for viminfo support is spread out
Problem:    Code for viminfo support is spread out.
Solution:   Move to code to viminfo.c. (Yegappan Lakshmanan, closes #4686)
2019-07-21 19:25:37 +02:00
ed997adaa1 patch 8.1.1726: the eval.txt help file is too big
Problem:    The eval.txt help file is too big.
Solution:   Split off testing support to testing.txt.  Move function details
            to where the functionality is explained.
2019-07-21 16:42:00 +02:00
663bbc09ba patch 8.1.1725: MS-Windows: E325 message may use incorrect date format
Problem:    MS-Windows: E325 message may use incorrect date format.
Solution:   Convert strftime() result to 'encoding'.  Also make the message
            translatable. (Ken Takata, closes #4685, closes #4681)
2019-07-21 15:23:35 +02:00
b4fe0eb4b4 patch 8.1.1724: too much overhead checking for CTRL-C while processing text
Problem:    Too much overhead checking for CTRL-C while processing text.
Solution:   Increase BREAKCHECK_SKIP.  Remove the difference for when built
            with the GUI. (suggested by Andy Massimino, closes #4708)
2019-07-21 14:50:21 +02:00
2458200729 patch 8.1.1723: heredoc assignment has no room for new features
Problem:    Heredoc assignment has no room for new features. (FUJIWARA Takuya)
Solution:   Require the marker does not start with a lower case character.
            (closes #4705)
2019-07-21 14:14:26 +02:00
61343f0c44 patch 8.1.1722: error when scriptversion is 2 a making a dictionary access
Problem:    Error when scriptversion is 2 a making a dictionary access.
Solution:   Parse the subscript even when not evaluating the sub-expression.
            (closes #4704)
2019-07-20 21:11:13 +02:00
63187f7932 patch 8.1.1721: build failure with normal features without netbeans interface
Problem:    Build failure with normal features without netbeans interface.
Solution:   Enable signs when using the text properties feature.
2019-07-20 19:14:49 +02:00
2a5b52758b patch 8.1.1720: crash with very long %[] pattern
Problem:    Crash with very long %[] pattern. (Reza Mirzazade farkhani)
Solution:   Check for reg_toolong. (closes #4703)
2019-07-20 18:56:06 +02:00
331bafd481 patch 8.1.1719: popup too wide when 'showbreak' is set
Problem:    Popup too wide when 'showbreak' is set.
Solution:   Set window width when computing line length. (closes #4701)
2019-07-20 17:46:05 +02:00
cb5ff34c1b patch 8.1.1718: popup menu highlighting does not look good
Problem:    Popup menu highlighting does not look good.
Solution:   Highlight the whole window line.  Fix that sign line HL is not
            displayed in a window with a background color.
2019-07-20 16:51:19 +02:00
f914a33c9c patch 8.1.1717: last char in menu popup window highlighted
Problem:    Last char in menu popup window highlighted.
Solution:   Do not highlight an extra character twice.
2019-07-20 15:09:56 +02:00
ab0a789808 patch 8.1.1716: old style comments are wasting space
Problem:    Old style comments are wasting space
Solution:   Use new style comments in option header file.
2019-07-19 23:15:12 +02:00
06e6377009 patch 8.1.1715: emoji characters are seen as word characters for spelling
Problem:    Emoji characters are seen as word characters for spelling. (Gautam
            Iyer)
Solution:   Exclude class 3 from word characters.
2019-07-19 23:04:34 +02:00
85850f3a5e Update runtime files 2019-07-19 22:05:51 +02:00
7964873afe patch 8.1.1714: cannot preview a file in a popup window
Problem:    Cannot preview a file in a popup window.
Solution:   Add the 'previewpopup' option.
2019-07-18 21:43:07 +02:00
df9c6cad8c patch 8.1.1713: highlighting cursor line only works with popup_menu()
Problem:    Highlighting cursor line only works with popup_menu().
Solution:   Add the "cursorline" property. (Naruhiko Nishino, closes #4671)
2019-07-18 13:46:42 +02:00
d6bcff4577 patch 8.1.1712: signs in number column cause text to be misaligned
Problem:    Signs in number column cause text to be misaligned.
Solution:   Improve alignment. (Yasuhiro Matsumoto, closes #4694)
2019-07-18 12:48:16 +02:00
acf7544cf6 patch 8.1.1711: listener callback called at the wrong moment
Problem:    Listener callback called at the wrong moment
Solution:   Invoke listeners before calling ml_delete_int(). (closes #4657)
2019-07-17 22:55:35 +02:00
4a0a161a9b patch 8.1.1710: Coverity found dead code
Problem:    Coverity found dead code.
Solution:   Remove merging of listener changes.
2019-07-17 22:00:19 +02:00
403d090e39 patch 8.1.1709: Coverity warns for possibly using a NULL pointer
Problem:    Coverity warns for possibly using a NULL pointer.
Solution:   Make sure no NULL pointer is used.
2019-07-17 21:37:32 +02:00
3fb4f4762b patch 8.1.1708: Coverity warns for using uninitialized variable
Problem:    Coverity warns for using uninitialized variable.
Solution:   Set the start col when col is set.
2019-07-17 21:32:14 +02:00
cfdbc5adde patch 8.1.1707: Coverity warns for possibly using a NULL pointer
Problem:    Coverity warns for possibly using a NULL pointer.
Solution:   Change the logic to make sure no NULL pointer is used.
2019-07-17 21:27:52 +02:00
99a764bccd patch 8.1.1706: typo in #ifdef
Problem:    Typo in #ifdef.
Solution:   Change PROT to PROTO.
2019-07-17 20:01:48 +02:00
4c6d90458b patch 8.1.1705: using ~{} for a literal dict is not nice
Problem:    Using ~{} for a literal dict is not nice.
Solution:   Use #{} instead.
2019-07-16 22:04:02 +02:00
69a5b86794 patch 8.1.1704: C-R C-W does not work after C-G when using 'incsearch'
Problem:    C-R C-W does not work after C-G when using 'incsearch'.
Solution:   Put cursor at end of the match. (Yasuhiro Matsumoto, closes #4664)
2019-07-16 21:38:51 +02:00
6138640806 patch 8.1.1703: breaking out of loop by checking window pointer insufficient
Problem:    Breaking out of loop by checking window pointer is insufficient.
Solution:   Check the window ID and the buffer number. (closes #4683)
2019-07-16 21:19:55 +02:00
c7283078c3 patch 8.1.1702: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize it. (Christian Brabandt)
2019-07-16 20:12:44 +02:00
7ce2aa01c2 patch 8.1.1701: Appveyor build with MSVC fails puts progress bar in log
Problem:    Appveyor build with MSVC fails puts progress bar in log.
Solution:   Adjust the sed command. (Ken Takata)
2019-07-16 20:00:11 +02:00
250e3112c6 patch 8.1.1700: listener callback called for the wrong buffer
Problem:    Listener callback called for the wrong buffer.
Solution:   Invoke listeners before calling ml_append_int().
2019-07-15 23:02:14 +02:00
2ac6e82a4e patch 8.1.1699: highlight_ga can be local instead of global
Problem:    Highlight_ga can be local instead of global.
Solution:   Move highlight_ga into highlight.c. (Yegappan Lakshmanan,
            closes #4675)
2019-07-15 22:40:22 +02:00
5d6844566a patch 8.1.1698: Appveyor build with MSVC fails
Problem:    Appveyor build with MSVC fails.
Solution:   Remove the sed command
2019-07-15 22:03:40 +02:00
c9afd15bc8 patch 8.1.1697: cannot build with MSVC
Problem:    Cannto build with MSVC.
Solution:   Remove the backslashes after the @<< mechanism.
2019-07-15 21:15:05 +02:00
cea2a15687 patch 8.1.1696: MSVC: link command line is too long
Problem:    MSVC: link command line is too long.
Solution:   Use the @<< mechanism to pass the arguments via a file. (Christian
            Brabandt)
2019-07-15 20:44:57 +02:00
f49a692259 patch 8.1.1695: Windows 10: crash when cursor is at bottom of terminal
Problem:    Windows 10: crash when cursor is at bottom of terminal.
Solution:   Position the cursor before resizing. (Yasuhiro Matsumoto,
            closes #4679)
2019-07-15 20:37:05 +02:00
41a8260445 patch 8.1.1694: the RUN_VIM variable is longer than needed
Problem:    The RUN_VIM variable is longer than needed.
Solution:   Shorten RUN_VIM. (Daniel Hahler, closes #4643)
2019-07-14 21:54:26 +02:00
f9cc9f209e patch 8.1.1693: syntax coloring and highlighting is in one big file
Problem:    Syntax coloring and highlighting is in one big file.
Solution:   Move the highlighting to a separate file. (Yegappan Lakshmanan,
            closes #4674)
2019-07-14 21:29:22 +02:00
b8be54dcc5 patch 8.1.1692: using *{} for literal dict is not backwards compatible
Problem:    Using *{} for literal dict is not backwards compatible. (Yasuhiro
            Matsumoto)
Solution:   Use ~{} instead.
2019-07-14 18:22:59 +02:00
37d9f175a4 patch 8.1.1691: diff test fails on some systems
Problem:    Diff test fails on some systems. (Elimar Riesebieter)
Solution:   Add a term_wait() call.
2019-07-14 17:26:46 +02:00
0346413c24 patch 8.1.1690: default padding for popup window menu is too much
Problem:    Default padding for popup window menu is too much.
Solution:   Only add padding left and right.
2019-07-14 16:28:13 +02:00
660a10ad41 patch 8.1.1689: profiling code is spread out
Problem:    Profiling code is spread out.
Solution:   Move more profiling code to profiler.c. (Yegappan Lakshmanan,
            closes #4668)
2019-07-14 15:48:38 +02:00
1850b14c0d patch 8.1.1688: old makefiles are no longer useful
Problem:    Old makefiles are no longer useful.
Solution:   Delete the makefiles, they most likely don't work anyway.
2019-07-14 15:09:59 +02:00
ecaa70ea29 patch 8.1.1687: the evalfunc.c file is too big
Problem:    The evalfunc.c file is too big.
Solution:   Move testing support to a separate file.
2019-07-14 14:55:39 +02:00
2898ebb44c patch 8.1.1686: "*" of "*{" is recognized as multipy operator
Problem:    "*" of "*{" is recognized as multipy operator. (Yasuhiro Matsumoto)
Solution:   Check for the "{".
2019-07-14 13:41:34 +02:00
a099da3572 patch 8.1.1685: missing file in distributed file list
Problem:    Missing file in distributed file list.
Solution:   Add profiling.pro
2019-07-13 23:06:26 +02:00
396e829fa3 Update runtime files 2019-07-13 23:04:31 +02:00
fa55cfc69d patch 8.1.1684: profiling functionality is spread out
Problem:    Profiling functionality is spread out.
Solution:   Put profiling functionality in profiling.c. (Yegappan Lakshmanan,
            closes #4666)
2019-07-13 22:59:32 +02:00
d5abb4c877 patch 8.1.1683: dictionary with string keys is longer than needed
Problem:    Dictionary with string keys is longer than needed.
Solution:   Use *{key: val} for literaly keys.
2019-07-13 22:46:10 +02:00
809ce4d317 patch 8.1.1682: placing a larger number of signs is slow
Problem:    Placing a larger number of signs is slow.
Solution:   Add functions for dealing with a list of signs. (Yegappan
            Lakshmanan, closes #4636)
2019-07-13 21:21:40 +02:00
0fb286e82d patch 8.1.1681: insert stray "{" when listener gets buffer line
Problem:    Insert stray "{" when listener gets buffer line. (Paul Jolly)
Solution:   Flush the cached line after invoking listeners. (closes #4455)
2019-07-13 20:14:45 +02:00
63d0dad874 patch 8.1.1680: the command table is not well aligned
Problem:    The command table is not well aligned.
Solution:   Adjust indent.
2019-07-13 18:17:23 +02:00
eaa49e40d7 patch 8.1.1679: test using SwapExists autocommand file may fail
Problem:    Test using SwapExists autocommand file may fail.
Solution:   Remove the SwapExists autocommand.
2019-07-13 18:08:59 +02:00
a901a37bae patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Problem:    When using popup_menu() does not scroll to show the selected line.
Solution:   Scroll the text. (Naruhiko Nishino, closes #4651)
2019-07-13 16:38:50 +02:00
b073da8929 patch 8.1.1677: tests get stuck when running into an existing swapfile
Problem:    Tests get stuck when running into an existing swapfile.
Solution:   Set v:swapchoice to "q" and report an error. (Daniel Hahler,
            closes #4644)
2019-07-13 14:47:26 +02:00
017c269938 patch 8.1.1676: "maxwidth" of popup window does not always work properly
Problem:    "maxwidth" of popup window does not always work properly.
Solution:   Adjust the computation. (Naruhiko Nishino, closes #4653)
2019-07-13 14:17:51 +02:00
7b73f914c4 patch 8.1.1675: listener list not correctly updated on listener_remove()
Problem:    Listener list not correctly updated on listener_remove().
Solution:   Only set "prev" when not removing a listener.  Return one if the
            listener was found and removed.
2019-07-13 13:03:02 +02:00
4e63f9425e patch 8.1.1674: script to check a colorscheme can be improved
Problem:    Script to check a colorscheme can be improved.
Solution:   Match the whole group name. Don't warn for what is usually omitted.
2019-07-12 22:46:47 +02:00
b4f0628fc5 patch 8.1.1673: cannot easily find the popup window at a certain position
Problem:    Cannot easily find the popup window at a certain position.
Solution:   Add popup_locate().
2019-07-12 21:07:54 +02:00
d94ac0caca patch 8.1.1672: "make cmdidxs" doesn't work
Problem:    "make cmdidxs" doesn't work.
Solution:   Update macro names. (Naruhiko Nishino, closes #4660)
2019-07-12 20:24:59 +02:00
b7b9efbccf patch 8.1.1671: copying a blob may result in it being locked
Problem:    Copying a blob may result in it being locked.
Solution:   Reset v_lock. (Ken Takata, closes #4648)
2019-07-12 20:17:03 +02:00
0231f8312b patch 8.1.1670: sign column not always properly aligned
Problem:    Sign column not always properly aligned.
Solution:   Use "col" only after it was calculated. (Yee Cheng Chin,
            closes #4649)
2019-07-12 19:22:22 +02:00
efef9fea72 patch 8.1.1669: Travis: test results section is closed even when failed
Problem:    Travis: test results section is closed even when some tests
            failed.
Solution:   Only close the section on success. (Daniel Hahler, closes #4659)
2019-07-12 18:45:40 +02:00
8ccabf624e patch 8.1.1668: popup window test is a bit flaky on some systems
Problem:    Popup window test is a bit flaky on some systems.
Solution:   Clear the command line. (Naruhiko Nishino, closes #4656)
2019-07-12 18:12:51 +02:00
8071cb2c64 patch 8.1.1667: flags for Ex commands may clash with other symbols
Problem:    Flags for Ex commands may clash with other symbols.
Solution:   Prepend with EX_.
2019-07-12 17:58:01 +02:00
bd42b31780 patch 8.1.1666: click in popup window scrollbar with border doesn't scroll
Problem:    Click in popup window scrollbar with border doesn't scroll.
Solution:   Correct column for the border. (Naruhiko Nishino, closes #4650)
2019-07-12 16:35:34 +02:00
b420747478 patch 8.1.1665: crash when popup window with mask is below the screen
Problem:    Crash when popup window with mask is below the screen.
Solution:   Correct boundary check.
2019-07-12 16:05:45 +02:00
847a5d69a8 patch 8.1.1664: GUI resize may cause changing Rows at a bad time
Problem:    GUI resize may cause changing Rows at a bad time. (Dominique
            Pelle)
Solution:   Postpone resizing while updating the screen.
2019-07-12 15:37:13 +02:00
1072768b91 patch 8.1.1663: compiler warning for using size_t
Problem:    Compiler warning for using size_t.
Solution:   Add type cast. (Mike Williams)
2019-07-12 13:59:20 +02:00
e28cfb2812 patch 8.1.1662: cannot build uninstal.exe with some version of MinGW
Problem:    Cannot build uninstal.exe with some version of MinGW.
Solution:   Add -lole32. (Rene Nyffenegger, closes #4646)
2019-07-11 22:04:21 +02:00
247bf0de46 patch 8.1.1661: cannot build with +textprop but without +balloon_eval
Problem:    Cannot build with +textprop but without +balloon_eval.
Solution:   Adjust #ifdefs. (closes #4645)
2019-07-10 22:21:48 +02:00
7780e5c1c5 patch 8.1.1660: assert_fails() does not fail inside try/catch
Problem:    Assert_fails() does not fail inside try/catch.
Solution:   Set trylevel to zero. (Ozaki Kiichi, closes #4639)
2019-07-10 22:04:48 +02:00
b05caa782d patch 8.1.1659: popup window "mousemoved" values not correct
Problem:    Popup window "mousemoved" values not correct.
Solution:   Convert text column to mouse column.
2019-07-10 21:55:54 +02:00
3b849af90a patch 8.1.1658: debug statements included in patch
Problem:    Debug statements included in patch.
Solution:   Remove the debug statements.
2019-07-10 16:15:04 +02:00
7ba343e634 patch 8.1.1657: Terminal: screen updates from 'balloonexpr' are not displayed
Problem:    Terminal: screen updates from 'balloonexpr' are not displayed.
Solution:   Update the screen if needed.  Fix the word position for
            "mousemoved".
2019-07-09 23:22:15 +02:00
e089c3fd69 patch 8.1.1656: popup window width is wrong when using Tabs
Problem:    Popup window width is wrong when using Tabs. (Paul Jolly)
Solution:   Count tabs correctly. (closes #4637)
2019-07-09 20:25:25 +02:00
3dabd718f4 patch 8.1.1655: popup window border drawn wrong with multi-byte char
Problem:    Popup window border drawn wrong with multi-byte char. (Marcin
            Szamotulski)
Solution:   Correct check in mb_fix_col(). (closes #4635)
2019-07-08 23:30:22 +02:00
8a7383b6d2 patch 8.1.1654: GUI: screen updates from 'balloonexpr' are not displayed
Problem:    GUI: screen updates from 'balloonexpr' are not displayed.
Solution:   Update the screen if needed.  Also avoid the cursor being
            displayed in the wrong position.
2019-07-08 22:23:33 +02:00
0d07155c8b patch 8.1.1653: ubsan warns for possibly passing NULL pointer
Problem:    Ubsan warns for possibly passing NULL pointer.
Solution:   Skip code when length is zero. (Dominique Pelle, closes #4631)
2019-07-08 22:04:03 +02:00
49fe95f225 patch 8.1.1652: GUI: popup window doesn't close on mouse movement
Problem:    GUI: popup window doesn't close on mouse movement. (Paul Jolly)
Solution:   Generate mouse-move events when a popup window is visible.
2019-07-08 21:57:30 +02:00
9992244226 patch 8.1.1651: suspend test is flaky on some systems
Problem:    Suspend test is flaky on some systems.
Solution:   Wait for the shell prompt to show. (Yee Cheng Chin, closes #4632)
2019-07-08 20:58:25 +02:00
ee9e604124 patch 8.1.1650: warning for using uninitialized variable
Problem:    Warning for using uninitialized variable. (Tony Mechelynck)
Solution:   Simplify the code by always using the mouse coordinates.
2019-07-08 20:08:44 +02:00
3e35d05b1f patch 8.1.1649: Illegal memory access when closing popup window
Problem:    Illegal memory access when closing popup window.
Solution:   Get w_next before closing the window.
2019-07-07 20:43:34 +02:00
3f3e954d96 patch 8.1.1648: MS-Windows: build error with normal feaures
Problem:    MS-Windows: build error with normal feaures.
Solution:   Adjust #ifdef for find_word_under_cursor().
2019-07-07 20:30:48 +02:00
d84b2c3d88 patch 8.1.1647: build error with GTK and hangulinput feature
Problem:    Build error with GTK and hangulinput feature, im_get_status()
            defined twice. (Dominique Pelle)
Solution:   Adjust im_get_status(). (closes #4628)
2019-07-07 19:16:58 +02:00
56a6312099 patch 8.1.1646: build failure
Problem:    build failure
Solution:   Add changes to structure.
2019-07-07 18:38:34 +02:00
b3d17a20d2 patch 8.1.1645: cannot use a popup window for a balloon
Problem:    Cannot use a popup window for a balloon.
Solution:   Add popup_beval().  Add the "mousemoved" property.  Add the
            screenpos() function.
2019-07-07 18:28:14 +02:00
5b19e5b919 patch 8.1.1644: sound test does not work on Travis
Problem:    Sound test does not work on Travis.
Solution:   Use "sg" command to enable audio. (Ozaki Kiichi, closes #4624)
2019-07-07 15:12:12 +02:00
899f20deae patch 8.1.1643: sign placement is wrong when 'foldcolumn' is set
Problem:    Sign placement is wrong when 'foldcolumn' is set.
Solution:   Adjust the column computation. (Yee Cheng Chin, closes #4627)
2019-07-07 14:56:25 +02:00
ec572ad6a6 patch 8.1.1642: may use uninitialized variable
Problem:    May use uninitialized variable. (Patrick Palka)
Solution:   Initialize variables earlier. (closes #4623)
2019-07-07 14:26:59 +02:00
6cc7e21412 patch 8.1.1641: garbage collection may run at a wrong moment
Problem:    Garbage collection may run at a wrong moment. (Trygve Aaberge)
Solution:   Postpone garbage collection while parsing messages. (closes #4620)
2019-07-07 14:05:24 +02:00
c2f5054be9 patch 8.1.1640: the CursorHold autocommand takes down a balloon
Problem:    The CursorHold autocommand takes down a balloon. (Paul Jolly)
Solution:   Ignore the CursorHold pseudo-key.
2019-07-05 23:24:56 +02:00
28fc247f8d patch 8.1.1639: changing an autoload name into a file name is inefficient
Problem:    Changing an autoload name into a script file name is inefficient.
Solution:   Remember the last replaced #. (Ozaki Kiichi, closes #4618)
2019-07-05 22:14:16 +02:00
3940ec6d41 patch 8.1.1638: running tests leaves some files behind
Problem:    Running tests leaves some files behind.
Solution:   Delete the files. (Ozaki Kiichi, closes #4617)
2019-07-05 21:53:24 +02:00
615 changed files with 70687 additions and 62684 deletions

View File

@ -75,6 +75,7 @@ anchors:
- sh -e /etc/init.d/xvfb start && sleep 3
- sudo modprobe snd-dummy
- sudo usermod -a -G audio $USER
- do_test() { sg audio "sg $(id -gn) '$*'"; }
osx: &osx
os: osx
@ -91,9 +92,11 @@ anchors:
- rvm reset
# Lua is not installed on Travis OSX
- export LUA_PREFIX=/usr/local
before_script:
- do_test() { "$@"; }
coverage: &coverage
- ~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8 latin-1 EUC-KR
- ~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8
- (cd "${SRCDIR}" && bash <(curl -s https://codecov.io/bash))
asan_symbolize: &asan_symbolize
@ -139,8 +142,9 @@ script:
"${SRCDIR}"/vim --not-a-term -u NONE -S "${SRCDIR}"/testdir/if_ver-2.vim -c quit > /dev/null
cat if_ver.txt
fi
- make ${SHADOWOPT} ${TEST}
- echo -en "travis_fold:end:test\\r\\033[0K"
- do_test make ${SHADOWOPT} ${TEST} && FOLD_MARKER=travis_fold
- echo -en "${FOLD_MARKER}:end:test\\r\\033[0K"
# instead of a 2*2*8 matrix (2*os + 2*compiler + 8*env),
# exclude some builds on mac os x and linux

View File

@ -4,14 +4,23 @@ Patches are welcome in whatever form.
Discussions about patches happen on the vim-dev maillist.
If you create a pull request on GitHub it will be
forwarded to the vim-dev maillist. You can also send your patch there
directly. An attachment with a unified diff format is preferred.
directly. In that case an attachment with a unified diff format is preferred.
Information about the maillist can be found [on the Vim website].
[on the Vim website]: http://www.vim.org/maillist.php#vim-dev
Please consider adding a test. Test coverage isn't very good yet, this needs
to improve. Look through recent patches for examples. The tests are located
under "src/testdir".
A pull request has the advantage that it will trigger the Continuous
Integration tests, you will be warned of problems (you can ignore the coverage
warning, it's noisy).
Please consider adding a test. All new functionality should be tested and bug
fixes should be tested for regressions: the test should fail before the fix and
pass after the fix. Look through recent patches for examples and find help
with ":help testing". The tests are located under "src/testdir".
Contributions will be distributed with Vim under the Vim license. Providing a
change to be included implies that you agree with this and your contribution
does not cause us trouble with trademarks or patents. There is no CLA to sign.
# Reporting issues

View File

@ -13,6 +13,7 @@ SRC_ALL = \
src/README.md \
src/alloc.h \
src/arabic.c \
src/arglist.c \
src/ascii.h \
src/autocmd.c \
src/beval.c \
@ -23,6 +24,8 @@ SRC_ALL = \
src/change.c \
src/channel.c \
src/charset.c \
src/cmdexpand.c \
src/cmdhist.c \
src/crypt.c \
src/crypt_zip.c \
src/debugger.c \
@ -31,7 +34,10 @@ SRC_ALL = \
src/digraph.c \
src/edit.c \
src/eval.c \
src/evalbuffer.c \
src/evalfunc.c \
src/evalvars.c \
src/evalwindow.c \
src/ex_cmdidxs.h \
src/ex_cmds.c \
src/ex_cmds.h \
@ -41,6 +47,7 @@ SRC_ALL = \
src/ex_getln.c \
src/feature.h \
src/fileio.c \
src/filepath.c \
src/findfile.c \
src/fold.c \
src/getchar.c \
@ -50,6 +57,7 @@ SRC_ALL = \
src/gui_beval.c \
src/hardcopy.c \
src/hashtab.c \
src/highlight.c \
src/indent.c \
src/insexpand.c \
src/json.c \
@ -59,6 +67,7 @@ SRC_ALL = \
src/keymap.h \
src/macros.h \
src/main.c \
src/map.c \
src/mark.c \
src/mbyte.c \
src/memfile.c \
@ -78,14 +87,19 @@ SRC_ALL = \
src/ops.c \
src/option.c \
src/option.h \
src/optiondefs.h \
src/popupmnu.c \
src/popupwin.c \
src/profiler.c \
src/quickfix.c \
src/regexp.c \
src/regexp_bt.c \
src/regexp_nfa.c \
src/regexp.h \
src/scriptfile.c \
src/screen.c \
src/search.c \
src/session.c \
src/sha256.c \
src/sign.c \
src/sound.c \
@ -99,6 +113,7 @@ SRC_ALL = \
src/terminal.c \
src/term.h \
src/termlib.c \
src/testing.c \
src/textprop.c \
src/ui.c \
src/undo.c \
@ -107,6 +122,7 @@ SRC_ALL = \
src/version.c \
src/version.h \
src/vim.h \
src/viminfo.c \
src/winclip.c \
src/window.c \
src/tee/tee.c \
@ -158,6 +174,7 @@ SRC_ALL = \
src/proto.h \
src/protodef.h \
src/proto/arabic.pro \
src/proto/arglist.pro \
src/proto/autocmd.pro \
src/proto/beval.pro \
src/proto/blob.pro \
@ -166,6 +183,8 @@ SRC_ALL = \
src/proto/change.pro \
src/proto/channel.pro \
src/proto/charset.pro \
src/proto/cmdexpand.pro \
src/proto/cmdhist.pro \
src/proto/crypt.pro \
src/proto/crypt_zip.pro \
src/proto/debugger.pro \
@ -174,13 +193,17 @@ SRC_ALL = \
src/proto/digraph.pro \
src/proto/edit.pro \
src/proto/eval.pro \
src/proto/evalbuffer.pro \
src/proto/evalfunc.pro \
src/proto/evalvars.pro \
src/proto/evalwindow.pro \
src/proto/ex_cmds.pro \
src/proto/ex_cmds2.pro \
src/proto/ex_docmd.pro \
src/proto/ex_eval.pro \
src/proto/ex_getln.pro \
src/proto/fileio.pro \
src/proto/filepath.pro \
src/proto/findfile.pro \
src/proto/fold.pro \
src/proto/getchar.pro \
@ -188,11 +211,13 @@ SRC_ALL = \
src/proto/gui_beval.pro \
src/proto/hardcopy.pro \
src/proto/hashtab.pro \
src/proto/highlight.pro \
src/proto/indent.pro \
src/proto/insexpand.pro \
src/proto/json.pro \
src/proto/list.pro \
src/proto/main.pro \
src/proto/map.pro \
src/proto/mark.pro \
src/proto/mbyte.pro \
src/proto/memfile.pro \
@ -208,10 +233,13 @@ SRC_ALL = \
src/proto/option.pro \
src/proto/popupmnu.pro \
src/proto/popupwin.pro \
src/proto/profiler.pro \
src/proto/quickfix.pro \
src/proto/regexp.pro \
src/proto/scriptfile.pro \
src/proto/screen.pro \
src/proto/search.pro \
src/proto/session.pro \
src/proto/sha256.pro \
src/proto/sign.pro \
src/proto/sound.pro \
@ -222,12 +250,14 @@ SRC_ALL = \
src/proto/term.pro \
src/proto/terminal.pro \
src/proto/termlib.pro \
src/proto/testing.pro \
src/proto/textprop.pro \
src/proto/ui.pro \
src/proto/undo.pro \
src/proto/usercmd.pro \
src/proto/userfunc.pro \
src/proto/version.pro \
src/proto/viminfo.pro \
src/proto/winclip.pro \
src/proto/window.pro \
src/libvterm/.bzrignore \
@ -540,10 +570,7 @@ SRC_AMI = \
README_amisrc.txt.info \
src.info \
src/INSTALLami.txt \
src/Make_dice.mak \
src/Make_manx.mak \
src/Make_morph.mak \
src/Make_sas.mak \
src/os_amiga.c \
src/os_amiga.h \
src/proto/os_amiga.pro \

View File

@ -22,8 +22,10 @@ if "%FEATURE%" == "HUGE" (
)
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_ming.txt
:: Filter out the progress bar from the build log
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
echo "Building MSVC 64bit console Version"
sed -e "s/\$(LINKARGS2)/\$(LINKARGS2) | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=no IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
nmake -f Make_mvc2.mak clean

280
nsis/lang/serbian.nsi Normal file
View File

@ -0,0 +1,280 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# serbian.nsi: Serbian language strings for gvim NSIS installer.
#
# Locale ID : 3098
# fileencoding : UTF-8
# Author : Ivan Pešić
!insertmacro MUI_LANGUAGE "Српски"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_SERBIAN} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_SERBIAN} \
"$(^Name) Uninstall"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
#LangString str_dest_folder ${LANG_SERBIAN} \
# "Destination Folder (Must end with $\"vim$\")"
LangString str_show_readme ${LANG_SERBIAN} \
"Прикажи ПРОЧИТАЈМЕ када се заврши инсталација"
# Install types:
LangString str_type_typical ${LANG_SERBIAN} \
"Типична"
LangString str_type_minimal ${LANG_SERBIAN} \
"Минимална"
LangString str_type_full ${LANG_SERBIAN} \
"Пуна"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_SERBIAN} \
"Уклањање постојећ(е/их) верзиј(е/а)"
LangString str_desc_old_ver ${LANG_SERBIAN} \
"Уклања постојећ(у/е) Vim верзииј(у/е) из вашег система."
LangString str_section_exe ${LANG_SERBIAN} \
"Vim ГКИ и фајлови потребни за извршавање"
LangString str_desc_exe ${LANG_SERBIAN} \
"Vim ГКИ извршни фајлови и фајлови потребни током извршавања. Ова компонента је неопходна."
LangString str_section_console ${LANG_SERBIAN} \
"Vim конзолни програм"
LangString str_desc_console ${LANG_SERBIAN} \
"Конзолна верзија програма Vim (vim.exe)."
LangString str_section_batch ${LANG_SERBIAN} \
"Креирај .bat фајлове"
LangString str_desc_batch ${LANG_SERBIAN} \
"Креира у Windows директоријуму .bat фајлове за Vim варијанте \
у циљу коришћења из командне линије."
LangString str_group_icons ${LANG_SERBIAN} \
"Креирај иконе за Vim"
LangString str_desc_icons ${LANG_SERBIAN} \
"Креира иконе за Vim на различитим местима, како би се олакшао приступ."
LangString str_section_desktop ${LANG_SERBIAN} \
"На радној површини"
LangString str_desc_desktop ${LANG_SERBIAN} \
"Креира иконе за gVim извршне фајлове на радној површини."
LangString str_section_start_menu ${LANG_SERBIAN} \
"У фасцикли Програми унутар Старт менија"
LangString str_desc_start_menu ${LANG_SERBIAN} \
"Додаје Vim у фолдер Програми Старт менија."
#LangString str_section_quick_launch ${LANG_SERBIAN} \
# "In the Quick Launch Bar"
#LangString str_desc_quick_launch ${LANG_SERBIAN} \
# "Add Vim shortcut in the quick launch bar."
LangString str_section_edit_with ${LANG_SERBIAN} \
"Додај Vim контекстни мени"
LangString str_desc_edit_with ${LANG_SERBIAN} \
"Додаје Vim у $\"Отвори помоћу...$\" листу контекстног менија."
#LangString str_section_edit_with32 ${LANG_SERBIAN} \
# "32-bit Version"
#LangString str_desc_edit_with32 ${LANG_SERBIAN} \
# "Add Vim to the $\"Open With...$\" context menu list \
# for 32-bit applications."
#LangString str_section_edit_with64 ${LANG_SERBIAN} \
# "64-bit Version"
#LangString str_desc_edit_with64 ${LANG_SERBIAN} \
# "Add Vim to the $\"Open With...$\" context menu list \
# for 64-bit applications."
LangString str_section_vim_rc ${LANG_SERBIAN} \
"Креирај Подразумевану конфигурацију"
LangString str_desc_vim_rc ${LANG_SERBIAN} \
"Креира подразумевани конфиг фајл (_vimrc) ако неки већ не постоји."
LangString str_group_plugin ${LANG_SERBIAN} \
"Креира директоријуме додатака"
LangString str_desc_plugin ${LANG_SERBIAN} \
"Креира директоријуме додатака. Ови директоријуми омогућавају проширење програма Vim \
убацивањем фајла у директоријум."
LangString str_section_plugin_home ${LANG_SERBIAN} \
"Приватне"
LangString str_desc_plugin_home ${LANG_SERBIAN} \
"Креира директоријуме додатака у HOME директоријуму."
LangString str_section_plugin_vim ${LANG_SERBIAN} \
"Дељене"
LangString str_desc_plugin_vim ${LANG_SERBIAN} \
"Креира директоријуме додатака у Vim инсталационом директоријуму, користе их сви \
на систему."
LangString str_section_vis_vim ${LANG_SERBIAN} \
"VisVim проширење"
LangString str_desc_vis_vim ${LANG_SERBIAN} \
"VisVim проширење за Microsoft Visual Studio интеграцију."
LangString str_section_nls ${LANG_SERBIAN} \
"Подршка за домаћи језик"
LangString str_desc_nls ${LANG_SERBIAN} \
"Инсталира фајлове за домаћу језичку подршку."
LangString str_unsection_register ${LANG_SERBIAN} \
"Поништи регистрацију Vim"
LangString str_desc_unregister ${LANG_SERBIAN} \
"Поништава регистрацију програма Vim на систему."
LangString str_unsection_exe ${LANG_SERBIAN} \
"Уклони Vim извршне фајлове/фајлове потребне у време извршавања"
LangString str_desc_rm_exe ${LANG_SERBIAN} \
"Уклања све Vim извршне фајлове и оне потребне у време извршавања."
LangString str_ungroup_plugin ${LANG_SERBIAN} \
"Укони директоријуме додатака"
LangString str_desc_rm_plugin ${LANG_SERBIAN} \
"Уклања директоријуме додатака ако су празни."
LangString str_unsection_plugin_home ${LANG_SERBIAN} \
"Приватне"
LangString str_desc_rm_plugin_home ${LANG_SERBIAN} \
"Уклања директоријуме додатака из HOME директоријума."
LangString str_unsection_plugin_vim ${LANG_SERBIAN} \
"Дељене"
LangString str_desc_rm_plugin_vim ${LANG_SERBIAN} \
"Уклања директоријуме додатака из Vim инсталациониг директоријума."
LangString str_unsection_rootdir ${LANG_SERBIAN} \
"Уклони Vim корени директоријум"
LangString str_desc_rm_rootdir ${LANG_SERBIAN} \
"Уклања Vim корени директоријум. Он садржи ваше Vim конфигурационе фајлове!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_SERBIAN} \
# "Found $vim_old_ver_count Vim versions on your system.$\r$\n\
# This installer can only handle ${VIM_MAX_OLD_VER} versions \
# at most.$\r$\n\
# Please remove some versions and start again."
#LangString str_msg_invalid_root ${LANG_SERBIAN} \
# "Invalid install path: $vim_install_root!$\r$\n\
# It should end with $\"vim$\"."
#LangString str_msg_bin_mismatch ${LANG_SERBIAN} \
# "Binary path mismatch!$\r$\n$\r$\n\
# Expect the binary path to be $\"$vim_bin_path$\",$\r$\n\
# but system indicates the binary path is $\"$INSTDIR$\"."
#LangString str_msg_vim_running ${LANG_SERBIAN} \
# "Vim is still running on your system.$\r$\n\
# Please close all instances of Vim before you continue."
#LangString str_msg_register_ole ${LANG_SERBIAN} \
# "Attempting to register Vim with OLE. \
# There is no message indicates whether this works or not."
#LangString str_msg_unreg_ole ${LANG_SERBIAN} \
# "Attempting to unregister Vim with OLE. \
# There is no message indicates whether this works or not."
#LangString str_msg_rm_start ${LANG_SERBIAN} \
# "Uninstalling the following version:"
#LangString str_msg_rm_fail ${LANG_SERBIAN} \
# "Fail to uninstall the following version:"
#LangString str_msg_no_rm_key ${LANG_SERBIAN} \
# "Cannot find uninstaller registry key."
#LangString str_msg_no_rm_reg ${LANG_SERBIAN} \
# "Cannot find uninstaller from registry."
#LangString str_msg_no_rm_exe ${LANG_SERBIAN} \
# "Cannot access uninstaller."
#LangString str_msg_rm_copy_fail ${LANG_SERBIAN} \
# "Fail to copy uninstaller to temporary directory."
#LangString str_msg_rm_run_fail ${LANG_SERBIAN} \
# "Fail to run uninstaller."
#LangString str_msg_abort_install ${LANG_SERBIAN} \
# "Installer will abort."
LangString str_msg_install_fail ${LANG_SERBIAN} \
"Инсталација није успела. Више среће идући пут."
LangString str_msg_rm_exe_fail ${LANG_SERBIAN} \
"Неки фајлови у $0 нису обрисани!$\r$\n\
Морате то ручно да обавите."
#LangString str_msg_rm_root_fail ${LANG_SERBIAN} \
# "WARNING: Cannot remove $\"$vim_install_root$\", it is not empty!"
LangString str_msg_uninstalling ${LANG_SERBIAN} \
"Уклањање старе верзије..."
LangString str_msg_registering ${LANG_SERBIAN} \
"Регистровање..."
LangString str_msg_unregistering ${LANG_SERBIAN} \
"Поништавање регистрације..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_SERBIAN} \
"Изаберите _vimrc подешавања"
LangString str_vimrc_page_subtitle ${LANG_SERBIAN} \
"Изаберите подешавања за побољшања, тастатуру и миша."
LangString str_msg_compat_title ${LANG_SERBIAN} \
" Vi / Vim понашање "
LangString str_msg_compat_desc ${LANG_SERBIAN} \
"&Компатибилност и побољшања"
LangString str_msg_compat_vi ${LANG_SERBIAN} \
"Vi компатибилно"
LangString str_msg_compat_vim ${LANG_SERBIAN} \
"Vim оригинално"
LangString str_msg_compat_defaults ${LANG_SERBIAN} \
"Vim са неким побољшањима (учитава defaults.vim)"
LangString str_msg_compat_all ${LANG_SERBIAN} \
"Vim са свим побољшањима (учитава vimrc_example.vim) (Подразумевано)"
LangString str_msg_keymap_title ${LANG_SERBIAN} \
" Мапирања "
LangString str_msg_keymap_desc ${LANG_SERBIAN} \
"&Ремапира неколико тастера за Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, итд.)"
LangString str_msg_keymap_default ${LANG_SERBIAN} \
"Немој да ремапираш тастере (Подразумевано)"
LangString str_msg_keymap_windows ${LANG_SERBIAN} \
"Ремапира неколико тастера"
LangString str_msg_mouse_title ${LANG_SERBIAN} \
" Миш "
LangString str_msg_mouse_desc ${LANG_SERBIAN} \
"&Понашање левог и десног тастера"
LangString str_msg_mouse_default ${LANG_SERBIAN} \
"Десни: искачући мени, Леви: визуелни режим (Подразумевано)"
LangString str_msg_mouse_windows ${LANG_SERBIAN} \
"Десни: искачући мени, Леви: режим избора (Windows)"
LangString str_msg_mouse_unix ${LANG_SERBIAN} \
"Десни: проширује избор, Леви: визуелни режим (Unix)"

View File

@ -2,7 +2,7 @@
" Language: Haskell
" Maintainer: Daniel Campoverde <alx@sillybytes.net>
" URL: https://github.com/alx741/haskellcomplete.vim
" Last Change: 2018 Aug 26
" Last Change: 2019 May 14
" Usage: setlocal omnifunc=haskellcomplete#Complete
@ -63,6 +63,7 @@ function! haskellcomplete#Complete(findstart, base)
call add(l:matches, extension)
endif
endfor
let b:completingLangExtension = 0
return l:matches
endif
@ -78,6 +79,7 @@ function! haskellcomplete#Complete(findstart, base)
call add(l:matches, flag)
endif
endfor
let b:completingOptionsGHC = 0
return l:matches
endif
@ -93,6 +95,7 @@ function! haskellcomplete#Complete(findstart, base)
call add(l:matches, module)
endif
endfor
let b:completingModule = 0
return l:matches
endif

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
" netrwSettings.vim: makes netrw settings simpler
" Date: Dec 30, 2014
" Date: Nov 09, 2016
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
" Version: 15
" Version: 16
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
@ -19,7 +19,7 @@
if exists("g:loaded_netrwSettings") || &cp
finish
endif
let g:loaded_netrwSettings = "v15"
let g:loaded_netrwSettings = "v16"
if v:version < 700
echohl WarningMsg
echo "***warning*** this version of netrwSettings needs vim 7.0"
@ -154,9 +154,13 @@ fun! netrwSettings#NetrwSettings()
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
put = 'let g:netrw_liststyle = '.g:netrw_liststyle
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
put = 'let g:netrw_localcopycmdopt = '.g:netrw_localcopycmdopt
put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir
put = 'let g:netrw_localmkdiropt = '.g:netrw_localmkdiropt
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
put = 'let g:netrw_localmovecmdopt = '.g:netrw_localmovecmdopt
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
put = 'let g:netrw_localrmdiropt = '.g:netrw_localrmdiropt
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
put = 'let g:netrw_menu = '.g:netrw_menu
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps

View File

@ -2,7 +2,7 @@
" Language: All languages, uses existing syntax highlighting rules
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Version: 13.0
" Last Change: 2013 May 14
" Last Change: 2019 Aug 08
" Usage: For detailed help, ":help ft-syntax-omni"
" History
@ -597,7 +597,7 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
" Remove all non-word characters
" let syn_list = substitute( syn_list, '\<match /\zs.\{-}\<\W\+\>.\{-}\ze\/ ', "", 'g' )
" let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\W\+\ze.\{-}\/ ', ' ', 'g' )
" Do this by using the outer substitue() call to gather all
" Do this by using the outer substitute() call to gather all
" text between the match /.../ tags.
" The inner substitute() call operates on the text selected
" and replaces all non-word characters.

View File

@ -8,7 +8,7 @@ set cpo&vim
func! Test_check_colors()
let l:savedview = winsaveview()
call cursor(1,1)
let err={}
let err = {}
" 1) Check g:colors_name is existing
if !search('\<\%(g:\)\?colors_name\>', 'cnW')
@ -81,36 +81,39 @@ func! Test_check_colors()
\ 'WarningMsg',
\ 'WildMenu',
\ ]
let groups={}
let groups = {}
for group in hi_groups
if search('\c@suppress\s\+'.group, 'cnW')
if search('\c@suppress\s\+\<' .. group .. '\>', 'cnW')
" skip check, if the script contains a line like
" @suppress Visual:
let groups[group] = 'Ignoring '.group
continue
endif
if search('hi\%[ghlight]!\= \+link \+'.group, 'cnW') " Linked group
if search('hi\%[ghlight]!\= \+link \+' .. group, 'cnW') " Linked group
continue
endif
if !search('hi\%[ghlight] \+'.group, 'cnW')
let groups[group] = 'No highlight definition for '.group
if !search('hi\%[ghlight] \+\<' .. group .. '\>', 'cnW')
let groups[group] = 'No highlight definition for ' .. group
continue
endif
if !search('hi\%[ghlight] \+'.group. '.*fg=', 'cnW')
let groups[group] = 'Missing foreground color for '.group
if !search('hi\%[ghlight] \+\<' .. group .. '\>.*[bf]g=', 'cnW')
let groups[group] = 'Missing foreground or background color for ' .. group
continue
endif
if search('hi\%[ghlight] \+'.group. '.*guibg=', 'cnW') &&
\ !search('hi\%[ghlight] \+'.group. '.*ctermbg=', 'cnW')
let groups[group] = 'Missing bg terminal color for '.group
if search('hi\%[ghlight] \+\<' .. group .. '\>.*guibg=', 'cnW') &&
\ !search('hi\%[ghlight] \+\<' .. group .. '\>.*ctermbg=', 'cnW')
\ && group != 'Cursor'
let groups[group] = 'Missing bg terminal color for ' .. group
continue
endif
if !search('hi\%[ghlight] \+'.group. '.*guifg=', 'cnW')
let groups[group] = 'Missing guifg definition for '.group
if !search('hi\%[ghlight] \+\<' .. group .. '\>.*guifg=', 'cnW')
\ && group !~ '^Diff'
let groups[group] = 'Missing guifg definition for ' .. group
continue
endif
if !search('hi\%[ghlight] \+'.group. '.*ctermfg=', 'cnW')
let groups[group] = 'Missing ctermfg definition for '.group
if !search('hi\%[ghlight] \+\<' .. group .. '\>.*ctermfg=', 'cnW')
\ && group !~ '^Diff'
\ && group != 'Cursor'
let groups[group] = 'Missing ctermfg definition for ' .. group
continue
endif
" do not check for background colors, they could be intentionally left out
@ -120,10 +123,10 @@ func! Test_check_colors()
" 3) Check, that it does not set background highlighting
" Doesn't ':hi Normal ctermfg=253 ctermfg=233' also set the background sometimes?
let bg_set='\(set\?\|setl\(ocal\)\?\) .*\(background\|bg\)=\(dark\|light\)'
let bg_let='let \%([&]\%([lg]:\)\?\)\%(background\|bg\)\s*=\s*\([''"]\?\)\w\+\1'
let bg_pat='\%('.bg_set. '\|'.bg_let.'\)'
let line=search(bg_pat, 'cnW')
let bg_set = '\(set\?\|setl\(ocal\)\?\) .*\(background\|bg\)=\(dark\|light\)'
let bg_let = 'let \%([&]\%([lg]:\)\?\)\%(background\|bg\)\s*=\s*\([''"]\?\)\w\+\1'
let bg_pat = '\%(' .. bg_set .. '\|' .. bg_let .. '\)'
let line = search(bg_pat, 'cnW')
if search(bg_pat, 'cnW')
exe line
if search('hi \U\w\+\s\+\S', 'cbnW')
@ -145,7 +148,7 @@ func! Test_check_colors()
" if exists("syntax_on")
" syntax reset
" endif
let pat='hi\%[ghlight]\s*clear\n\s*if\s*exists(\([''"]\)syntax_on\1)\n\s*syn\%[tax]\s*reset\n\s*endif'
let pat = 'hi\%[ghlight]\s*clear\n\s*if\s*exists(\([''"]\)syntax_on\1)\n\s*syn\%[tax]\s*reset\n\s*endif'
if !search(pat, 'cnW')
let err['init'] = 'No initialization'
endif
@ -160,7 +163,7 @@ func! Test_check_colors()
let ft_groups = []
" let group = '\%('.join(hi_groups, '\|').'\)' " More efficient than a for loop, but less informative
for group in hi_groups
let pat='\Chi\%[ghlight]!\= *\%[link] \+\zs'.group.'\w\+\>\ze \+.' " Skips `hi clear`
let pat = '\Chi\%[ghlight]!\= *\%[link] \+\zs' .. group .. '\w\+\>\ze \+.' " Skips `hi clear`
if search(pat, 'cW')
call add(ft_groups, matchstr(getline('.'), pat))
endif
@ -172,7 +175,7 @@ func! Test_check_colors()
" 8) Were debugPC and debugBreakpoint defined?
for group in ['debugPC', 'debugBreakpoint']
let pat='\Chi\%[ghlight]!\= *\%[link] \+\zs'.group.'\>'
let pat = '\Chi\%[ghlight]!\= *\%[link] \+\zs' .. group .. '\>'
if search(pat, 'cnW')
let line = search(pat, 'cW')
let err['filetype'] = get(err, 'filetype', 'Should not define: ') . matchstr(getline('.'), pat). ' '

View File

@ -1,8 +1,8 @@
" Vim compiler file
" Compiler: Microsoft Visual Studio C#
" Maintainer: Zhou YiChao (broken.zhou@gmail.com)
" Previous Maintainer: Joseph H. Yao (hyao@sina.com)
" Last Change: 2012 Apr 30
" Compiler: Microsoft Visual Studio C#
" Maintainer: Yichao Zhou (broken.zhou@gmail.com)
" Previous Maintainer: Joseph H. Yao (hyao@sina.com)
" Last Change: Jul 22, 2019
if exists("current_compiler")
finish
@ -20,7 +20,7 @@ CompilerSet errorformat+=%f(%l\\,%v):\ %t%*[^:]:\ %m,
\%trror%*[^:]:\ %m,
\%tarning%*[^:]:\ %m
CompilerSet makeprg=csc\ %
CompilerSet makeprg=csc\ %:S
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@ -1,13 +1,13 @@
" Vim compiler file
" Compiler: Erlang
" Maintainer: Dmitry Vasiliev <dima at hlabs dot org>
" Last Change: 2012-02-13
" Last Change: 2019 Jul 23
if exists("current_compiler")
finish
endif
let current_compiler = "erlang"
CompilerSet makeprg=erlc\ -Wall\ %
CompilerSet makeprg=erlc\ -Wall\ %:S
CompilerSet errorformat=%f:%l:\ %m

View File

@ -22,7 +22,7 @@ CompilerSet errorformat=
\%-Z%p%^%.%#,
\%-G%.%#,
" Compiler call
CompilerSet makeprg=df\ /nologo\ /noobj\ /c\ %
CompilerSet makeprg=df\ /nologo\ /noobj\ /c\ %:S
" Visual fortran defaults to printing output on stderr
" Adjust option shellpipe accordingly

View File

@ -2,6 +2,8 @@
" Compiler: GNU C Compiler
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2010-10-14
" changed pattern for entering/leaving directories
" by Daniel Hahler, 2019 Jul 12
" added line suggested by Anton Lindqvist 2016 Mar 31
if exists("current_compiler")
@ -27,10 +29,10 @@ CompilerSet errorformat=
\%f:%l:\ %m,
\%f:\\(%*[^\\)]\\):\ %m,
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
\%D%*\\a[%*\\d]:\ Entering\ directory\ [`']%f',
\%X%*\\a[%*\\d]:\ Leaving\ directory\ [`']%f',
\%D%*\\a:\ Entering\ directory\ [`']%f',
\%X%*\\a:\ Leaving\ directory\ [`']%f',
\%D%*\\a[%*\\d]:\ Entering\ directory\ %*[`']%f',
\%X%*\\a[%*\\d]:\ Leaving\ directory\ %*[`']%f',
\%D%*\\a:\ Entering\ directory\ %*[`']%f',
\%X%*\\a:\ Leaving\ directory\ %*[`']%f',
\%DMaking\ %*\\a\ in\ %f
if exists('g:compiler_gcc_ignore_unmatched_lines')

View File

@ -1,7 +1,7 @@
" Vim Compiler File
" Compiler: Jikes
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
" Last Change: 20 Jan 2009
" Last Change: 2019 Jul 23
" URL: http://dwsharp.users.sourceforge.net/vim/compiler
if exists("current_compiler")
@ -14,5 +14,5 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
endif
" Jikes defaults to printing output on stderr
CompilerSet makeprg=jikes\ -Xstdout\ +E\ \"%\"
CompilerSet makeprg=jikes\ -Xstdout\ +E\ \"%:S\"
CompilerSet errorformat=%f:%l:%v:%*\\d:%*\\d:%*\\s%m

View File

@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: onsgmls
" Maintainer: Robert Rowsome <rowsome@wam.umd.edu>
" Last Change: 2004 Mar 27
" Last Change: 2019 Jul 23
if exists("current_compiler")
finish
@ -15,7 +15,7 @@ endif
let s:cpo_save = &cpo
set cpo-=C
CompilerSet makeprg=onsgmls\ -s\ %
CompilerSet makeprg=onsgmls\ -s\ %:S
CompilerSet errorformat=onsgmls:%f:%l:%c:%t:%m,
\onsgmls:%f:%l:%c:%m

View File

@ -1,7 +1,7 @@
" Vim Compiler File
" Compiler: Perl syntax checks (perl -Wc)
" Maintainer: Christian J. Robinson <heptite@gmail.com>
" Last Change: 2006 Aug 13
" Last Change: 2019 Jul 22
if exists("current_compiler")
finish
@ -27,7 +27,7 @@ else
let s:taintopt = ''
endif
exe 'CompilerSet makeprg=perl\ -' . s:warnopt . s:taintopt . 'c\ %'
exe 'CompilerSet makeprg=perl\ -' . s:warnopt . s:taintopt . 'c\ %:S'
CompilerSet errorformat=
\%-G%.%#had\ compilation\ errors.,

View File

@ -19,7 +19,7 @@ endif
if exists("g:rustc_makeprg_no_percent") && g:rustc_makeprg_no_percent != 0
CompilerSet makeprg=rustc
else
CompilerSet makeprg=rustc\ \%
CompilerSet makeprg=rustc\ \%:S
endif
" Old errorformat (before nightly 2016/08/10)

View File

@ -2,7 +2,7 @@
" Compiler: splint/lclint (C source code checker)
" Maintainer: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
" Splint Home: http://www.splint.org/
" Last Change: 2005 Apr 21
" Last Change: 2019 Jul 23
" $Revision: 1.3 $
if exists("current_compiler")
@ -19,7 +19,7 @@ set cpo-=C
" adapt this if you want to check more than one file at a time.
" put command line options in .splintrc or ~/.splintrc
CompilerSet makeprg=splint\ %
CompilerSet makeprg=splint\ %:S
" Note: when using the new array bounds checking flags: Each warning
" usually has several lines and several references to source code mostly

View File

@ -1,7 +1,7 @@
" Vim Compiler File
" Compiler: xmlwf
" Maintainer: Robert Rowsome <rowsome@wam.umd.edu>
" Last Change: 2004 Mar 27
" Last Change: 2019 Jul 23
if exists("current_compiler")
finish
@ -15,7 +15,7 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet makeprg=xmlwf\ %
CompilerSet makeprg=xmlwf\ %:S
CompilerSet errorformat=%f:%l%c:%m

View File

@ -2,7 +2,7 @@
" Warning: This also deletes all menus defined by the user!
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2001 May 27
" Last Change: 2019 Sep 11
aunmenu *
tlunmenu *
@ -21,6 +21,11 @@ silent! unlet menutrans_path_dialog
silent! unlet menutrans_tags_dialog
silent! unlet menutrans_textwidth_dialog
silent! unlet menutrans_fileformat_dialog
silent! unlet menutrans_fileformat_choices
silent! unlet menutrans_no_file
silent! unlet menutrans_set_lang_to
silent! unlet menutrans_spell_change_ARG_to
silent! unlet menutrans_spell_add_ARG_to_word_list
silent! unlet menutrans_spell_ignore_ARG
" vim: set sw=2 :

View File

@ -103,6 +103,7 @@ DOCS = \
tagsrch.txt \
term.txt \
terminal.txt \
testing.txt \
textprop.txt \
tips.txt \
todo.txt \
@ -241,6 +242,7 @@ HTMLS = \
tagsrch.html \
term.html \
terminal.html \
testing.html \
textprop.html \
tips.html \
todo.html \

View File

@ -554,16 +554,14 @@ CmdlineLeave Before leaving the command line.
*CmdwinEnter*
CmdwinEnter After entering the command-line window.
Useful for setting options specifically for
this special type of window. This is
triggered _instead_ of BufEnter and WinEnter.
this special type of window.
<afile> is set to a single character,
indicating the type of command-line.
|cmdwin-char|
*CmdwinLeave*
CmdwinLeave Before leaving the command-line window.
Useful to clean up any global setting done
with CmdwinEnter. This is triggered _instead_
of BufLeave and WinLeave.
with CmdwinEnter.
<afile> is set to a single character,
indicating the type of command-line.
|cmdwin-char|
@ -595,6 +593,10 @@ CompleteChanged *CompleteChanged*
scrollbar TRUE if visible
It is not allowed to change the text |textlock|.
The size and position of the popup are also
available by calling |pum_getpos()|.
*CompleteDone*
CompleteDone After Insert mode completion is done. Either
when something was completed or abandoning

View File

@ -1,4 +1,4 @@
*change.txt* For Vim version 8.1. Last change: 2019 May 07
*change.txt* For Vim version 8.1. Last change: 2019 Aug 21
VIM REFERENCE MANUAL by Bram Moolenaar
@ -691,10 +691,8 @@ The flags that you can use for the substitute commands:
<Esc> to quit substituting
'a' to substitute this and all remaining matches
'q' to quit substituting
CTRL-E to scroll the screen up {not available when compiled
without the |+insert_expand| feature}
CTRL-Y to scroll the screen down {not available when compiled
without the |+insert_expand| feature}
CTRL-E to scroll the screen up
CTRL-Y to scroll the screen down
If the 'edcompatible' option is on, Vim remembers the [c] flag and
toggles it each time you use it, but resets it when you give a new
search pattern.
@ -1179,9 +1177,9 @@ There are ten types of registers: *registers* *E354*
2. 10 numbered registers "0 to "9
3. The small delete register "-
4. 26 named registers "a to "z or "A to "Z
5. three read-only registers ":, "., "%
6. alternate buffer register "#
7. the expression register "=
5. Three read-only registers ":, "., "%
6. Alternate buffer register "#
7. The expression register "=
8. The selection and drop registers "*, "+ and "~
9. The black hole register "_
10. Last search pattern register "/

View File

@ -1,4 +1,4 @@
*channel.txt* For Vim version 8.1. Last change: 2019 May 12
*channel.txt* For Vim version 8.1. Last change: 2019 Sep 11
VIM REFERENCE MANUAL by Bram Moolenaar
@ -18,11 +18,13 @@ The Netbeans interface also uses a channel. |netbeans|
5. Channel commands |channel-commands|
6. Using a RAW or NL channel |channel-raw|
7. More channel functions |channel-more|
8. Starting a job with a channel |job-start|
9. Starting a job without a channel |job-start-nochannel|
10. Job options |job-options|
11. Controlling a job |job-control|
12. Using a prompt buffer |prompt-buffer|
8. Channel functions details |channel-functions-details|
9. Starting a job with a channel |job-start|
10. Starting a job without a channel |job-start-nochannel|
11. Job functions |job-functions-details|
12. Job options |job-options|
13. Controlling a job |job-control|
14. Using a prompt buffer |prompt-buffer|
{only when compiled with the |+channel| feature for channel stuff}
You can check this with: `has('channel')`
@ -460,7 +462,263 @@ For a JS or JSON channel this returns one decoded message.
This includes any sequence number.
==============================================================================
8. Starting a job with a channel *job-start* *job*
8. Channel functions details *channel-functions-details*
ch_canread({handle}) *ch_canread()*
Return non-zero when there is something to read from {handle}.
{handle} can be a Channel or a Job that has a Channel.
This is useful to read from a channel at a convenient time,
e.g. from a timer.
Note that messages are dropped when the channel does not have
a callback. Add a close callback to avoid that.
Can also be used as a |method|: >
GetChannel()->ch_canread()
ch_close({handle}) *ch_close()*
Close {handle}. See |channel-close|.
{handle} can be a Channel or a Job that has a Channel.
A close callback is not invoked.
Can also be used as a |method|: >
GetChannel()->ch_close()
ch_close_in({handle}) *ch_close_in()*
Close the "in" part of {handle}. See |channel-close-in|.
{handle} can be a Channel or a Job that has a Channel.
A close callback is not invoked.
Can also be used as a |method|: >
GetChannel()->ch_close_in()
ch_evalexpr({handle}, {expr} [, {options}]) *ch_evalexpr()*
Send {expr} over {handle}. The {expr} is encoded
according to the type of channel. The function cannot be used
with a raw channel. See |channel-use|.
{handle} can be a Channel or a Job that has a Channel.
*E917*
{options} must be a Dictionary. It must not have a "callback"
entry. It can have a "timeout" entry to specify the timeout
for this specific request.
ch_evalexpr() waits for a response and returns the decoded
expression. When there is an error or timeout it returns an
empty string.
Note that while waiting for the response, Vim handles other
messages. You need to make sure this doesn't cause trouble.
Can also be used as a |method|: >
GetChannel()->ch_evalexpr(expr)
ch_evalraw({handle}, {string} [, {options}]) *ch_evalraw()*
Send {string} over {handle}.
{handle} can be a Channel or a Job that has a Channel.
Works like |ch_evalexpr()|, but does not encode the request or
decode the response. The caller is responsible for the
correct contents. Also does not add a newline for a channel
in NL mode, the caller must do that. The NL in the response
is removed.
Note that Vim does not know when the text received on a raw
channel is complete, it may only return the first part and you
need to use |ch_readraw()| to fetch the rest.
See |channel-use|.
Can also be used as a |method|: >
GetChannel()->ch_evalraw(rawstring)
ch_getbufnr({handle}, {what}) *ch_getbufnr()*
Get the buffer number that {handle} is using for {what}.
{handle} can be a Channel or a Job that has a Channel.
{what} can be "err" for stderr, "out" for stdout or empty for
socket output.
Returns -1 when there is no buffer.
Can also be used as a |method|: >
GetChannel()->ch_getbufnr(what)
ch_getjob({channel}) *ch_getjob()*
Get the Job associated with {channel}.
If there is no job calling |job_status()| on the returned Job
will result in "fail".
Can also be used as a |method|: >
GetChannel()->ch_getjob()
ch_info({handle}) *ch_info()*
Returns a Dictionary with information about {handle}. The
items are:
"id" number of the channel
"status" "open", "buffered" or "closed", like
ch_status()
When opened with ch_open():
"hostname" the hostname of the address
"port" the port of the address
"sock_status" "open" or "closed"
"sock_mode" "NL", "RAW", "JSON" or "JS"
"sock_io" "socket"
"sock_timeout" timeout in msec
When opened with job_start():
"out_status" "open", "buffered" or "closed"
"out_mode" "NL", "RAW", "JSON" or "JS"
"out_io" "null", "pipe", "file" or "buffer"
"out_timeout" timeout in msec
"err_status" "open", "buffered" or "closed"
"err_mode" "NL", "RAW", "JSON" or "JS"
"err_io" "out", "null", "pipe", "file" or "buffer"
"err_timeout" timeout in msec
"in_status" "open" or "closed"
"in_mode" "NL", "RAW", "JSON" or "JS"
"in_io" "null", "pipe", "file" or "buffer"
"in_timeout" timeout in msec
Can also be used as a |method|: >
GetChannel()->ch_info()
ch_log({msg} [, {handle}]) *ch_log()*
Write {msg} in the channel log file, if it was opened with
|ch_logfile()|.
When {handle} is passed the channel number is used for the
message.
{handle} can be a Channel or a Job that has a Channel. The
Channel must be open for the channel number to be used.
Can also be used as a |method|: >
'did something'->ch_log()
ch_logfile({fname} [, {mode}]) *ch_logfile()*
Start logging channel activity to {fname}.
When {fname} is an empty string: stop logging.
When {mode} is omitted or "a" append to the file.
When {mode} is "w" start with an empty file.
Use |ch_log()| to write log messages. The file is flushed
after every message, on Unix you can use "tail -f" to see what
is going on in real time.
This function is not available in the |sandbox|.
NOTE: the channel communication is stored in the file, be
aware that this may contain confidential and privacy sensitive
information, e.g. a password you type in a terminal window.
Can also be used as a |method|: >
'logfile'->ch_logfile('w')
ch_open({address} [, {options}]) *ch_open()*
Open a channel to {address}. See |channel|.
Returns a Channel. Use |ch_status()| to check for failure.
{address} has the form "hostname:port", e.g.,
"localhost:8765".
If {options} is given it must be a |Dictionary|.
See |channel-open-options|.
Can also be used as a |method|: >
GetAddress()->ch_open()
ch_read({handle} [, {options}]) *ch_read()*
Read from {handle} and return the received message.
{handle} can be a Channel or a Job that has a Channel.
For a NL channel this waits for a NL to arrive, except when
there is nothing more to read (channel was closed).
See |channel-more|.
Can also be used as a |method|: >
GetChannel()->ch_read()
ch_readblob({handle} [, {options}]) *ch_readblob()*
Like ch_read() but reads binary data and returns a |Blob|.
See |channel-more|.
Can also be used as a |method|: >
GetChannel()->ch_readblob()
ch_readraw({handle} [, {options}]) *ch_readraw()*
Like ch_read() but for a JS and JSON channel does not decode
the message. For a NL channel it does not block waiting for
the NL to arrive, but otherwise works like ch_read().
See |channel-more|.
Can also be used as a |method|: >
GetChannel()->ch_readraw()
ch_sendexpr({handle}, {expr} [, {options}]) *ch_sendexpr()*
Send {expr} over {handle}. The {expr} is encoded
according to the type of channel. The function cannot be used
with a raw channel.
See |channel-use|. *E912*
{handle} can be a Channel or a Job that has a Channel.
Can also be used as a |method|: >
GetChannel()->ch_sendexpr(expr)
ch_sendraw({handle}, {expr} [, {options}]) *ch_sendraw()*
Send |String| or |Blob| {expr} over {handle}.
Works like |ch_sendexpr()|, but does not encode the request or
decode the response. The caller is responsible for the
correct contents. Also does not add a newline for a channel
in NL mode, the caller must do that. The NL in the response
is removed.
See |channel-use|.
Can also be used as a |method|: >
GetChannel()->ch_sendraw(rawexpr)
ch_setoptions({handle}, {options}) *ch_setoptions()*
Set options on {handle}:
"callback" the channel callback
"timeout" default read timeout in msec
"mode" mode for the whole channel
See |ch_open()| for more explanation.
{handle} can be a Channel or a Job that has a Channel.
Note that changing the mode may cause queued messages to be
lost.
These options cannot be changed:
"waittime" only applies to |ch_open()|
Can also be used as a |method|: >
GetChannel()->ch_setoptions(options)
ch_status({handle} [, {options}]) *ch_status()*
Return the status of {handle}:
"fail" failed to open the channel
"open" channel can be used
"buffered" channel can be read, not written to
"closed" channel can not be used
{handle} can be a Channel or a Job that has a Channel.
"buffered" is used when the channel was closed but there is
still data that can be obtained with |ch_read()|.
If {options} is given it can contain a "part" entry to specify
the part of the channel to return the status for: "out" or
"err". For example, to get the error status: >
ch_status(job, {"part": "err"})
<
Can also be used as a |method|: >
GetChannel()->ch_status()
==============================================================================
9. Starting a job with a channel *job-start* *job*
To start a job and open a channel for stdin/stdout/stderr: >
let job = job_start(command, {options})
@ -552,7 +810,7 @@ add a close callback and read the output there: >
You will want to do something more useful than "echomsg".
==============================================================================
9. Starting a job without a channel *job-start-nochannel*
10. Starting a job without a channel *job-start-nochannel*
To start another process without creating a channel: >
let job = job_start(command,
@ -579,7 +837,181 @@ Note that the waittime for ch_open() gives the job one second to make the port
available.
==============================================================================
10. Job options *job-options*
11. Job functions *job-functions-details*
job_getchannel({job}) *job_getchannel()*
Get the channel handle that {job} is using.
To check if the job has no channel: >
if string(job_getchannel()) == 'channel fail'
<
Can also be used as a |method|: >
GetJob()->job_getchannel()
job_info([{job}]) *job_info()*
Returns a Dictionary with information about {job}:
"status" what |job_status()| returns
"channel" what |job_getchannel()| returns
"cmd" List of command arguments used to start the job
"process" process ID
"tty_in" terminal input name, empty when none
"tty_out" terminal output name, empty when none
"exitval" only valid when "status" is "dead"
"exit_cb" function to be called on exit
"stoponexit" |job-stoponexit|
Only in Unix:
"termsig" the signal which terminated the process
(See |job_stop()| for the values)
only valid when "status" is "dead"
Only in MS-Windows:
"tty_type" Type of virtual console in use.
Values are "winpty" or "conpty".
See 'termwintype'.
Without any arguments, returns a List with all Job objects.
Can also be used as a |method|: >
GetJob()->job_info()
job_setoptions({job}, {options}) *job_setoptions()*
Change options for {job}. Supported are:
"stoponexit" |job-stoponexit|
"exit_cb" |job-exit_cb|
Can also be used as a |method|: >
GetJob()->job_setoptions(options)
job_start({command} [, {options}]) *job_start()*
Start a job and return a Job object. Unlike |system()| and
|:!cmd| this does not wait for the job to finish.
To start a job in a terminal window see |term_start()|.
If the job fails to start then |job_status()| on the returned
Job object results in "fail" and none of the callbacks will be
invoked.
{command} can be a String. This works best on MS-Windows. On
Unix it is split up in white-separated parts to be passed to
execvp(). Arguments in double quotes can contain white space.
{command} can be a List, where the first item is the executable
and further items are the arguments. All items are converted
to String. This works best on Unix.
On MS-Windows, job_start() makes a GUI application hidden. If
want to show it, Use |:!start| instead.
The command is executed directly, not through a shell, the
'shell' option is not used. To use the shell: >
let job = job_start(["/bin/sh", "-c", "echo hello"])
< Or: >
let job = job_start('/bin/sh -c "echo hello"')
< Note that this will start two processes, the shell and the
command it executes. If you don't want this use the "exec"
shell command.
On Unix $PATH is used to search for the executable only when
the command does not contain a slash.
The job will use the same terminal as Vim. If it reads from
stdin the job and Vim will be fighting over input, that
doesn't work. Redirect stdin and stdout to avoid problems: >
let job = job_start(['sh', '-c', "myserver </dev/null >/dev/null"])
<
The returned Job object can be used to get the status with
|job_status()| and stop the job with |job_stop()|.
Note that the job object will be deleted if there are no
references to it. This closes the stdin and stderr, which may
cause the job to fail with an error. To avoid this keep a
reference to the job. Thus instead of: >
call job_start('my-command')
< use: >
let myjob = job_start('my-command')
< and unlet "myjob" once the job is not needed or is past the
point where it would fail (e.g. when it prints a message on
startup). Keep in mind that variables local to a function
will cease to exist if the function returns. Use a
script-local variable if needed: >
let s:myjob = job_start('my-command')
<
{options} must be a Dictionary. It can contain many optional
items, see |job-options|.
Can also be used as a |method|: >
BuildCommand()->job_start()
job_status({job}) *job_status()* *E916*
Returns a String with the status of {job}:
"run" job is running
"fail" job failed to start
"dead" job died or was stopped after running
On Unix a non-existing command results in "dead" instead of
"fail", because a fork happens before the failure can be
detected.
If an exit callback was set with the "exit_cb" option and the
job is now detected to be "dead" the callback will be invoked.
For more information see |job_info()|.
Can also be used as a |method|: >
GetJob()->job_status()
job_stop({job} [, {how}]) *job_stop()*
Stop the {job}. This can also be used to signal the job.
When {how} is omitted or is "term" the job will be terminated.
For Unix SIGTERM is sent. On MS-Windows the job will be
terminated forcedly (there is no "gentle" way).
This goes to the process group, thus children may also be
affected.
Effect for Unix:
"term" SIGTERM (default)
"hup" SIGHUP
"quit" SIGQUIT
"int" SIGINT
"kill" SIGKILL (strongest way to stop)
number signal with that number
Effect for MS-Windows:
"term" terminate process forcedly (default)
"hup" CTRL_BREAK
"quit" CTRL_BREAK
"int" CTRL_C
"kill" terminate process forcedly
Others CTRL_BREAK
On Unix the signal is sent to the process group. This means
that when the job is "sh -c command" it affects both the shell
and the command.
The result is a Number: 1 if the operation could be executed,
0 if "how" is not supported on the system.
Note that even when the operation was executed, whether the
job was actually stopped needs to be checked with
|job_status()|.
If the status of the job is "dead", the signal will not be
sent. This is to avoid to stop the wrong job (esp. on Unix,
where process numbers are recycled).
When using "kill" Vim will assume the job will die and close
the channel.
Can also be used as a |method|: >
GetJob()->job_stop()
==============================================================================
12. Job options *job-options*
The {options} argument in job_start() is a dictionary. All entries are
optional. Some options can be used after the job has started, using
@ -773,7 +1205,7 @@ accessible for others). Use |setfperm()| to change this.
If the file already exists it is truncated.
==============================================================================
11. Controlling a job *job-control*
13. Controlling a job *job-control*
To get the status of a job: >
echo job_status(job)
@ -789,7 +1221,7 @@ signals. E.g. to force a job to stop, "kill it": >
For more options see |job_stop()|.
==============================================================================
12. Using a prompt buffer *prompt-buffer*
14. Using a prompt buffer *prompt-buffer*
If you want to type input for the job in a Vim window you have a few options:
- Use a normal buffer and handle all possible commands yourself.

View File

@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 8.1. Last change: 2019 May 07
*cmdline.txt* For Vim version 8.1. Last change: 2019 Sep 04
VIM REFERENCE MANUAL by Bram Moolenaar
@ -380,10 +380,8 @@ word before the cursor. This is available for:
- Mappings: Only after a ":map" or similar command.
- Variable and function names: Only after a ":if", ":call" or similar command.
When Vim was compiled without the |+cmdline_compl| feature only file names,
directories and help items can be completed. The number of help item matches
is limited (currently to 300) to avoid a long delay when there are very many
matches.
The number of help item matches is limited (currently to 300) to avoid a long
delay when there are very many matches.
These are the commands that can be used:
@ -702,7 +700,7 @@ commands ":write" and ":global" have the whole file (1,$) as default.
If more line specifiers are given than required for the command, the first
one(s) will be ignored.
Line numbers may be specified with: *:range* *E14* *{address}*
Line numbers may be specified with: *:range* *{address}*
{number} an absolute line number
. the current line *:.*
$ the last line in the file *:$*
@ -911,8 +909,7 @@ Note: these are typed literally, they are not special keys!
*%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs* *%:S*
The file name modifiers can be used after "%", "#", "#n", "<cfile>", "<sfile>",
"<afile>" or "<abuf>". They are also used with the |fnamemodify()| function.
These are not available when Vim has been compiled without the |+modify_fname|
feature.
These modifiers can be given, in this order:
:p Make file name a full path. Must be the first modifier. Also
changes "~/" (and "~user/" for Unix and VMS) to the path for
@ -1064,8 +1061,7 @@ Also see |`=|.
In the command-line window the command line can be edited just like editing
text in any window. It is a special kind of window, because you cannot leave
it in a normal way.
{not available when compiled without the |+cmdline_hist| or |+vertsplit|
feature}
{not available when compiled without the |+cmdline_hist| feature}
OPEN *c_CTRL-F* *q:* *q/* *q?*
@ -1140,7 +1136,6 @@ VARIOUS
The command-line window cannot be used:
- when there already is a command-line window (no nesting)
- for entering an encryption key or when using inputsecret()
- when Vim was not compiled with the |+vertsplit| feature
Some options are set when the command-line window is opened:
'filetype' "vim", when editing an Ex command-line; this starts Vim syntax
@ -1176,11 +1171,9 @@ edited as described in |cmdwin-char|.
AUTOCOMMANDS
Two autocommand events are used: |CmdwinEnter| and |CmdwinLeave|. Since this
window is of a special type, the WinEnter, WinLeave, BufEnter and BufLeave
events are not triggered. You can use the Cmdwin events to do settings
specifically for the command-line window. Be careful not to cause side
effects!
Two autocommand events are used: |CmdwinEnter| and |CmdwinLeave|. You can use
the Cmdwin events to do settings specifically for the command-line window.
Be careful not to cause side effects!
Example: >
:au CmdwinEnter : let b:cpt_save = &cpt | set cpt=.
:au CmdwinLeave : let &cpt = b:cpt_save

View File

@ -1,4 +1,4 @@
*debugger.txt* For Vim version 8.1. Last change: 2019 May 12
*debugger.txt* For Vim version 8.1. Last change: 2019 Jul 06
VIM REFERENCE MANUAL by Gordon Prieur
@ -6,6 +6,10 @@
Debugger Support Features *debugger-support*
These features are for integration with a debugger or an Integrated
Programming Environment (IPE) or Integrated Development Environment (IDE).
For the debugger running in a Vim terminal window see |terminal-debugger|.
1. Debugger Features |debugger-features|
2. Vim Compile Options |debugger-compilation|
3. Integrated Debuggers |debugger-integration|
@ -14,9 +18,7 @@ Debugger Support Features *debugger-support*
==============================================================================
1. Debugger Features *debugger-features*
The following features are available for an integration with a debugger or
an Integrated Programming Environment (IPE) or Integrated Development
Environment (IDE):
The following features are available:
Alternate Command Input |alt-input|
Debug Signs |debug-signs|
@ -90,6 +92,9 @@ However, the feature was implemented in as general a manner as possible and
could be used for displaying other information as well. The functionality is
limited though, for advanced popups see |popup-window|.
Another way to use the balloon is with the 'balloonexpr' option. This is
completely user definable.
The Balloon Evaluation has some settable parameters too. For Motif the font
list and colors can be set via X resources (XmNballoonEvalFontList,
XmNballoonEvalBackground, and XmNballoonEvalForeground).
@ -106,9 +111,6 @@ The Balloon evaluation functions are also used to show a tooltip for the
toolbar. The 'ballooneval' option does not need to be set for this. But the
other settings apply.
Another way to use the balloon is with the 'balloonexpr' option. This is
completely user definable.
==============================================================================
2. Vim Compile Options *debugger-compilation*

View File

@ -1,4 +1,4 @@
*develop.txt* For Vim version 8.1. Last change: 2019 Feb 17
*develop.txt* For Vim version 8.1. Last change: 2019 Aug 05
VIM REFERENCE MANUAL by Bram Moolenaar
@ -529,7 +529,7 @@ the best method is. Alternatives:
memory use, but takes a long time. On a fast PC it takes a couple of
seconds for English, which can be acceptable for interactive use. But for
some languages it takes more than ten seconds (e.g., German, Catalan),
which is unacceptable slow. For batch processing (automatic corrections)
which is unacceptably slow. For batch processing (automatic corrections)
it's too slow for all languages.
2. Use a trie for the soundfolded words, so that searching can be done just
like how it works without soundfolding. This requires remembering a list

View File

@ -1,4 +1,4 @@
*diff.txt* For Vim version 8.1. Last change: 2019 Jun 02
*diff.txt* For Vim version 8.1. Last change: 2019 Jul 27
VIM REFERENCE MANUAL by Bram Moolenaar
@ -335,7 +335,7 @@ After setting this variable, reload the syntax script: >
FINDING THE DIFFERENCES *diff-diffexpr*
The 'diffexpr' option can be set to use something else than the standard
"diff" program to compare two files and find the differences.
"diff" program to compare two files and find the differences. *E959*
When 'diffexpr' is empty, Vim uses this command to find the differences
between file1 and file2: >

View File

@ -100,7 +100,7 @@ g CTRL-G Prints the current position of the cursor in five
:buffers
:files
:ls List all the currently known file names. See
'windows.txt' |:files| |:buffers| |:ls|.
|windows.txt| |:files| |:buffers| |:ls|.
Vim will remember the full path name of a file name that you enter. In most
cases when the file name is displayed only the name you typed is shown, but
@ -1233,7 +1233,7 @@ The syntax is best shown via some examples: >
< Open the browser in the C:/bar directory, with the current
buffer filename as default, and save the buffer under the
filename chosen.
Also see the |'browsedir'| option.
Also see the 'browsedir' option.
For versions of Vim where browsing is not supported, the command is executed
unmodified.

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
*filetype.txt* For Vim version 8.1. Last change: 2019 May 05
*filetype.txt* For Vim version 8.1. Last change: 2019 Jul 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -642,6 +642,16 @@ To disable this behavior, set the following variable in your vimrc: >
let g:python_recommended_style = 0
QF QUICKFIX *qf.vim* *ft-qf-plugin*
The "qf" filetype is used for the quickfix window, see |quickfix-window|.
The quickfix filetype plugin includes configuration for displaying the command
that produced the quickfix list in the |status-line|. To disable this setting,
configure as follows: >
:let g:qf_disable_statusline = 1
R MARKDOWN *ft-rmd-plugin*
By default ftplugin/html.vim is not sourced. If you want it sourced, add to

View File

@ -1,4 +1,4 @@
*gui.txt* For Vim version 8.1. Last change: 2019 May 20
*gui.txt* For Vim version 8.1. Last change: 2019 Aug 21
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1013,7 +1013,7 @@ it behaves in a strange way.
have at least one subentry, but need not
appear on the menu-bar (see |hidden-menus|).
{only available for Win32 and GTK GUI or in
the terminal when compiled with +insert_expand}
the terminal}
:popu[p]! {name} Like above, but use the position of the mouse
pointer instead of the cursor.

View File

@ -1,4 +1,4 @@
*help.txt* For Vim version 8.1. Last change: 2019 May 12
*help.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM - main help file
k
@ -139,6 +139,7 @@ Advanced editing ~
|fold.txt| hide (fold) ranges of lines
Special issues ~
|testing.txt| testing Vim and Vim scripts
|print.txt| printing
|remote.txt| using Vim as a server or client
|term.txt| using different terminals and mice

View File

@ -1,4 +1,4 @@
*if_lua.txt* For Vim version 8.1. Last change: 2019 May 05
*if_lua.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Luis Carvalho
@ -32,7 +32,7 @@ Examples:
:lua local curbuf = vim.buffer() curbuf[7] = "line #7"
<
:[range]lua << {endmarker}
:[range]lua << [endmarker]
{script}
{endmarker}
Execute Lua script {script}.
@ -40,9 +40,11 @@ Examples:
feature wasn't compiled in. To avoid errors, see
|script-here|.
{endmarker} must NOT be preceded by any white space. If {endmarker} is
omitted from after the "<<", a dot '.' must be used after {script}, like
for the |:append| and |:insert| commands.
The {endmarker} must NOT be preceded by any white space.
If [endmarker] is omitted from after the "<<", a dot '.' must be used after
{script}, like for the |:append| and |:insert| commands.
This form of the |:lua| command is mainly useful for including Lua code
in Vim scripts.

View File

@ -1,4 +1,4 @@
*if_mzsch.txt* For Vim version 8.1. Last change: 2019 May 05
*if_mzsch.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Sergey Khorev
@ -39,7 +39,7 @@ To speed up the process, you might also want to use --disable-gracket and
:[range]mz[scheme] {stmt}
Execute MzScheme statement {stmt}.
:[range]mz[scheme] << {endmarker}
:[range]mz[scheme] << [endmarker]
{script}
{endmarker}
Execute inlined MzScheme script {script}.
@ -47,6 +47,13 @@ To speed up the process, you might also want to use --disable-gracket and
feature wasn't compiled in. To avoid errors, see
|script-here|.
The {endmarker} below the {script} must NOT be
preceded by any white space.
If [endmarker] is omitted from after the "<<", a dot
'.' must be used after {script}, like for the
|:append| and |:insert| commands.
*:mzfile* *:mzf*
:[range]mzf[ile] {file} Execute the MzScheme script in {file}.

View File

@ -1,4 +1,4 @@
*if_perl.txt* For Vim version 8.1. Last change: 2019 May 05
*if_perl.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Sven Verdoolaege
@ -55,15 +55,18 @@ The ActiveState one should work, Strawberry Perl is a good alternative.
working: >
:perl VIM::Msg("Hello")
:pe[rl] << {endpattern}
:pe[rl] << [endpattern]
{script}
{endpattern}
Execute Perl script {script}.
{endpattern} must NOT be preceded by any white space.
If {endpattern} is omitted, it defaults to a dot '.'
The {endpattern} after {script} must NOT be preceded
by any white space.
If [endpattern] is omitted, it defaults to a dot '.'
like for the |:append| and |:insert| commands. Using
'.' helps when inside a function, because "$i;" looks
like the start of an |:insert| command to Vim.
This form of the |:perl| command is mainly useful for
including perl code in vim scripts.
Note: This command doesn't work when the Perl feature

View File

@ -1,4 +1,4 @@
*if_pyth.txt* For Vim version 8.1. Last change: 2019 May 04
*if_pyth.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Paul Moore
@ -34,7 +34,7 @@ Both can be available at the same time, but read |python-2-and-3|.
the `:python` command is working: >
:python print "Hello"
:[range]py[thon] << {endmarker}
:[range]py[thon] << [endmarker]
{script}
{endmarker}
Execute Python script {script}.
@ -42,9 +42,11 @@ Both can be available at the same time, but read |python-2-and-3|.
feature wasn't compiled in. To avoid errors, see
|script-here|.
{endmarker} must NOT be preceded by any white space. If {endmarker} is
omitted from after the "<<", a dot '.' must be used after {script}, like
for the |:append| and |:insert| commands.
The {endmarker} below the {script} must NOT be preceded by any white space.
If [endmarker] is omitted from after the "<<", a dot '.' must be used after
{script}, like for the |:append| and |:insert| commands.
This form of the |:python| command is mainly useful for including python code
in Vim scripts.

View File

@ -1,4 +1,4 @@
*if_ruby.txt* For Vim version 8.1. Last change: 2019 May 05
*if_ruby.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Shugo Maeda
@ -28,15 +28,19 @@ downloading Ruby there.
:rub[y] {cmd} Execute Ruby command {cmd}. A command to try it out: >
:ruby print "Hello"
:rub[y] << {endpattern}
:rub[y] << [endpattern]
{script}
{endpattern}
Execute Ruby script {script}.
{endpattern} must NOT be preceded by any white space.
If {endpattern} is omitted, it defaults to a dot '.'
like for the |:append| and |:insert| commands. This
form of the |:ruby| command is mainly useful for
The {endpattern} after {script} must NOT be preceded
by any white space.
If [endpattern] is omitted, it defaults to a dot '.'
like for the |:append| and |:insert| commands.
This form of the |:ruby| command is mainly useful for
including ruby code in vim scripts.
Note: This command doesn't work when the Ruby feature
wasn't compiled in. To avoid errors, see
|script-here|.

View File

@ -1,4 +1,4 @@
*if_tcl.txt* For Vim version 8.1. Last change: 2019 May 05
*if_tcl.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Ingo Wilken
@ -30,7 +30,7 @@ comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
is working: >
:tcl puts "Hello"
:[range]tc[l] << {endmarker}
:[range]tc[l] << [endmarker]
{script}
{endmarker}
Execute Tcl script {script}.
@ -38,9 +38,11 @@ comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
wasn't compiled in. To avoid errors, see
|script-here|.
{endmarker} must NOT be preceded by any white space. If {endmarker} is
omitted from after the "<<", a dot '.' must be used after {script}, like for
the |:append| and |:insert| commands.
The {endmarker} after {script} must NOT be preceded by any white space.
If [endmarker] is omitted from after the "<<", a dot '.' must be used after
{script}, like for the |:append| and |:insert| commands.
This form of the |:tcl| command is mainly useful for including tcl code in Vim
scripts.

View File

@ -1,4 +1,4 @@
*indent.txt* For Vim version 8.1. Last change: 2019 Feb 21
*indent.txt* For Vim version 8.1. Last change: 2019 Aug 01
VIM REFERENCE MANUAL by Bram Moolenaar
@ -901,7 +901,7 @@ NOTE: Indenting will be a bit slower if this option is used because some
optimizations won't be available.
-------------
*PHP_vintage_case_default_indent*
*PHP_vintage_case_default_indent*
To indent 'case:' and 'default:' statements in switch() blocks: >
:let g:PHP_vintage_case_default_indent = 1
@ -928,6 +928,41 @@ You will obtain the following result: >
->age()
->info();
-------------
*PHP_IndentFunctionCallParameters*
Extra indentation levels to add to parameters in multi-line function calls. >
let g:PHP_IndentFunctionCallParameters = 1
Function call arguments will indent 1 extra level. For two-space indentation: >
function call_the_thing(
$with_this,
$and_that
) {
$this->do_the_thing(
$with_this,
$and_that
);
}
-------------
*PHP_IndentFunctionDeclarationParameters*
Extra indentation levels to add to arguments in multi-line function definitions. >
let g:PHP_IndentFunctionDeclarationParameters = 1
Function arguments in declarations will indent 1 extra level. For two-space indentation: >
function call_the_thing(
$with_this,
$and_that
) {
$this->do_the_thing(
$with_this,
$and_that
);
}
PYTHON *ft-python-indent*

View File

@ -1,4 +1,4 @@
*index.txt* For Vim version 8.1. Last change: 2019 Jun 16
*index.txt* For Vim version 8.1. Last change: 2019 Sep 02
VIM REFERENCE MANUAL by Bram Moolenaar
@ -23,7 +23,7 @@ to look for deleting something, use: "/delete".
5. Terminal-Job mode |terminal-job-index|
6. EX commands |ex-cmd-index|
For an overview of options see help.txt |option-list|.
For an overview of options see |option-list|.
For an overview of built-in functions see |functions|.
For a list of Vim variables see |vim-variable|.
For a complete listing of all help items see |help-tags|.
@ -166,7 +166,6 @@ commands in CTRL-X submode *i_CTRL-X_index*
|i_CTRL-X_CTRL-V| CTRL-X CTRL-V complete like in : command line
|i_CTRL-X_CTRL-]| CTRL-X CTRL-] complete tags
|i_CTRL-X_s| CTRL-X s spelling suggestions
{not available when compiled without the |+insert_expand| feature}
commands in completion mode (see |popupmenu-keys|)
@ -1129,6 +1128,8 @@ The commands are sorted on the non-optional part of their name.
tag command action ~
------------------------------------------------------------------------------
|:| : nothing
|:range| :{range} go to last line in {range}
|:!| :! filter lines or execute an external command
|:!!| :!! repeat last ":!" command
|:#| :# same as ":number"
@ -1592,6 +1593,7 @@ tag command action ~
|:spelldump| :spelld[ump] split window and fill with all correct words
|:spellgood| :spe[llgood] add good word for spelling
|:spellinfo| :spelli[nfo] show info about loaded spell files
|:spellrare| :spellra[re] add rare word for spelling
|:spellrepall| :spellr[epall] replace all bad words like last |z=|
|:spellundo| :spellu[ndo] remove good or bad word
|:spellwrong| :spellw[rong] add spelling mistake

View File

@ -1,4 +1,4 @@
*insert.txt* For Vim version 8.1. Last change: 2019 May 07
*insert.txt* For Vim version 8.1. Last change: 2019 Sep 08
VIM REFERENCE MANUAL by Bram Moolenaar
@ -300,8 +300,7 @@ character is written at the end of each line. Thus if you want to insert a
*i_CTRL-X* *insert_expand*
CTRL-X enters a sub-mode where several commands can be used. Most of these
commands do keyword completion; see |ins-completion|. These are not available
when Vim was compiled without the |+insert_expand| feature.
commands do keyword completion; see |ins-completion|.
Two commands can be used to scroll the window up or down, without exiting
insert mode:
@ -609,9 +608,6 @@ In Insert and Replace mode, there are several commands to complete part of a
keyword or line that has been typed. This is useful if you are using
complicated keywords (e.g., function names with capitals and underscores).
These commands are not available when the |+insert_expand| feature was
disabled at compile time.
Completion can be done for:
1. Whole lines |i_CTRL-X_CTRL-L|
@ -1092,7 +1088,7 @@ items:
menu extra text for the popup menu, displayed after "word"
or "abbr"
info more information about the item, can be displayed in a
preview window
preview or popup window
kind single letter indicating the type of completion
icase when non-zero case is to be ignored when comparing
items to be equal; when omitted zero is used, thus
@ -1114,11 +1110,33 @@ items in the returned list.
The "menu" item is used in the popup menu and may be truncated, thus it should
be relatively short. The "info" item can be longer, it will be displayed in
the preview window when "preview" appears in 'completeopt'. The "info" item
will also remain displayed after the popup menu has been removed. This is
useful for function arguments. Use a single space for "info" to remove
existing text in the preview window. The size of the preview window is three
lines, but 'previewheight' is used when it has a value of 1 or 2.
the preview window when "preview" appears in 'completeopt' or in a popup
window when "popup" appears in 'completeopt'. In the preview window the
"info" item will also remain displayed after the popup menu has been removed.
This is useful for function arguments. Use a single space for "info" to
remove existing text in the preview window. The size of the preview window is
three lines, but 'previewheight' is used when it has a value of 1 or 2.
*complete-popup*
When "popup" is in 'completeopt' a popup window is used to display the "info".
Then the 'completepopup' option specifies the properties of the popup. This
is used when the info popup is created. The option is a comma separated list
of values:
height maximum height of the popup
width maximum width of the popup
highlight highlight group of the popup (default is PmenuSel)
align "item" (default) or "menu"
border "on" (default) or "off"
Example: >
:set completepopup=height:10,width:60,highlight:InfoPopup
When the "align" value is "item" then the popup is positioned close to the
selected item. Changing the selection will also move the popup. When "align"
is "menu" then the popup is aligned with the top of the menu if the menu is
below the text, and the bottom of the menu otherwise.
After the info popup is created it can be found with |popup_findinfo()| and
properties can be changed with |popup_setoptions()|.
The "kind" item uses a single letter to indicate the kind of completion. This
may be used to show the completion differently (different color or icon).

View File

@ -1,4 +1,4 @@
*intro.txt* For Vim version 8.1. Last change: 2019 Jun 26
*intro.txt* For Vim version 8.1. Last change: 2019 Aug 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -508,6 +508,9 @@ the ":map" command. The rules are:
<M-a> Meta- a ('a' with bit 8 set)
<M-A> Meta- A ('A' with bit 8 set)
<t_kd> "kd" termcap entry (cursor down key)
Although you can specify <M-{char}> with {char} being a multi-byte
character, Vim may not be able to know what byte sequence that is and then
it won't work.
If you want to use the full <> notation in Vim, you have to make sure the '<'
flag is excluded from 'cpoptions' (when 'compatible' is not set, it already is

View File

@ -1,4 +1,4 @@
*mbyte.txt* For Vim version 8.1. Last change: 2019 Apr 28
*mbyte.txt* For Vim version 8.1. Last change: 2019 Jul 04
VIM REFERENCE MANUAL by Bram Moolenaar et al.
@ -943,11 +943,12 @@ To input multibyte characters on Windows, you can use an Input Method Editor
IME many many many times. Because IME with status on is hooking all of your
key inputs, you cannot input 'j', 'k', or almost all of keys to Vim directly.
This |+multi_byte_ime| feature help this. It reduce times of switch status of
IME manually. In normal mode, there are almost no need working IME, even
editing multibyte text. So exiting insert mode with ESC, Vim memorize last
status of IME and force turn off IME. When re-enter insert mode, Vim revert
IME status to that memorized automatically.
The |+multi_byte_ime| feature helps for this. It reduces the number of times
the IME status has to be switched manually. In Normal mode, there is almost
no need to use IME, even when editing multibyte text. So when exiting Insert
mode, Vim memorizes the last status of IME and turns off IME. When
re-entering Insert mode, Vim sets the IME status to that memorized status
automatically.
This works on not only insert-normal mode, but also search-command input and
replace mode.

View File

@ -1,4 +1,4 @@
*message.txt* For Vim version 8.1. Last change: 2019 May 18
*message.txt* For Vim version 8.1. Last change: 2019 Aug 23
VIM REFERENCE MANUAL by Bram Moolenaar
@ -479,6 +479,9 @@ out-of-memory situation. First make sure that any changes are saved. Then
try to solve the memory shortage. To stay on the safe side, exit Vim and
start again.
If this happens while Vim is still initializing, editing files is very
unlikely to work, therefore Vim will exit with value 123.
Buffers are only partly kept in memory, thus editing a very large file is
unlikely to cause an out-of-memory situation. Undo information is completely
in memory, you can reduce that with these options:
@ -809,6 +812,8 @@ To reduce the number of hit-enter prompts:
- Set 'cmdheight' to 2 or higher.
- Add flags to 'shortmess'.
- Reset 'showcmd' and/or 'ruler'.
- Make sure `:echo` text is shorter than or equal to |v:echospace| screen
cells.
If your script causes the hit-enter prompt and you don't know why, you may
find the |v:scrollstart| variable useful.

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 8.1. Last change: 2019 Jun 27
*options.txt* For Vim version 8.1. Last change: 2019 Sep 09
VIM REFERENCE MANUAL by Bram Moolenaar
@ -856,6 +856,8 @@ A jump table for the options with a short description can be found at |Q_op|.
:set background&
< Vim will guess the value. In the GUI this should work correctly,
in other cases Vim might not be able to guess the right value.
If the GUI supports a dark them, you can use the "d" flag in
'guioptions', see 'go-d'.
When the |t_RB| option is set, Vim will use it to request the background
color from the terminal. If the returned RGB value is dark/light and
@ -1131,6 +1133,10 @@ A jump table for the options with a short description can be found at |Q_op|.
v:beval_col column number (byte index)
v:beval_text word under or after the mouse pointer
Instead of showing a balloon, which is limited to plain text, consider
using a popup window, see |popup_beval_example|. A popup window can
use highlighting and show a border.
The evaluation of the expression must not have side effects!
Example: >
function MyBalloonExpr()
@ -1142,8 +1148,10 @@ A jump table for the options with a short description can be found at |Q_op|.
set bexpr=MyBalloonExpr()
set ballooneval
<
Also see |balloon_show()|, can be used if the content of the balloon
is to be fetched asynchronously.
Also see |balloon_show()|, it can be used if the content of the balloon
is to be fetched asynchronously. In that case evaluating
'balloonexpr' should result in an empty string. If you get a balloon
with only "0" you probably didn't return anything from your function.
NOTE: The balloon is displayed only if the cursor is on a text
character. If the result of evaluating 'balloonexpr' is not empty,
@ -1155,7 +1163,7 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set in a modeline when 'modelineexpr' is off.
It is not allowed to change text or jump to another window while
evaluating 'balloonexpr' |textlock|.
evaluating 'balloonexpr', see |textlock|.
To check whether line breaks in the balloon text work use this check: >
if has("balloon_multiline")
@ -1434,8 +1442,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'cedit'*
'cedit' string (Vi default: "", Vim default: CTRL-F)
global
{not available when compiled without the |+vertsplit|
feature}
The key used in Command-line Mode to open the command-line window.
The default is CTRL-F when 'compatible' is off.
Only non-printable keys are allowed.
@ -1638,8 +1644,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'cmdwinheight'* *'cwh'*
'cmdwinheight' 'cwh' number (default 7)
global
{not available when compiled without the |+vertsplit|
feature}
Number of screen lines to use for the command-line window. |cmdwin|
*'colorcolumn'* *'cc'*
@ -1864,7 +1868,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'completefunc' 'cfu' string (default: empty)
local to buffer
{not available when compiled without the |+eval|
or |+insert_expand| features}
feature}
This option specifies a function to be used for Insert mode completion
with CTRL-X CTRL-U. |i_CTRL-X_CTRL-U|
See |complete-functions| for an explanation of how the function is
@ -1872,11 +1876,24 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'completeslash'* *'csl'*
'completeslash' 'csl' string (default: "")
local to buffer
{not in Vi} {only for MS-Windows}
When this option is set it overrules 'shellslash' for completion:
- When this option is set to "slash", a forward slash is used for path
completion in insert mode. This is useful when editing HTML tag, or
Makefile with 'noshellslash' on Windows.
- When this option is set to "backslash", backslash is used. This is
useful when editing a batch file with 'shellslash' set on Windows.
- When this option is empty, same character is used as for
'shellslash'.
For Insert mode completion the buffer-local value is used. For
command line completion the global value is used.
*'completeopt'* *'cot'*
'completeopt' 'cot' string (default: "menu,preview")
global
{not available when compiled without the
|+insert_expand| feature}
A comma separated list of options for Insert mode completion
|ins-completion|. The supported values are:
@ -1898,6 +1915,12 @@ A jump table for the options with a short description can be found at |Q_op|.
completion in the preview window. Only works in
combination with "menu" or "menuone".
popup Show extra information about the currently selected
completion in a popup window. Only works in combination
with "menu" or "menuone". Overrides "preview".
See |'completepopup'| for specifying properties.
{only works when compiled with the +textprop feature}
noinsert Do not insert any text for a match until the user selects
a match from the menu. Only works in combination with
"menu" or "menuone". No effect if "longest" is present.
@ -1907,6 +1930,17 @@ A jump table for the options with a short description can be found at |Q_op|.
"menu" or "menuone".
*'completepopup'* *'cpp'*
'completepopup' 'cpp' string (default empty)
global
{not available when compiled without the |+textprop|
or |+quickfix| feature}
When 'completeopt' contains "popup" then this option is used for the
properties of the info popup when it is created. You can also use
|popup_findinfo()| and then set properties for an existing info popup
with |popup_setoptions()|. See |complete-popup|.
*'concealcursor'* *'cocu'*
'concealcursor' 'cocu' string (default: "")
local to window
@ -2429,13 +2463,33 @@ A jump table for the options with a short description can be found at |Q_op|.
local to window
{not available when compiled without the |+syntax|
feature}
Highlight the screen line of the cursor with CursorLine
|hl-CursorLine|. Useful to easily spot the cursor. Will make screen
redrawing slower.
Highlight the text line of the cursor with CursorLine |hl-CursorLine|.
Useful to easily spot the cursor. Will make screen redrawing slower.
When Visual mode is active the highlighting isn't used to make it
easier to see the selected text.
*'cursorlineopt'* *'culopt'*
'cursorlineopt' 'culopt' string (default: "number,line")
local to window
{not in Vi}
{not available when compiled without the |+syntax|
feature}
Comma separated list of settings for how 'cursorline' is displayed.
Valid values:
"line" Highlight the text line of the cursor with
CursorLine |hl-CursorLine|.
"screenline" Highlight only the screen line of the cursor with
CursorLine |hl-CursorLine|.
"number" Highlight the line number of the cursor with
CursorLineNr |hl-CursorLineNr|.
Special value:
"both" Alias for the values "line,number".
"line" and "screenline" cannot be used together.
*'debug'*
'debug' string (default "")
global
@ -2703,8 +2757,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'eadirection'* *'ead'*
'eadirection' 'ead' string (default "both")
global
{not available when compiled without the |+vertsplit|
feature}
Tells when the 'equalalways' option applies:
ver vertically, width of windows is not affected
hor horizontally, height of windows is not affected
@ -3140,8 +3192,8 @@ A jump table for the options with a short description can be found at |Q_op|.
*'fillchars'* *'fcs'*
'fillchars' 'fcs' string (default "vert:|,fold:-")
global
{not available when compiled without the |+windows|
and |+folding| features}
{not available when compiled without the |+folding|
feature}
Characters to fill the statuslines and vertical separators.
It is a comma separated list of items:
@ -3690,6 +3742,9 @@ A jump table for the options with a short description can be found at |Q_op|.
*'go-c'*
'c' Use console dialogs instead of popup dialogs for simple
choices.
*'go-d'*
'd' Use dark theme variant if available. Currently only works for
GTK+ GUI.
*'go-e'*
'e' Add tab pages when indicated with 'showtabline'.
'guitablabel' can be used to change the text in the labels.
@ -3777,8 +3832,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'guitablabel'* *'gtl'*
'guitablabel' 'gtl' string (default empty)
global
{only available when compiled with GUI enabled and
with the |+windows| feature}
{only available when compiled with GUI enabled}
When nonempty describes the text to use in a label of the GUI tab
pages line. When empty and when the result is empty Vim will use a
default label. See |setting-guitablabel| for more info.
@ -3796,8 +3850,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'guitabtooltip'* *'gtt'*
'guitabtooltip' 'gtt' string (default empty)
global
{only available when compiled with GUI enabled and
with the |+windows| feature}
{only available when compiled with GUI enabled}
When nonempty describes the text to use in a tooltip for the GUI tab
pages line. When empty Vim will use a default tooltip.
This option is otherwise just like 'guitablabel' above.
@ -3822,8 +3875,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'helpheight'* *'hh'*
'helpheight' 'hh' number (default 20)
global
{not available when compiled without the |+windows|
feature}
Minimal initial height of the help window when it is opened with the
":help" command. The initial height of the help window is half of the
current window, or (when the 'ea' option is on) the same as other
@ -5207,8 +5258,6 @@ A jump table for the options with a short description can be found at |Q_op|.
In the "popup" model the right mouse button produces a pop-up menu.
You need to define this first, see |popup-menu|.
In a terminal the popup menu works if Vim is compiled with the
|+insert_expand| option.
Note that you can further refine the meaning of buttons with mappings.
See |gui-mouse-mapping|. But mappings are NOT used for modeless
@ -5393,7 +5442,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'omnifunc' 'ofu' string (default: empty)
local to buffer
{not available when compiled without the |+eval|
or |+insert_expand| features}
feature}
This option specifies a function to be used for Insert mode omni
completion with CTRL-X CTRL-O. |i_CTRL-X_CTRL-O|
See |complete-functions| for an explanation of how the function is
@ -5622,17 +5671,28 @@ A jump table for the options with a short description can be found at |Q_op|.
*'previewheight'* *'pvh'*
'previewheight' 'pvh' number (default 12)
global
{not available when compiled without the |+windows| or
|+quickfix| features}
{not available when compiled without the |+quickfix|
feature}
Default height for a preview window. Used for |:ptag| and associated
commands. Used for |CTRL-W_}| when no count is given.
commands. Used for |CTRL-W_}| when no count is given. Not used when
'previewpopup' is set.
*'previewpopup'* *'pvp'*
'previewpopup' 'pvp' string (default empty)
global
{not available when compiled without the |+textprop|
or |+quickfix| feature}
When not empty a popup window is used for commands that would open a
preview window. See |preview-popup|.
Not used for the insert completion info, add "popup" to
'completeopt' for that.
*'previewwindow'* *'nopreviewwindow'*
*'pvw'* *'nopvw'* *E590*
'previewwindow' 'pvw' boolean (default off)
local to window
{not available when compiled without the |+windows| or
|+quickfix| features}
{not available when compiled without the |+quickfix|
feature}
Identifies the preview window. Only one window can have this option
set. It's normally not set directly, but by using one of the commands
|:ptag|, |:pedit|, etc.
@ -5712,8 +5772,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'pumheight'* *'ph'*
'pumheight' 'ph' number (default 0)
global
{not available when compiled without the
|+insert_expand| feature}
Determines the maximum number of items to show in the popup menu for
Insert mode completion. When zero as much space as available is used.
|ins-completion-menu|.
@ -5721,8 +5779,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'pumwidth'* *'pw'*
'pumwidth' 'pw' number (default 15)
global
{not available when compiled without the
|+insert_expand| feature}
Determines the minimum width to use for the popup menu for Insert mode
completion. |ins-completion-menu|.
@ -6510,7 +6566,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'shellslash' only works when a backslash can be used as a path
separator. To test if this is so use: >
if exists('+shellslash')
<
< Also see 'completeslash'.
*'shelltemp'* *'stmp'* *'noshelltemp'* *'nostmp'*
'shelltemp' 'stmp' boolean (Vi default off, Vim default on)
global
@ -6749,8 +6806,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'showtabline'* *'stal'*
'showtabline' 'stal' number (default 1)
global
{not available when compiled without the |+windows|
feature}
The value of this option specifies when the line with tab page labels
will be displayed:
0: never
@ -7047,16 +7102,12 @@ A jump table for the options with a short description can be found at |Q_op|.
*'splitbelow'* *'sb'* *'nosplitbelow'* *'nosb'*
'splitbelow' 'sb' boolean (default off)
global
{not available when compiled without the |+windows|
feature}
When on, splitting a window will put the new window below the current
one. |:split|
*'splitright'* *'spr'* *'nosplitright'* *'nospr'*
'splitright' 'spr' boolean (default off)
global
{not available when compiled without the |+vertsplit|
feature}
When on, splitting a window will put the new window right of the
current one. |:vsplit|
@ -7371,8 +7422,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'tabline'* *'tal'*
'tabline' 'tal' string (default empty)
global
{not available when compiled without the |+windows|
feature}
When nonempty, this option determines the content of the tab pages
line at the top of the Vim window. When empty Vim will use a default
tab pages line. See |setting-tabline| for more info.
@ -7398,8 +7447,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'tabpagemax'* *'tpm'*
'tabpagemax' 'tpm' number (default 10)
global
{not available when compiled without the |+windows|
feature}
Maximum number of tab pages to be opened by the |-p| command line
argument or the ":tab all" command. |tabpage|
@ -8709,8 +8756,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'winheight'* *'wh'* *E591*
'winheight' 'wh' number (default 1)
global
{not available when compiled without the |+windows|
feature}
Minimal number of lines for the current window. This is not a hard
minimum, Vim will use fewer lines if there is not enough room. If the
focus goes to a window that is smaller, its size is increased, at the
@ -8731,8 +8776,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'winfixheight'* *'wfh'* *'nowinfixheight'* *'nowfh'*
'winfixheight' 'wfh' boolean (default off)
local to window
{not available when compiled without the |+windows|
feature}
Keep the window height when windows are opened or closed and
'equalalways' is set. Also for |CTRL-W_=|. Set by default for the
|preview-window| and |quickfix-window|.
@ -8741,8 +8784,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'winfixwidth'* *'wfw'* *'nowinfixwidth'* *'nowfw'*
'winfixwidth' 'wfw' boolean (default off)
local to window
{not available when compiled without the |+windows|
feature}
Keep the window width when windows are opened or closed and
'equalalways' is set. Also for |CTRL-W_=|.
The width may be changed anyway when running out of room.
@ -8750,8 +8791,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'winminheight'* *'wmh'*
'winminheight' 'wmh' number (default 1)
global
{not available when compiled without the |+windows|
feature}
The minimal height of a window, when it's not the current window.
This is a hard minimum, windows will never become smaller.
When set to zero, windows may be "squashed" to zero lines (i.e. just a
@ -8765,8 +8804,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'winminwidth'* *'wmw'*
'winminwidth' 'wmw' number (default 1)
global
{not available when compiled without the |+vertsplit|
feature}
The minimal width of a window, when it's not the current window.
This is a hard minimum, windows will never become smaller.
When set to zero, windows may be "squashed" to zero columns (i.e. just
@ -8794,8 +8831,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'winwidth'* *'wiw'* *E592*
'winwidth' 'wiw' number (default 20)
global
{not available when compiled without the |+vertsplit|
feature}
Minimal number of columns for the current window. This is not a hard
minimum, Vim will use fewer columns if there is not enough room. If
the current window is smaller, its size is increased, at the cost of

View File

@ -1,4 +1,4 @@
*pi_netrw.txt* For Vim version 8.1. Last change: 2019 May 05
*pi_netrw.txt* For Vim version 8.1. Last change: 2019 Jul 17
------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell
@ -1184,7 +1184,7 @@ One may easily "bookmark" the currently browsed directory by using >
*.netrwbook*
Bookmarks are retained in between sessions of vim in a file called .netrwbook
as a |List|, which is typically stored in the first directory on the user's
'|runtimepath|'; entries are kept in sorted order.
'runtimepath'; entries are kept in sorted order.
If there are marked files and/or directories, mb will add them to the bookmark
list.
@ -2094,7 +2094,7 @@ track netrw's browsing directory.
However, given the default setting for g:netrw_keepdir of 1 where netrw
maintains its own separate notion of the current directory, in order to make
the two directories the same, use the "c" map (just type c). That map will
the two directories the same, use the "cd" map (type cd). That map will
set Vim's notion of the current directory to netrw's current browsing
directory.
@ -2739,7 +2739,7 @@ your browsing preferences. (see also: |netrw-settings|)
=0 : show all
=1 : show not-hidden files
=2 : show hidden files only
default: =0
default: =1
*g:netrw_home* The home directory for where bookmarks and
history are saved (as .netrwbook and
@ -2940,14 +2940,23 @@ your browsing preferences. (see also: |netrw-settings|)
netrwBak : *.bak
netrwCompress: *.gz *.bz2 *.Z *.zip
netrwCoreDump: core.\d\+
netrwData : *.dat
netrwDoc : *.doc,*.txt,*.pdf,
*.pdf,*.docx
netrwHdr : *.h
netrwLex : *.l *.lex
netrwLib : *.a *.so *.lib *.dll
netrwMakefile: [mM]akefile *.mak
netrwObj : *.o *.obj
netrwPix : *.bmp,*.fit,*.fits,*.gif,
*.jpg,*.jpeg,*.pcx,*.ppc
*.pgm,*.png,*.psd,*.rgb
*.tif,*.xbm,*.xcf
netrwTags : tags ANmenu ANtags
netrwTilde : *
netrwTmp : tmp* *tmp
netrwYacc : *.y
In addition, those groups mentioned in
|'suffixes'| are also added to the special
@ -3032,8 +3041,9 @@ your browsing preferences. (see also: |netrw-settings|)
current netrw buffer's window to be used for
the new window.
If g:netrw_winsize is less than zero, then
the absolute value of g:netrw_winsize lines
or columns will be used for the new window.
the absolute value of g:netrw_winsize will be
used to specify the quantity of lines or
columns for the new window.
If g:netrw_winsize is zero, then a normal
split will be made (ie. |'equalalways'| will
take effect, for example).
@ -3371,7 +3381,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
(This section is likely to grow as I get feedback)
(also see |netrw-debug|)
*netrw-p1*
P1. I use windows 95, and my ftp dumps four blank lines at the
P1. I use windows 95, and my ftp dumps four blank lines at the {{{2
end of every read.
See |netrw-fixup|, and put the following into your
@ -3380,7 +3390,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
let g:netrw_win95ftp= 1
*netrw-p2*
P2. I use Windows, and my network browsing with ftp doesn't sort by
P2. I use Windows, and my network browsing with ftp doesn't sort by {{{2
time or size! -or- The remote system is a Windows server; why
don't I get sorts by time or size?
@ -3407,7 +3417,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
*netrw-p3*
P3. I tried rcp://user@host/ (or protocol other than ftp) and netrw
P3. I tried rcp://user@host/ (or protocol other than ftp) and netrw {{{2
used ssh! That wasn't what I asked for...
Netrw has two methods for browsing remote directories: ssh
@ -3416,7 +3426,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
listing), netrw will use the given protocol to do so.
*netrw-p4*
P4. I would like long listings to be the default.
P4. I would like long listings to be the default. {{{2
Put the following statement into your |.vimrc|: >
@ -3426,7 +3436,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
you can set.
*netrw-p5*
P5. My times come up oddly in local browsing
P5. My times come up oddly in local browsing {{{2
Does your system's strftime() accept the "%c" to yield dates
such as "Sun Apr 27 11:49:23 1997"? If not, do a
@ -3436,7 +3446,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
let g:netrw_timefmt= "%X" (where X is the option)
<
*netrw-p6*
P6. I want my current directory to track my browsing.
P6. I want my current directory to track my browsing. {{{2
How do I do that?
Put the following line in your |.vimrc|:
@ -3444,8 +3454,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
let g:netrw_keepdir= 0
<
*netrw-p7*
P7. I use Chinese (or other non-ascii) characters in my filenames, and
netrw (Explore, Sexplore, Hexplore, etc) doesn't display them!
P7. I use Chinese (or other non-ascii) characters in my filenames, {{{2
and netrw (Explore, Sexplore, Hexplore, etc) doesn't display them!
(taken from an answer provided by Wu Yongwei on the vim
mailing list)
@ -3459,7 +3469,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
(...it is one more reason to recommend that people use utf-8!)
*netrw-p8*
P8. I'm getting "ssh is not executable on your system" -- what do I
P8. I'm getting "ssh is not executable on your system" -- what do I {{{2
do?
(Dudley Fox) Most people I know use putty for windows ssh. It
@ -3502,7 +3512,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
- Click "Add..."
- Set External Editor (adjust path as needed, include
the quotes and !.! at the end):
"c:\Program Files\Vim\vim81\gvim.exe" !.!
"c:\Program Files\Vim\vim70\gvim.exe" !.!
- Check that the filetype in the box below is
{asterisk}.{asterisk} (all files), or whatever types
you want (cec: change {asterisk} to * ; I had to
@ -3542,7 +3552,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
default.
*netrw-p9* *netrw-ml_get*
P9. I'm browsing, changing directory, and bang! ml_get errors
P9. I'm browsing, changing directory, and bang! ml_get errors {{{2
appear and I have to kill vim. Any way around this?
Normally netrw attempts to avoid writing swapfiles for
@ -3553,7 +3563,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
let g:netrw_use_noswf= 0
<
*netrw-p10*
P10. I'm being pestered with "[something] is a directory" and
P10. I'm being pestered with "[something] is a directory" and {{{2
"Press ENTER or type command to continue" prompts...
The "[something] is a directory" prompt is issued by Vim,
@ -3564,8 +3574,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
your <.vimrc> file.
*netrw-p11*
P11. I want to have two windows; a thin one on the left and my editing
window on the right. How may I accomplish this?
P11. I want to have two windows; a thin one on the left and my {{{2
editing window on the right. How may I accomplish this?
You probably want netrw running as in a side window. If so, you
will likely find that ":[N]Lexplore" does what you want. The
@ -3590,7 +3600,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
*netrw-p12*
P12. My directory isn't sorting correctly, or unwanted letters are
P12. My directory isn't sorting correctly, or unwanted letters are {{{2
appearing in the listed filenames, or things aren't lining
up properly in the wide listing, ...
@ -3600,9 +3610,9 @@ Example: Clear netrw's marked file list via a mapping on gu >
You may need to change |g:netrw_sepchr| and/or |g:netrw_xstrlen|.
*netrw-p13*
P13. I'm a Windows + putty + ssh user, and when I attempt to browse,
the directories are missing trailing "/"s so netrw treats them
as file transfers instead of as attempts to browse
P13. I'm a Windows + putty + ssh user, and when I attempt to {{{2
browse, the directories are missing trailing "/"s so netrw treats
them as file transfers instead of as attempts to browse
subdirectories. How may I fix this?
(mikeyao) If you want to use vim via ssh and putty under Windows,
@ -3621,7 +3631,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
"let g:netrw_scp_cmd = "d:\\dev\\putty\\PSCP.exe"
<
*netrw-p14*
P14. I would like to speed up writes using Nwrite and scp/ssh
P14. I would like to speed up writes using Nwrite and scp/ssh {{{2
style connections. How? (Thomer M. Gil)
Try using ssh's ControlMaster and ControlPath (see the ssh_config
@ -3648,8 +3658,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
vim scp://host.domain.com//home/user/.bashrc
<
*netrw-p15*
P15. How may I use a double-click instead of netrw's usual single click
to open a file or directory? (Ben Fritz)
P15. How may I use a double-click instead of netrw's usual single {{{2
click to open a file or directory? (Ben Fritz)
First, disable netrw's mapping with >
let g:netrw_mousemaps= 0
@ -3661,7 +3671,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
(see |g:netrw_mousemaps|)
*netrw-p16*
P16. When editing remote files (ex. :e ftp://hostname/path/file),
P16. When editing remote files (ex. :e ftp://hostname/path/file), {{{2
under Windows I get an |E303| message complaining that its unable
to open a swap file.
@ -3670,7 +3680,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
directory.
*netrw-p17*
P17. Netrw is closing buffers on its own.
P17. Netrw is closing buffers on its own. {{{2
What steps will reproduce the problem?
1. :Explore, navigate directories, open a file
2. :Explore, open another file
@ -3684,14 +3694,14 @@ Example: Clear netrw's marked file list via a mapping on gu >
a ":ls!" will show them (although ":ls" does not).
*netrw-P18*
P18. How to locally edit a file that's only available via
P18. How to locally edit a file that's only available via {{{2
another server accessible via ssh?
See http://stackoverflow.com/questions/12469645/
"Using Vim to Remotely Edit A File on ServerB Only
Accessible From ServerA"
*netrw-P19*
P19. How do I get numbering on in directory listings?
P19. How do I get numbering on in directory listings? {{{2
With |g:netrw_bufsettings|, you can control netrw's buffer
settings; try putting >
let g:netrw_bufsettings="noma nomod nu nobl nowrap ro nornu"
@ -3700,7 +3710,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
let g:netrw_bufsettings="noma nomod nonu nobl nowrap ro rnu"
<
*netrw-P20*
P20. How may I have gvim start up showing a directory listing?
P20. How may I have gvim start up showing a directory listing? {{{2
Try putting the following code snippet into your .vimrc: >
augroup VimStartup
au!
@ -3713,8 +3723,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
(ie. a "huge" vim version).
*netrw-P21*
P21. I've made a directory (or file) with an accented character, but
netrw isn't letting me enter that directory/read that file:
P21. I've made a directory (or file) with an accented character, {{{2
but netrw isn't letting me enter that directory/read that file:
Its likely that the shell or o/s is using a different encoding
than you have vim (netrw) using. A patch to vim supporting
@ -3724,7 +3734,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
au FileType netrw set enc=latin1
<
*netrw-P22*
P22. I get an error message when I try to copy or move a file:
P22. I get an error message when I try to copy or move a file: {{{2
**error** (netrw) tried using g:netrw_localcopycmd<cp>; it doesn't work!
@ -3752,8 +3762,8 @@ by obtaining a copy of the latest (often developmental) netrw at:
The <netrw.vim> script is typically installed on systems as something like:
>
/usr/local/share/vim/vim8x/plugin/netrwPlugin.vim
/usr/local/share/vim/vim8x/autoload/netrw.vim
/usr/local/share/vim/vim7x/plugin/netrwPlugin.vim
/usr/local/share/vim/vim7x/autoload/netrw.vim
(see output of :echo &rtp)
<
which is loaded automatically at startup (assuming :set nocp). If you
@ -3832,6 +3842,16 @@ netrw:
==============================================================================
12. History *netrw-history* {{{1
v163: Dec 05, 2017 * (Cristi Balan) reported that a setting ('sel')
was left changed
* (Holger Mitschke) reported a problem with
saving and restoring history. Fixed.
* Hopefully I fixed a nasty bug that caused a
file rename to wipe out a buffer that it
should not have wiped out.
* (Holger Mitschke) amended this help file
with additional |g:netrw_special_syntax|
items
v162: Sep 19, 2016 * (haya14busa) pointed out two syntax errors
with a patch; these are now fixed.
Oct 26, 2016 * I started using mate-terminal and found that

View File

@ -1,4 +1,4 @@
*popup.txt* For Vim version 8.1. Last change: 2019 Jul 04
*popup.txt* For Vim version 8.1. Last change: 2019 Sep 08
VIM REFERENCE MANUAL by Bram Moolenaar
@ -16,6 +16,7 @@ Displaying text in a floating window. *popup* *popup-window*
3. Usage |popup-usage|
popup_create() arguments |popup_create-arguments|
Popup text properties |popup-props|
Position popup with textprop |popup-textprop-pos|
Popup filter |popup-filter|
Popup callback |popup-callback|
Popup scrollbar |popup-scrollbar|
@ -124,7 +125,9 @@ is always associated with the popup window and manipulation is restricted:
It is possible to change the specifically mentioned options, but anything
might break then, so better leave them alone.
The window does have a cursor position, but the cursor is not displayed.
The window does have a cursor position, but the cursor is not displayed. In
fact, the cursor in the underlying window is displayed, as if it peeks through
the popup, so you can see where it is.
To execute a command in the context of the popup window and buffer use
`win_execute()`. Example: >
@ -146,6 +149,8 @@ Creating a popup window:
|popup_create()| centered in the screen
|popup_atcursor()| just above the cursor position, closes when
the cursor moves away
|popup_beval()| at the position indicated by v:beval_
variables, closes when the mouse moves away
|popup_notification()| show a notification for three seconds
|popup_dialog()| centered with padding and border
|popup_menu()| prompt for selecting an item from a list
@ -168,6 +173,7 @@ Filter functions:
Other:
|popup_getoptions()| get current options for a popup
|popup_getpos()| get actual position and size of a popup
|popup_locate()| find popup window at a screen position
DETAILS *popup-function-details*
@ -175,15 +181,34 @@ DETAILS *popup-function-details*
popup_atcursor({what}, {options}) *popup_atcursor()*
Show the {what} above the cursor, and close it when the cursor
moves. This works like: >
call popup_create({what}, {
\ 'pos': 'botleft',
\ 'line': 'cursor-1',
\ 'col': 'cursor',
\ 'moved': 'WORD',
call popup_create({what}, #{
\ pos: 'botleft',
\ line: 'cursor-1',
\ col: 'cursor',
\ moved: 'WORD',
\ })
< Use {options} to change the properties.
Can also be used as a |method|: >
GetText()->popup_atcursor({})
popup_beval({what}, {options}) *popup_beval()*
Show the {what} above the position from 'ballooneval' and
close it when the mouse moves. This works like: >
let pos = screenpos(v:beval_winnr, v:beval_lnum, v:beval_col)
call popup_create({what}, #{
\ pos: 'botleft',
\ line: pos.row - 1,
\ col: pos.col,
\ mousemoved: 'WORD',
\ })
< Use {options} to change the properties.
See |popup_beval_example| for an example.
Can also be used as a |method|: >
GetText()->popup_beval({})
<
*popup_clear()*
popup_clear() Emergency solution to a misbehaving plugin: close all popup
windows for the current tab and global popups.
@ -198,6 +223,8 @@ popup_close({id} [, {result}]) *popup_close()*
it will be passed as the second argument of the callback.
Otherwise zero is passed to the callback.
Can also be used as a |method|: >
GetPopup()->popup_close()
popup_create({what}, {options}) *popup_create()*
Open a popup window showing {what}, which is either:
@ -220,26 +247,31 @@ popup_create({what}, {options}) *popup_create()*
call setbufline(bufnr, 2, 'second line')
< In case of failure zero is returned.
Can also be used as a |method|: >
GetText()->popup_create({})
popup_dialog({what}, {options}) *popup_dialog()*
Just like |popup_create()| but with these default options: >
call popup_create({what}, {
\ 'pos': 'center',
\ 'zindex': 200,
\ 'drag': 1,
\ 'border': [],
\ 'padding': [],
call popup_create({what}, #{
\ pos: 'center',
\ zindex: 200,
\ drag: 1,
\ border: [],
\ padding: [],
\ mapping: 0,
\})
< Use {options} to change the properties. E.g. add a 'filter'
option with value 'popup_filter_yesno'. Example: >
call popup_create('do you want to quit (Yes/no)?', {
\ 'filter': 'popup_filter_yesno',
\ 'callback': 'QuitCallback',
call popup_create('do you want to quit (Yes/no)?', #{
\ filter: 'popup_filter_yesno',
\ callback: 'QuitCallback',
\ })
< By default the dialog can be dragged, so that text below it
can be read if needed.
Can also be used as a |method|: >
GetText()->popup_dialog({})
popup_filter_menu({id}, {key}) *popup_filter_menu()*
Filter that can be used for a popup. These keys can be used:
@ -271,27 +303,53 @@ popup_filter_yesno({id}, {key}) *popup_filter_yesno()*
See the example here: |popup_dialog-example|
popup_findinfo() *popup_findinfo()*
Get the |window-ID| for the popup info window, as it used by
the popup menu. See |complete-popup|. The info popup is
hidden when not used, it can be deleted with |popup_clear()|
and |popup_close()|.
Return zero if there is none.
popup_findpreview() *popup_findpreview()*
Get the |window-ID| for the popup preview window.
Return zero if there is none.
popup_getoptions({id}) *popup_getoptions()*
Return the {options} for popup {id} in a Dict.
A zero value means the option was not set. For "zindex" the
default value is returned, not zero.
The "moved" entry is a list with minimum and maximum column,
[0, 0] when not set.
The "moved" entry is a list with line number, minimum and
maximum column, [0, 0, 0] when not set.
The "mousemoved" entry is a list with screen row, minimum and
maximum screen column, [0, 0, 0] when not set.
"firstline" is the property set on the popup, unlike the
"firstline" obtained with |popup_getpos()| which is the actual
buffer line at the top of the popup window.
"border" and "padding" are not included when all values are
zero. When all values are one then an empty list is included.
"borderhighlight" is not included when all values are empty.
"scrollbarhighlight" and "thumbhighlight" are onlu included
"scrollbarhighlight" and "thumbhighlight" are only included
when set.
"tabpage" will be -1 for a global popup, zero for a popup on
the current tabpage and a positive number for a popup on
another tabpage.
"textprop", "textpropid" and "textpropwin" are only present
when "textprop" was set.
If popup window {id} is not found an empty Dict is returned.
Can also be used as a |method|: >
GetPopup()->popup_getoptions()
popup_getpos({id}) *popup_getpos()*
Return the position and size of popup {id}. Returns a Dict
@ -305,6 +363,7 @@ popup_getpos({id}) *popup_getpos()*
core_width width of the text box in screen cells
core_height height of the text box in screen cells
firstline line of the buffer at top (1 unless scrolled)
(not the value of the "firstline" property)
scrollbar non-zero if a scrollbar is displayed
visible one if the popup is displayed, zero if hidden
Note that these are the actual screen positions. They differ
@ -315,6 +374,8 @@ popup_getpos({id}) *popup_getpos()*
If popup window {id} is not found an empty Dict is returned.
Can also be used as a |method|: >
GetPopup()->popup_getpos()
popup_hide({id}) *popup_hide()*
If {id} is a displayed popup, hide it now. If the popup has a
@ -323,27 +384,47 @@ popup_hide({id}) *popup_hide()*
If window {id} does not exist nothing happens. If window {id}
exists but is not a popup window an error is given. *E993*
Can also be used as a |method|: >
GetPopup()->popup_hide()
popup_locate({row}, {col}) *popup_locate()*
Return the |window-ID| of the popup at screen position {row}
and {col}. If there are multiple popups the one with the
highest zindex is returned. If there are no popups at this
position then zero is returned.
popup_menu({what}, {options}) *popup_menu()*
Show the {what} near the cursor, handle selecting one of the
items with cursorkeys, and close it an item is selected with
Space or Enter. {what} should have multiple lines to make this
useful. This works like: >
call popup_create({what}, {
\ 'pos': 'center',
\ 'zindex': 200,
\ 'drag': 1,
\ 'wrap': 0,
\ 'border': [],
\ 'padding': [],
\ 'filter': 'popup_filter_menu',
call popup_create({what}, #{
\ pos: 'center',
\ zindex: 200,
\ drag: 1,
\ wrap: 0,
\ border: [],
\ cursorline: 1,
\ padding: [0,1,0,1],
\ filter: 'popup_filter_menu',
\ mapping: 0,
\ })
< The current line is highlighted with a match using
"PopupSelected", or "PmenuSel" if that is not defined.
Use {options} to change the properties. Should at least set
"callback" to a function that handles the selected item.
Example: >
func ColorSelected(id, result)
" use a:result
endfunc
call popup_menu(['red', 'green', 'blue'], #{
\ callback: 'ColorSelected',
\ })
< Can also be used as a |method|: >
GetChoices()->popup_menu({})
popup_move({id}, {options}) *popup_move()*
Move popup {id} to the position specified with {options}.
@ -360,33 +441,37 @@ popup_move({id}, {options}) *popup_move()*
For {id} see `popup_hide()`.
For other options see |popup_setoptions()|.
Can also be used as a |method|: >
GetPopup()->popup_move(options)
popup_notification({what}, {options}) *popup_notification()*
Show the {what} for 3 seconds at the top of the Vim window.
This works like: >
call popup_create({what}, {
\ 'line': 1,
\ 'col': 10,
\ 'minwidth': 20,
\ 'time': 3000,
\ 'tabpage': -1,
\ 'zindex': 300,
\ 'drag': 1,
\ 'highlight': 'WarningMsg',
\ 'border': [],
\ 'close': 'click',
\ 'padding': [0,1,0,1],
call popup_create({what}, #{
\ line: 1,
\ col: 10,
\ minwidth: 20,
\ time: 3000,
\ tabpage: -1,
\ zindex: 300,
\ drag: 1,
\ highlight: 'WarningMsg',
\ border: [],
\ close: 'click',
\ padding: [0,1,0,1],
\ })
< The PopupNotification highlight group is used instead of
WarningMsg if it is defined.
Without the |+timers| feature the poup will not disappear
Without the |+timers| feature the popup will not disappear
automatically, the user has to click in it.
The position will be adjusted to avoid overlap with other
notifications.
Use {options} to change the properties.
Can also be used as a |method|: >
GetText()->popup_notification({})
popup_show({id}) *popup_show()*
If {id} is a hidden popup, show it now.
@ -401,14 +486,17 @@ popup_setoptions({id}, {options}) *popup_setoptions()*
borderhighlight
callback
close
cursorline
drag
filter
firstline
flip
highlight
mapping
mask
moved
padding
resize
scrollbar
scrollbarhighlight
thumbhighlight
@ -420,13 +508,18 @@ popup_setoptions({id}, {options}) *popup_setoptions()*
For "hidden" use |popup_hide()| and |popup_show()|.
"tabpage" cannot be changed.
Can also be used as a |method|: >
GetPopup()->popup_setoptions(options)
popup_settext({id}, {text}) *popup_settext()*
Set the text of the buffer in poup win {id}. {text} is the
Set the text of the buffer in popup win {id}. {text} is the
same as supplied to |popup_create()|, except that a buffer
number is not allowed.
Does not change the window size or position, other than caused
by the different text.
Can also be used as a |method|: >
GetPopup()->popup_settext('hello')
==============================================================================
3. Usage *popup-usage*
@ -453,17 +546,29 @@ The second argument of |popup_create()| is a dictionary with options:
the line of the cursor and add or subtract a number of
lines. If omitted the popup is vertically centered.
The first line is 1.
When using "textprop" the number is relative to the
text property and can be negative.
col Screen column where to position the popup. Can use a
number or "cursor" to use the column of the cursor,
"cursor+9" or "cursor-9" to add or subtract a number
of columns. If omitted the popup is horizontally
centered. The first column is 1.
When using "textprop" the number is relative to the
text property and can be negative.
pos "topleft", "topright", "botleft" or "botright":
defines what corner of the popup "line" and "col" are
used for. When not set "topleft" is used.
Alternatively "center" can be used to position the
popup in the center of the Vim window, in which case
"line" and "col" are ignored.
textprop When present the popup is positioned next to a text
property with this name and will move when the text
property moves. Use an empty string to remove. See
|popup-textprop-pos|.
textpropwin What window to search for the text property. When
omitted or invalid the current window is used.
textpropid Used to identify the text property when "textprop" is
present. Use zero to reset.
fixed When FALSE (the default), and:
- "pos" is "botleft" or "topleft", and
- "wrap" is off, and
@ -482,13 +587,14 @@ The second argument of |popup_create()| is a dictionary with options:
padding.
minheight Minimum height of the contents, excluding border and
padding.
maxwidth Maximum width of the contents, excluding border and
padding.
minwidth Minimum width of the contents, excluding border and
padding.
maxwidth Maximum width of the contents, excluding border,
padding and scrollbar.
minwidth Minimum width of the contents, excluding border,
padding and scrollbar.
firstline First buffer line to display. When larger than one it
looks like the text scrolled up. When out of range
the last buffer line will at the top of the window.
Set to zero to leave the position as set by commands.
Also see "scrollbar".
hidden When TRUE the popup exists but is not displayed; use
`popup_show()` to unhide it.
@ -505,10 +611,13 @@ The second argument of |popup_create()| is a dictionary with options:
start and end as padding.
wrap TRUE to make the lines wrap (default TRUE).
drag TRUE to allow the popup to be dragged with the mouse
by grabbing at at the border. Has no effect if the
by grabbing at the border. Has no effect if the
popup does not have a border. As soon as dragging
starts and "pos" is "center" it is changed to
"topleft".
resize TRUE to allow the popup to be resized with the mouse
by grabbing at the bottom right corner. Has no effect
if the popup does not have a border.
close When "button" an X is displayed in the top-right, on
top of any border, padding or text. When clicked on
the X the popup will close. Any callback is invoked
@ -566,12 +675,33 @@ The second argument of |popup_create()| is a dictionary with options:
- "any": if the cursor moved at all
- "word": if the cursor moved outside |<cword>|
- "WORD": if the cursor moved outside |<cWORD>|
- "expr": if the cursor moved outside |<cexpr>|
- [{start}, {end}]: if the cursor moved before column
{start} or after {end}
The popup also closes if the cursor moves to another
line or to another window.
cursorline non-zero: Highlight the cursor line. Also scrolls the
text to show this line (only works properly
when 'wrap' is off).
zero: Do not highlight the cursor line.
Default is zero, except for |popup_menu()|.
filter A callback that can filter typed characters, see
|popup-filter|.
mapping Allow for key mapping. When FALSE and the popup is
visible and has a filter callback key mapping is
disabled. Default value is TRUE.
filtermode In which modes the filter is used (same flags as with
|hasmapto()| plus "a"):
n Normal mode
v Visual and Select mode
x Visual mode
s Select mode
o Operator-pending mode
i Insert mode
l Language-Argument ("r", "f", "t", etc.)
c Command-line mode
a all modes
The default value is "a".
callback A callback that is called when the popup closes, e.g.
when using |popup_filter_menu()|, see |popup-callback|.
@ -604,6 +734,72 @@ So we get:
|prop_type_add()|
POSITION POPUP WITH TEXTPROP *popup-textprop-pos*
Positioning a popup next to a text property causes the popup to move when text
is inserted or deleted. The popup functions like a tooltip.
These steps are needed to make this work:
- Define a text property type, it defines the name. >
call prop_type_add('popupMarker', {})
- Place a text property at the desired text: >
let lnum = {line of the text}
let col = {start column of the text}
let len = {length of the text}
let propId = {arbitrary but unique number}
call prop_add(lnum, col, #{
\ length: len,
\ type: 'popupMarker',
\ id: propId,
\ })
- Create a popup: >
let winid = popup_create('the text', #{
\ pos: 'botleft',
\ textprop: 'popupMarker',
\ textpropid: propId,
\ border: [],
\ padding: [0,1,0,1],
\ close: 'click',
\ })
By default the popup is positioned at the corner of the text, opposite of the
"pos" specified for the popup. Thus when the popup uses "botleft", the
bottom-left corner of the popup is positioned next to the top-right corner of
the text property:
+----------+
| the text |
+----------+
just some PROPERTY as an example
Here the text property is on "PROPERTY". Move the popup to the left by
passing a negative "col" value to popup_create(). With "col: -5" you get:
+----------+
| the text |
+----------+
just some PROPERTY as an example
If the text property moves out of view then the popup will be hidden.
If the window for which the popup was defined is closed, the popup is closed.
If the popup cannot fit in the desired position, it may show at a nearby
position.
Some hints:
- To avoid collision with other plugins the text property type name has to be
unique. You can also use the "bufnr" item to make it local to a buffer.
- You can leave out the text property ID if there is only ever one text
property visible.
- The popup may be in the way of what the user is doing, making it close with
a click, as in the example above, helps for that.
- If the text property is removed the popup is closed. Use something like
this: >
call prop_remove(#{type: 'popupMarker', id: propId})
POPUP FILTER *popup-filter*
A callback that gets any typed keys while a popup is displayed. The filter is
@ -628,10 +824,20 @@ key as a string, e.g.: >
endif
return 0
endfunc
< *popup-filter-mode*
The "filtermode" property can be used to specify in what mode the filter is
invoked. The default is "a": all modes. When using "nvi" Command-line mode
is not included, so that any command typed on the command line is not
filtered. However, to get to Command-line mode the filter must not consume
":". Just like it must not consume "v" to allow for entering Visual mode.
Currently the key is what results after any mapping. This may change...
*popup-mapping*
Normally the key is what results after any mapping, since the keys pass on as
normal input if the filter does not use it. If the filter consumes all the
keys, set the "mapping" property to zero so that mappings do not get in the
way. This is default for |popup_menu()| and |popup_dialog()|.
Some common key actions:
Some recommended key actions:
x close the popup (see note below)
cursor keys select another entry
Tab accept current suggestion
@ -660,6 +866,11 @@ the second argument of `popup_close()`.
If the popup is force-closed, e.g. because the cursor moved or CTRL-C was
pressed, the number -1 is passed to the callback.
Example: >
func SelectedColor(id, result)
echo 'choice made: ' .. a:result
endfunc
POPUP SCROLLBAR *popup-scrollbar*
@ -667,9 +878,9 @@ If the text does not fit in the popup a scrollbar is displayed on the right of
the window. This can be disabled by setting the "scrollbar" option to zero.
When the scrollbar is displayed mouse scroll events, while the mouse pointer
is on the popup, will cause the text to scroll up or down as you would expect.
A click in the upper halve of the scrollbar will scroll the text one line
down. A click in the lower halve wil scroll the text one line up. However,
this is limited so that the popup does not get smaller.
A click in the upper half of the scrollbar will scroll the text down one line.
A click in the lower half will scroll the text up one line. However, this is
limited so that the popup does not get smaller.
POPUP MASK *popup-mask*
@ -681,7 +892,7 @@ list has four numbers:
leftmost, negative for counting from the right, -1 for
rightmost
endcol last column, like "col"
line start line, positive for conting from the top, 1 for top,
line start line, positive for counting from the top, 1 for top,
negative for counting from the bottom, -1 for bottom
endline end line, like "line"
@ -704,17 +915,17 @@ Prompt the user to press y/Y or n/N: >
endif
endfunc
call popup_dialog('Continue? y/n', {
\ 'filter': 'popup_filter_yesno',
\ 'callback': 'MyDialogHandler',
call popup_dialog('Continue? y/n', #{
\ filter: 'popup_filter_yesno',
\ callback: 'MyDialogHandler',
\ })
<
*popup_menu-shortcut-example*
Extend popup_filter_menu() with shortcut keys: >
call popup_menu(['Save', 'Cancel', 'Discard'], {
\ 'filter': 'MyMenuFilter',
\ 'callback': 'MyMenuHandler',
call popup_menu(['Save', 'Cancel', 'Discard'], #{
\ filter: 'MyMenuFilter',
\ callback: 'MyMenuHandler',
\ })
func MyMenuFilter(id, key)
@ -736,5 +947,56 @@ Extend popup_filter_menu() with shortcut keys: >
return popup_filter_menu(a:id, a:key)
endfunc
<
*popup_beval_example*
Example for using a popup window for 'ballooneval': >
set ballooneval balloonevalterm
set balloonexpr=BalloonExpr()
let s:winid = 0
let s:last_text = ''
func BalloonExpr()
if s:winid && popup_getpos(s:winid) != {}
" previous popup window still shows
if v:beval_text == s:last_text
" Still the same text, keep the existing popup
return ''
endif
call popup_close(s:winid)
endif
let s:winid = popup_beval(v:beval_text, #{mousemoved: 'word'})
let s:last_text = v:beval_text
return ''
endfunc
<
If the text has to be obtained asynchronously return an empty string from the
expression function and call popup_beval() once the text is available. In
this example simulated with a timer callback: >
set ballooneval balloonevalterm
set balloonexpr=BalloonExpr()
let s:winid = 0
let s:balloonText = ''
func BalloonExpr()
if s:winid && popup_getpos(s:winid) != {}
" previous popup window still shows
if v:beval_text == s:balloonText
" Still the same text, keep the existing popup
return ''
endif
call popup_close(s:winid)
let s:winid = 0
endif
" simulate an asynchronous lookup for the text to display
let s:balloonText = v:beval_text
call timer_start(100, 'ShowPopup')
return ''
endfunc
func ShowPopup(id)
let s:winid = popup_beval(s:balloonText, #{mousemoved: 'word'})
endfunc
<
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 8.1. Last change: 2019 Jun 02
*quickfix.txt* For Vim version 8.1. Last change: 2019 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
@ -650,9 +650,9 @@ You can use CTRL-W <Enter> to open a new window and jump to the error there.
When the quickfix window has been filled, two autocommand events are
triggered. First the 'filetype' option is set to "qf", which triggers the
FileType event. Then the BufReadPost event is triggered, using "quickfix" for
the buffer name. This can be used to perform some action on the listed
errors. Example: >
FileType event (also see |qf.vim|). Then the BufReadPost event is triggered,
using "quickfix" for the buffer name. This can be used to perform some action
on the listed errors. Example: >
au BufReadPost quickfix setlocal modifiable
\ | silent exe 'g/^/s//\=line(".")." "/'
\ | setlocal nomodifiable
@ -1352,6 +1352,9 @@ replaced with SOH (0x01).
Note: By default the difference between upper and lowercase is ignored. If
you want to match case, add "\C" to the pattern |/\C|.
Vim will read lines of any length, but only the first 4095 bytes are used, the
rest is ignored. Items can only be 1023 bytes long.
Basic items

View File

@ -1,4 +1,4 @@
*quickref.txt* For Vim version 8.1. Last change: 2019 May 31
*quickref.txt* For Vim version 8.1. Last change: 2019 Aug 20
VIM REFERENCE MANUAL by Bram Moolenaar
@ -651,6 +651,8 @@ Short explanation of each option: *option-list*
'complete' 'cpt' specify how Insert mode completion works
'completefunc' 'cfu' function to be used for Insert mode completion
'completeopt' 'cot' options for Insert mode completion
'completepopup' 'cpp' options for the Insert mode completion info popup
'completeslash' 'csl' like 'shellslash' for completion
'concealcursor' 'cocu' whether concealable text is hidden in cursor line
'conceallevel' 'cole' whether concealable text is shown or hidden
'confirm' 'cf' ask what to do about unsaved/read-only files
@ -668,6 +670,7 @@ Short explanation of each option: *option-list*
'cursorbind' 'crb' move cursor in window as it moves in other windows
'cursorcolumn' 'cuc' highlight the screen column of the cursor
'cursorline' 'cul' highlight the screen line of the cursor
'cursorlineopt' 'culopt' settings for 'cursorline'
'debug' set to "msg" to see all error messages
'define' 'def' pattern to be used to find a macro definition
'delcombine' 'deco' delete combining characters on their own
@ -829,6 +832,7 @@ Short explanation of each option: *option-list*
'perldll' name of the Perl dynamic library
'preserveindent' 'pi' preserve the indent structure when reindenting
'previewheight' 'pvh' height of the preview window
'previewpopup' 'pvp' use popup window for preview
'previewwindow' 'pvw' identifies the preview window
'printdevice' 'pdev' name of the printer to be used for :hardcopy
'printencoding' 'penc' encoding to be used for printing

View File

@ -1,4 +1,4 @@
*sign.txt* For Vim version 8.1. Last change: 2019 Jun 04
*sign.txt* For Vim version 8.1. Last change: 2019 Sep 06
VIM REFERENCE MANUAL by Gordon Prieur
@ -9,6 +9,7 @@ Sign Support Features *sign-support*
1. Introduction |sign-intro|
2. Commands |sign-commands|
3. Functions |sign-functions-details|
{only available when compiled with the |+signs| feature}
@ -344,4 +345,380 @@ See |sign_jump()| for the equivalent Vim script function.
Same but jump to the sign in group {group}
==============================================================================
3. Functions *sign-functions-details*
sign_define({name} [, {dict}]) *sign_define()*
sign_define({list})
Define a new sign named {name} or modify the attributes of an
existing sign. This is similar to the |:sign-define| command.
Prefix {name} with a unique text to avoid name collisions.
There is no {group} like with placing signs.
The {name} can be a String or a Number. The optional {dict}
argument specifies the sign attributes. The following values
are supported:
icon full path to the bitmap file for the sign.
linehl highlight group used for the whole line the
sign is placed in.
text text that is displayed when there is no icon
or the GUI is not being used.
texthl highlight group used for the text item
If the sign named {name} already exists, then the attributes
of the sign are updated.
The one argument {list} can be used to define a list of signs.
Each list item is a dictionary with the above items in {dict}
and a 'name' item for the sign name.
Returns 0 on success and -1 on failure. When the one argument
{list} is used, then returns a List of values one for each
defined sign.
Examples: >
call sign_define("mySign", {
\ "text" : "=>",
\ "texthl" : "Error",
\ "linehl" : "Search"})
call sign_define([
\ {'name' : 'sign1',
\ 'text' : '=>'},
\ {'name' : 'sign2',
\ 'text' : '!!'}
\ ])
<
Can also be used as a |method|: >
GetSignList()->sign_define()
sign_getdefined([{name}]) *sign_getdefined()*
Get a list of defined signs and their attributes.
This is similar to the |:sign-list| command.
If the {name} is not supplied, then a list of all the defined
signs is returned. Otherwise the attribute of the specified
sign is returned.
Each list item in the returned value is a dictionary with the
following entries:
icon full path to the bitmap file of the sign
linehl highlight group used for the whole line the
sign is placed in.
name name of the sign
text text that is displayed when there is no icon
or the GUI is not being used.
texthl highlight group used for the text item
Returns an empty List if there are no signs and when {name} is
not found.
Examples: >
" Get a list of all the defined signs
echo sign_getdefined()
" Get the attribute of the sign named mySign
echo sign_getdefined("mySign")
<
Can also be used as a |method|: >
GetSignList()->sign_getdefined()
sign_getplaced([{expr} [, {dict}]]) *sign_getplaced()*
Return a list of signs placed in a buffer or all the buffers.
This is similar to the |:sign-place-list| command.
If the optional buffer name {expr} is specified, then only the
list of signs placed in that buffer is returned. For the use
of {expr}, see |bufname()|. The optional {dict} can contain
the following entries:
group select only signs in this group
id select sign with this identifier
lnum select signs placed in this line. For the use
of {lnum}, see |line()|.
If {group} is '*', then signs in all the groups including the
global group are returned. If {group} is not supplied or is an
empty string, then only signs in the global group are
returned. If no arguments are supplied, then signs in the
global group placed in all the buffers are returned.
See |sign-group|.
Each list item in the returned value is a dictionary with the
following entries:
bufnr number of the buffer with the sign
signs list of signs placed in {bufnr}. Each list
item is a dictionary with the below listed
entries
The dictionary for each sign contains the following entries:
group sign group. Set to '' for the global group.
id identifier of the sign
lnum line number where the sign is placed
name name of the defined sign
priority sign priority
The returned signs in a buffer are ordered by their line
number and priority.
Returns an empty list on failure or if there are no placed
signs.
Examples: >
" Get a List of signs placed in eval.c in the
" global group
echo sign_getplaced("eval.c")
" Get a List of signs in group 'g1' placed in eval.c
echo sign_getplaced("eval.c", {'group' : 'g1'})
" Get a List of signs placed at line 10 in eval.c
echo sign_getplaced("eval.c", {'lnum' : 10})
" Get sign with identifier 10 placed in a.py
echo sign_getplaced("a.py", {'id' : 10})
" Get sign with id 20 in group 'g1' placed in a.py
echo sign_getplaced("a.py", {'group' : 'g1',
\ 'id' : 20})
" Get a List of all the placed signs
echo sign_getplaced()
<
Can also be used as a |method|: >
GetBufname()->sign_getplaced()
<
*sign_jump()*
sign_jump({id}, {group}, {expr})
Open the buffer {expr} or jump to the window that contains
{expr} and position the cursor at sign {id} in group {group}.
This is similar to the |:sign-jump| command.
For the use of {expr}, see |bufname()|.
Returns the line number of the sign. Returns -1 if the
arguments are invalid.
Example: >
" Jump to sign 10 in the current buffer
call sign_jump(10, '', '')
<
Can also be used as a |method|: >
GetSignid()->sign_jump()
<
*sign_place()*
sign_place({id}, {group}, {name}, {expr} [, {dict}])
Place the sign defined as {name} at line {lnum} in file or
buffer {expr} and assign {id} and {group} to sign. This is
similar to the |:sign-place| command.
If the sign identifier {id} is zero, then a new identifier is
allocated. Otherwise the specified number is used. {group} is
the sign group name. To use the global sign group, use an
empty string. {group} functions as a namespace for {id}, thus
two groups can use the same IDs. Refer to |sign-identifier|
and |sign-group| for more information.
{name} refers to a defined sign.
{expr} refers to a buffer name or number. For the accepted
values, see |bufname()|.
The optional {dict} argument supports the following entries:
lnum line number in the file or buffer
{expr} where the sign is to be placed.
For the accepted values, see |line()|.
priority priority of the sign. See
|sign-priority| for more information.
If the optional {dict} is not specified, then it modifies the
placed sign {id} in group {group} to use the defined sign
{name}.
Returns the sign identifier on success and -1 on failure.
Examples: >
" Place a sign named sign1 with id 5 at line 20 in
" buffer json.c
call sign_place(5, '', 'sign1', 'json.c',
\ {'lnum' : 20})
" Updates sign 5 in buffer json.c to use sign2
call sign_place(5, '', 'sign2', 'json.c')
" Place a sign named sign3 at line 30 in
" buffer json.c with a new identifier
let id = sign_place(0, '', 'sign3', 'json.c',
\ {'lnum' : 30})
" Place a sign named sign4 with id 10 in group 'g3'
" at line 40 in buffer json.c with priority 90
call sign_place(10, 'g3', 'sign4', 'json.c',
\ {'lnum' : 40, 'priority' : 90})
<
Can also be used as a |method|: >
GetSignid()->sign_place(group, name, expr)
<
*sign_placelist()*
sign_placelist({list})
Place one or more signs. This is similar to the
|sign_place()| function. The {list} argument specifies the
List of signs to place. Each list item is a dict with the
following sign attributes:
buffer buffer name or number. For the accepted
values, see |bufname()|.
group sign group. {group} functions as a namespace
for {id}, thus two groups can use the same
IDs. If not specified or set to an empty
string, then the global group is used. See
|sign-group| for more information.
id sign identifier. If not specified or zero,
then a new unique identifier is allocated.
Otherwise the specified number is used. See
|sign-identifier| for more information.
lnum line number in the buffer {expr} where the
sign is to be placed. For the accepted values,
see |line()|.
name name of the sign to place. See |sign_define()|
for more information.
priority priority of the sign. When multiple signs are
placed on a line, the sign with the highest
priority is used. If not specified, the
default value of 10 is used. See
|sign-priority| for more information.
If {id} refers to an existing sign, then the existing sign is
modified to use the specified {name} and/or {priority}.
Returns a List of sign identifiers. If failed to place a
sign, the corresponding list item is set to -1.
Examples: >
" Place sign s1 with id 5 at line 20 and id 10 at line
" 30 in buffer a.c
let [n1, n2] = sign_placelist([
\ {'id' : 5,
\ 'name' : 's1',
\ 'buffer' : 'a.c',
\ 'lnum' : 20},
\ {'id' : 10,
\ 'name' : 's1',
\ 'buffer' : 'a.c',
\ 'lnum' : 30}
\ ])
" Place sign s1 in buffer a.c at line 40 and 50
" with auto-generated identifiers
let [n1, n2] = sign_placelist([
\ {'name' : 's1',
\ 'buffer' : 'a.c',
\ 'lnum' : 40},
\ {'name' : 's1',
\ 'buffer' : 'a.c',
\ 'lnum' : 50}
\ ])
<
Can also be used as a |method|: >
GetSignlist()->sign_placelist()
sign_undefine([{name}]) *sign_undefine()*
sign_undefine({list})
Deletes a previously defined sign {name}. This is similar to
the |:sign-undefine| command. If {name} is not supplied, then
deletes all the defined signs.
The one argument {list} can be used to undefine a list of
signs. Each list item is the name of a sign.
Returns 0 on success and -1 on failure. For the one argument
{list} call, returns a list of values one for each undefined
sign.
Examples: >
" Delete a sign named mySign
call sign_undefine("mySign")
" Delete signs 'sign1' and 'sign2'
call sign_undefine(["sign1", "sign2"])
" Delete all the signs
call sign_undefine()
<
Can also be used as a |method|: >
GetSignlist()->sign_undefine()
sign_unplace({group} [, {dict}]) *sign_unplace()*
Remove a previously placed sign in one or more buffers. This
is similar to the |:sign-unplace| command.
{group} is the sign group name. To use the global sign group,
use an empty string. If {group} is set to '*', then all the
groups including the global group are used.
The signs in {group} are selected based on the entries in
{dict}. The following optional entries in {dict} are
supported:
buffer buffer name or number. See |bufname()|.
id sign identifier
If {dict} is not supplied, then all the signs in {group} are
removed.
Returns 0 on success and -1 on failure.
Examples: >
" Remove sign 10 from buffer a.vim
call sign_unplace('', {'buffer' : "a.vim", 'id' : 10})
" Remove sign 20 in group 'g1' from buffer 3
call sign_unplace('g1', {'buffer' : 3, 'id' : 20})
" Remove all the signs in group 'g2' from buffer 10
call sign_unplace('g2', {'buffer' : 10})
" Remove sign 30 in group 'g3' from all the buffers
call sign_unplace('g3', {'id' : 30})
" Remove all the signs placed in buffer 5
call sign_unplace('*', {'buffer' : 5})
" Remove the signs in group 'g4' from all the buffers
call sign_unplace('g4')
" Remove sign 40 from all the buffers
call sign_unplace('*', {'id' : 40})
" Remove all the placed signs from all the buffers
call sign_unplace('*')
< Can also be used as a |method|: >
GetSigngroup()->sign_unplace()
<
sign_unplacelist({list}) *sign_unplacelist()*
Remove previously placed signs from one or more buffers. This
is similar to the |sign_unplace()| function.
The {list} argument specifies the List of signs to remove.
Each list item is a dict with the following sign attributes:
buffer buffer name or number. For the accepted
values, see |bufname()|. If not specified,
then the specified sign is removed from all
the buffers.
group sign group name. If not specified or set to an
empty string, then the global sign group is
used. If set to '*', then all the groups
including the global group are used.
id sign identifier. If not specified, then all
the signs in the specified group are removed.
Returns a List where an entry is set to 0 if the corresponding
sign was successfully removed or -1 on failure.
Example: >
" Remove sign with id 10 from buffer a.vim and sign
" with id 20 from buffer b.vim
call sign_unplacelist([
\ {'id' : 10, 'buffer' : "a.vim"},
\ {'id' : 20, 'buffer' : 'b.vim'},
\ ])
<
Can also be used as a |method|: >
GetSignlist()->sign_unplacelist()
<
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*spell.txt* For Vim version 8.1. Last change: 2019 May 05
*spell.txt* For Vim version 8.1. Last change: 2019 Aug 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -121,6 +121,23 @@ zuG Undo |zW| and |zG|, remove the word from the internal
:spellw[rong]! {word} Add {word} as a wrong (bad) word to the internal word
list, like with |zW|.
*:spellra* *:spellrare*
:[count]spellr[are] {word}
Add {word} as a rare word to 'spellfile', similar to
|zw|. Without count the first name is used, with
a count of two the second entry, etc.
There are no normal mode commands to mark words as
rare as this is a fairly uncommon command and all
intuitive commands for this are already taken. If you
want you can add mappings with e.g.: >
nnoremap z? :exe ':spellrare ' . expand('<cWORD>')<CR>
nnoremap z/ :exe ':spellrare! ' . expand('<cWORD>')<CR>
< |:spellundo|, |zuw|, or |zuW| can be used to undo this.
:spellr[rare]! {word} Add {word} as a rare word to the internal word
list, similar to |zW|.
:[count]spellu[ndo] {word} *:spellu* *:spellundo*
Like |zuw|. [count] used as with |:spellgood|.

View File

@ -1,4 +1,4 @@
*starting.txt* For Vim version 8.1. Last change: 2019 Jun 02
*starting.txt* For Vim version 8.1. Last change: 2019 Jul 30
VIM REFERENCE MANUAL by Bram Moolenaar
@ -152,8 +152,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
This can be used to find out where time is spent while loading
your .vimrc, plugins and opening the first file.
When {fname} already exists new messages are appended.
(Only available when compiled with the |+startuptime|
feature).
{only available when compiled with the |+startuptime|
feature}
*--literal*
--literal Take file names literally, don't expand wildcards. Not needed
@ -311,10 +311,10 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
-l Lisp mode. Sets the 'lisp' and 'showmatch' options on.
*-A*
-A Arabic mode. Sets the 'arabic' option on. (Only when
-A Arabic mode. Sets the 'arabic' option on. {only when
compiled with the |+arabic| features (which include
|+rightleft|), otherwise Vim gives an error message
and exits.)
and exits}
*-F*
-F This was used for Farsi mode, which has been removed.
@ -322,8 +322,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
*-H*
-H Hebrew mode. Sets the 'hkmap' and 'rightleft' options on.
(Only when compiled with the |+rightleft| feature, otherwise
Vim gives an error message and exits.)
{only when compiled with the |+rightleft| feature, otherwise
Vim gives an error message and exits}
*-V* *verbose*
-V[N] Verbose. Sets the 'verbose' option to [N] (default: 10).
@ -1189,6 +1189,8 @@ greps in the help files) you might be able to use this: >
VIMRUNTIME=`vim -e -T dumb --cmd 'exe "set t_cm=\<C-M>"|echo $VIMRUNTIME|quit' | tr -d '\015' `
Don't set $VIMRUNTIME to an empty value, some things may stop working.
==============================================================================
6. Suspending *suspend*

View File

@ -1,4 +1,4 @@
*syntax.txt* For Vim version 8.1. Last change: 2019 Jun 13
*syntax.txt* For Vim version 8.1. Last change: 2019 Jul 15
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1746,7 +1746,7 @@ There are several html preprocessor languages out there. html.vim has been
written such that it should be trivial to include it. To do so add the
following two lines to the syntax coloring file for that language
(the example comes from the asp.vim file):
>
runtime! syntax/html.vim
syn cluster htmlPreproc add=asp
@ -2623,7 +2623,6 @@ preceding last option and unsetting all other ones): >
Note: only existence of these options matter, not their value. You can replace
1 above with anything.
QUAKE *quake.vim* *ft-quake-syntax*
The Quake syntax definition should work for most any FPS (First Person
@ -5043,7 +5042,8 @@ IncSearch 'incsearch' highlighting; also used for the text replaced with
LineNr Line number for ":number" and ":#" commands, and when 'number'
or 'relativenumber' option is set.
*hl-CursorLineNr*
CursorLineNr Like LineNr when 'cursorline' or 'relativenumber' is set for
CursorLineNr Like LineNr when 'cursorline' is set and 'cursorlineopt' is
set to "number" or "both", or 'relativenumber' is set, for
the cursor line.
*hl-MatchParen*
MatchParen The character under the cursor or just before it, if it

View File

@ -1,6 +1,7 @@
! change.txt /*!*
!! change.txt /*!!*
# pattern.txt /*#*
#{} eval.txt /*#{}*
$ motion.txt /*$*
$HOME options.txt /*$HOME*
$HOME-use version5.txt /*$HOME-use*
@ -149,6 +150,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
'complete' options.txt /*'complete'*
'completefunc' options.txt /*'completefunc'*
'completeopt' options.txt /*'completeopt'*
'completepopup' options.txt /*'completepopup'*
'completeslash' options.txt /*'completeslash'*
'concealcursor' options.txt /*'concealcursor'*
'conceallevel' options.txt /*'conceallevel'*
'confirm' options.txt /*'confirm'*
@ -159,6 +162,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
'cp' options.txt /*'cp'*
'cpo' options.txt /*'cpo'*
'cpoptions' options.txt /*'cpoptions'*
'cpp' options.txt /*'cpp'*
'cpt' options.txt /*'cpt'*
'crb' options.txt /*'crb'*
'cryptmethod' options.txt /*'cryptmethod'*
@ -169,6 +173,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
'cscopetag' options.txt /*'cscopetag'*
'cscopetagorder' options.txt /*'cscopetagorder'*
'cscopeverbose' options.txt /*'cscopeverbose'*
'csl' options.txt /*'csl'*
'cspc' options.txt /*'cspc'*
'csprg' options.txt /*'csprg'*
'csqf' options.txt /*'csqf'*
@ -178,9 +183,11 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
'csverb' options.txt /*'csverb'*
'cuc' options.txt /*'cuc'*
'cul' options.txt /*'cul'*
'culopt' options.txt /*'culopt'*
'cursorbind' options.txt /*'cursorbind'*
'cursorcolumn' options.txt /*'cursorcolumn'*
'cursorline' options.txt /*'cursorline'*
'cursorlineopt' options.txt /*'cursorlineopt'*
'cwh' options.txt /*'cwh'*
'debug' options.txt /*'debug'*
'deco' options.txt /*'deco'*
@ -775,6 +782,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
'pp' options.txt /*'pp'*
'preserveindent' options.txt /*'preserveindent'*
'previewheight' options.txt /*'previewheight'*
'previewpopup' options.txt /*'previewpopup'*
'previewwindow' options.txt /*'previewwindow'*
'printdevice' options.txt /*'printdevice'*
'printencoding' options.txt /*'printencoding'*
@ -789,6 +797,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
'pumheight' options.txt /*'pumheight'*
'pumwidth' options.txt /*'pumwidth'*
'pvh' options.txt /*'pvh'*
'pvp' options.txt /*'pvp'*
'pvw' options.txt /*'pvw'*
'pw' options.txt /*'pw'*
'pythondll' options.txt /*'pythondll'*
@ -1262,6 +1271,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
+cindent various.txt /*+cindent*
+clientserver various.txt /*+clientserver*
+clipboard various.txt /*+clipboard*
+clipboard_working various.txt /*+clipboard_working*
+cmd editing.txt /*+cmd*
+cmdline_compl various.txt /*+cmdline_compl*
+cmdline_hist various.txt /*+cmdline_hist*
@ -1430,6 +1440,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
--ttyfail starting.txt /*--ttyfail*
--version starting.txt /*--version*
--windowid starting.txt /*--windowid*
-> eval.txt /*->*
-? starting.txt /*-?*
-A starting.txt /*-A*
-C starting.txt /*-C*
@ -2378,6 +2389,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:ene! editing.txt /*:ene!*
:enew editing.txt /*:enew*
:enew! editing.txt /*:enew!*
:eval eval.txt /*:eval*
:ex editing.txt /*:ex*
:exe eval.txt /*:exe*
:exe-comment eval.txt /*:exe-comment*
@ -3088,6 +3100,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:spelli spell.txt /*:spelli*
:spellinfo spell.txt /*:spellinfo*
:spellr spell.txt /*:spellr*
:spellra spell.txt /*:spellra*
:spellrare spell.txt /*:spellrare*
:spellrepall spell.txt /*:spellrepall*
:spellu spell.txt /*:spellu*
:spellundo spell.txt /*:spellundo*
@ -3876,7 +3890,6 @@ E136 starting.txt /*E136*
E137 starting.txt /*E137*
E138 starting.txt /*E138*
E139 message.txt /*E139*
E14 cmdline.txt /*E14*
E140 message.txt /*E140*
E141 message.txt /*E141*
E142 message.txt /*E142*
@ -3912,6 +3925,7 @@ E169 message.txt /*E169*
E17 message.txt /*E17*
E170 eval.txt /*E170*
E171 eval.txt /*E171*
E172 eval.txt /*E172*
E173 message.txt /*E173*
E174 map.txt /*E174*
E175 map.txt /*E175*
@ -3965,6 +3979,7 @@ E218 autocmd.txt /*E218*
E219 message.txt /*E219*
E22 message.txt /*E22*
E220 message.txt /*E220*
E221 eval.txt /*E221*
E222 message.txt /*E222*
E223 options.txt /*E223*
E224 map.txt /*E224*
@ -3987,12 +4002,14 @@ E239 sign.txt /*E239*
E24 message.txt /*E24*
E240 remote.txt /*E240*
E241 eval.txt /*E241*
E242 windows.txt /*E242*
E243 if_ole.txt /*E243*
E244 gui.txt /*E244*
E245 gui.txt /*E245*
E246 autocmd.txt /*E246*
E247 remote.txt /*E247*
E248 remote.txt /*E248*
E249 windows.txt /*E249*
E25 message.txt /*E25*
E250 options.txt /*E250*
E251 remote.txt /*E251*
@ -4019,6 +4036,9 @@ E270 if_ruby.txt /*E270*
E271 if_ruby.txt /*E271*
E272 if_ruby.txt /*E272*
E273 if_ruby.txt /*E273*
E274 eval.txt /*E274*
E275 textprop.txt /*E275*
E276 eval.txt /*E276*
E277 remote.txt /*E277*
E28 syntax.txt /*E28*
E280 if_tcl.txt /*E280*
@ -4681,12 +4701,12 @@ E909 eval.txt /*E909*
E91 options.txt /*E91*
E910 eval.txt /*E910*
E911 eval.txt /*E911*
E912 eval.txt /*E912*
E912 channel.txt /*E912*
E913 eval.txt /*E913*
E914 eval.txt /*E914*
E915 channel.txt /*E915*
E916 eval.txt /*E916*
E917 eval.txt /*E917*
E916 channel.txt /*E916*
E917 channel.txt /*E917*
E918 channel.txt /*E918*
E919 repeat.txt /*E919*
E92 message.txt /*E92*
@ -4732,19 +4752,20 @@ E955 terminal.txt /*E955*
E956 pattern.txt /*E956*
E957 eval.txt /*E957*
E958 terminal.txt /*E958*
E959 diff.txt /*E959*
E96 diff.txt /*E96*
E960 options.txt /*E960*
E961 cmdline.txt /*E961*
E962 eval.txt /*E962*
E963 eval.txt /*E963*
E964 eval.txt /*E964*
E965 eval.txt /*E965*
E966 eval.txt /*E966*
E964 textprop.txt /*E964*
E965 textprop.txt /*E965*
E966 textprop.txt /*E966*
E967 textprop.txt /*E967*
E968 eval.txt /*E968*
E969 eval.txt /*E969*
E968 textprop.txt /*E968*
E969 textprop.txt /*E969*
E97 diff.txt /*E97*
E970 eval.txt /*E970*
E970 textprop.txt /*E970*
E971 textprop.txt /*E971*
E972 eval.txt /*E972*
E973 eval.txt /*E973*
@ -4906,6 +4927,8 @@ P change.txt /*P*
PATHEXT eval.txt /*PATHEXT*
PEP8 filetype.txt /*PEP8*
PHP_BracesAtCodeLevel indent.txt /*PHP_BracesAtCodeLevel*
PHP_IndentFunctionCallParameters indent.txt /*PHP_IndentFunctionCallParameters*
PHP_IndentFunctionDeclarationParameters indent.txt /*PHP_IndentFunctionDeclarationParameters*
PHP_autoformatcomment indent.txt /*PHP_autoformatcomment*
PHP_default_indenting indent.txt /*PHP_default_indenting*
PHP_noArrowMatching indent.txt /*PHP_noArrowMatching*
@ -5289,19 +5312,20 @@ asin() eval.txt /*asin()*
asm.vim syntax.txt /*asm.vim*
asm68k syntax.txt /*asm68k*
asmh8300.vim syntax.txt /*asmh8300.vim*
assert-functions-details testing.txt /*assert-functions-details*
assert-return eval.txt /*assert-return*
assert_beeps() eval.txt /*assert_beeps()*
assert_equal() eval.txt /*assert_equal()*
assert_equalfile() eval.txt /*assert_equalfile()*
assert_exception() eval.txt /*assert_exception()*
assert_fails() eval.txt /*assert_fails()*
assert_false() eval.txt /*assert_false()*
assert_inrange() eval.txt /*assert_inrange()*
assert_match() eval.txt /*assert_match()*
assert_notequal() eval.txt /*assert_notequal()*
assert_notmatch() eval.txt /*assert_notmatch()*
assert_report() eval.txt /*assert_report()*
assert_true() eval.txt /*assert_true()*
assert_beeps() testing.txt /*assert_beeps()*
assert_equal() testing.txt /*assert_equal()*
assert_equalfile() testing.txt /*assert_equalfile()*
assert_exception() testing.txt /*assert_exception()*
assert_fails() testing.txt /*assert_fails()*
assert_false() testing.txt /*assert_false()*
assert_inrange() testing.txt /*assert_inrange()*
assert_match() testing.txt /*assert_match()*
assert_notequal() testing.txt /*assert_notequal()*
assert_notmatch() testing.txt /*assert_notmatch()*
assert_report() testing.txt /*assert_report()*
assert_true() testing.txt /*assert_true()*
at motion.txt /*at*
atan() eval.txt /*atan()*
atan2() eval.txt /*atan2()*
@ -5572,24 +5596,24 @@ cc change.txt /*cc*
ceil() eval.txt /*ceil()*
cfilter-plugin quickfix.txt /*cfilter-plugin*
ch.vim syntax.txt /*ch.vim*
ch_canread() eval.txt /*ch_canread()*
ch_close() eval.txt /*ch_close()*
ch_close_in() eval.txt /*ch_close_in()*
ch_evalexpr() eval.txt /*ch_evalexpr()*
ch_evalraw() eval.txt /*ch_evalraw()*
ch_getbufnr() eval.txt /*ch_getbufnr()*
ch_getjob() eval.txt /*ch_getjob()*
ch_info() eval.txt /*ch_info()*
ch_log() eval.txt /*ch_log()*
ch_logfile() eval.txt /*ch_logfile()*
ch_open() eval.txt /*ch_open()*
ch_read() eval.txt /*ch_read()*
ch_readblob() eval.txt /*ch_readblob()*
ch_readraw() eval.txt /*ch_readraw()*
ch_sendexpr() eval.txt /*ch_sendexpr()*
ch_sendraw() eval.txt /*ch_sendraw()*
ch_setoptions() eval.txt /*ch_setoptions()*
ch_status() eval.txt /*ch_status()*
ch_canread() channel.txt /*ch_canread()*
ch_close() channel.txt /*ch_close()*
ch_close_in() channel.txt /*ch_close_in()*
ch_evalexpr() channel.txt /*ch_evalexpr()*
ch_evalraw() channel.txt /*ch_evalraw()*
ch_getbufnr() channel.txt /*ch_getbufnr()*
ch_getjob() channel.txt /*ch_getjob()*
ch_info() channel.txt /*ch_info()*
ch_log() channel.txt /*ch_log()*
ch_logfile() channel.txt /*ch_logfile()*
ch_open() channel.txt /*ch_open()*
ch_read() channel.txt /*ch_read()*
ch_readblob() channel.txt /*ch_readblob()*
ch_readraw() channel.txt /*ch_readraw()*
ch_sendexpr() channel.txt /*ch_sendexpr()*
ch_sendraw() channel.txt /*ch_sendraw()*
ch_setoptions() channel.txt /*ch_setoptions()*
ch_status() channel.txt /*ch_status()*
change-list-jumps motion.txt /*change-list-jumps*
change-name tips.txt /*change-name*
change-tabs change.txt /*change-tabs*
@ -5624,6 +5648,7 @@ channel-commands channel.txt /*channel-commands*
channel-demo channel.txt /*channel-demo*
channel-drop channel.txt /*channel-drop*
channel-functions usr_41.txt /*channel-functions*
channel-functions-details channel.txt /*channel-functions-details*
channel-mode channel.txt /*channel-mode*
channel-more channel.txt /*channel-more*
channel-noblock channel.txt /*channel-noblock*
@ -5760,6 +5785,7 @@ compl-whole-line insert.txt /*compl-whole-line*
complete() eval.txt /*complete()*
complete-functions insert.txt /*complete-functions*
complete-items insert.txt /*complete-items*
complete-popup insert.txt /*complete-popup*
complete_CTRL-E insert.txt /*complete_CTRL-E*
complete_CTRL-Y insert.txt /*complete_CTRL-Y*
complete_add() eval.txt /*complete_add()*
@ -6048,6 +6074,7 @@ dtd2vim insert.txt /*dtd2vim*
dying-variable eval.txt /*dying-variable*
e motion.txt /*e*
easy starting.txt /*easy*
echospace-variable eval.txt /*echospace-variable*
edit-a-file editing.txt /*edit-a-file*
edit-binary editing.txt /*edit-binary*
edit-dialogs editing.txt /*edit-dialogs*
@ -6440,6 +6467,7 @@ ft-ptcap-syntax syntax.txt /*ft-ptcap-syntax*
ft-python-indent indent.txt /*ft-python-indent*
ft-python-plugin filetype.txt /*ft-python-plugin*
ft-python-syntax syntax.txt /*ft-python-syntax*
ft-qf-plugin filetype.txt /*ft-qf-plugin*
ft-quake-syntax syntax.txt /*ft-quake-syntax*
ft-r-indent indent.txt /*ft-r-indent*
ft-r-syntax syntax.txt /*ft-r-syntax*
@ -6820,6 +6848,7 @@ getfperm() eval.txt /*getfperm()*
getfsize() eval.txt /*getfsize()*
getftime() eval.txt /*getftime()*
getftype() eval.txt /*getftype()*
getimstatus() eval.txt /*getimstatus()*
getjumplist() eval.txt /*getjumplist()*
getlatestvimscripts-install pi_getscript.txt /*getlatestvimscripts-install*
getline() eval.txt /*getline()*
@ -7360,6 +7389,7 @@ job-err_cb channel.txt /*job-err_cb*
job-err_io channel.txt /*job-err_io*
job-exit_cb channel.txt /*job-exit_cb*
job-functions usr_41.txt /*job-functions*
job-functions-details channel.txt /*job-functions-details*
job-in_io channel.txt /*job-in_io*
job-noblock channel.txt /*job-noblock*
job-options channel.txt /*job-options*
@ -7371,12 +7401,12 @@ job-start-nochannel channel.txt /*job-start-nochannel*
job-stoponexit channel.txt /*job-stoponexit*
job-term channel.txt /*job-term*
job-timeout channel.txt /*job-timeout*
job_getchannel() eval.txt /*job_getchannel()*
job_info() eval.txt /*job_info()*
job_setoptions() eval.txt /*job_setoptions()*
job_start() eval.txt /*job_start()*
job_status() eval.txt /*job_status()*
job_stop() eval.txt /*job_stop()*
job_getchannel() channel.txt /*job_getchannel()*
job_info() channel.txt /*job_info()*
job_setoptions() channel.txt /*job_setoptions()*
job_start() channel.txt /*job_start()*
job_status() channel.txt /*job_status()*
job_stop() channel.txt /*job_stop()*
join() eval.txt /*join()*
js_decode() eval.txt /*js_decode()*
js_encode() eval.txt /*js_encode()*
@ -7468,6 +7498,7 @@ listener_add() eval.txt /*listener_add()*
listener_flush() eval.txt /*listener_flush()*
listener_remove() eval.txt /*listener_remove()*
lite.vim syntax.txt /*lite.vim*
literal-Dict eval.txt /*literal-Dict*
literal-string eval.txt /*literal-string*
lnum-variable eval.txt /*lnum-variable*
load-plugins starting.txt /*load-plugins*
@ -7637,6 +7668,7 @@ message-history message.txt /*message-history*
message.txt message.txt /*message.txt*
messages message.txt /*messages*
meta intro.txt /*meta*
method eval.txt /*method*
min() eval.txt /*min()*
missing-options vi_diff.txt /*missing-options*
mkdir() eval.txt /*mkdir()*
@ -8032,7 +8064,7 @@ new-search-path version6.txt /*new-search-path*
new-searchpat version6.txt /*new-searchpat*
new-session-files version5.txt /*new-session-files*
new-spell version7.txt /*new-spell*
new-style-testing eval.txt /*new-style-testing*
new-style-testing testing.txt /*new-style-testing*
new-tab-pages version7.txt /*new-tab-pages*
new-terminal-window version8.txt /*new-terminal-window*
new-undo-branches version7.txt /*new-undo-branches*
@ -8080,7 +8112,7 @@ ocaml.vim syntax.txt /*ocaml.vim*
octal eval.txt /*octal*
octal-nrformats options.txt /*octal-nrformats*
octal-number eval.txt /*octal-number*
old-style-testing eval.txt /*old-style-testing*
old-style-testing testing.txt /*old-style-testing*
oldfiles-variable eval.txt /*oldfiles-variable*
ole-activation if_ole.txt /*ole-activation*
ole-eval if_ole.txt /*ole-eval*
@ -8227,20 +8259,25 @@ popup-callback popup.txt /*popup-callback*
popup-close popup.txt /*popup-close*
popup-examples popup.txt /*popup-examples*
popup-filter popup.txt /*popup-filter*
popup-filter-mode popup.txt /*popup-filter-mode*
popup-function-details popup.txt /*popup-function-details*
popup-functions popup.txt /*popup-functions*
popup-intro popup.txt /*popup-intro*
popup-mapping popup.txt /*popup-mapping*
popup-mask popup.txt /*popup-mask*
popup-menu gui.txt /*popup-menu*
popup-menu-added version5.txt /*popup-menu-added*
popup-position popup.txt /*popup-position*
popup-props popup.txt /*popup-props*
popup-scrollbar popup.txt /*popup-scrollbar*
popup-textprop-pos popup.txt /*popup-textprop-pos*
popup-usage popup.txt /*popup-usage*
popup-window popup.txt /*popup-window*
popup-window-functions usr_41.txt /*popup-window-functions*
popup.txt popup.txt /*popup.txt*
popup_atcursor() popup.txt /*popup_atcursor()*
popup_beval() popup.txt /*popup_beval()*
popup_beval_example popup.txt /*popup_beval_example*
popup_clear() popup.txt /*popup_clear()*
popup_close() popup.txt /*popup_close()*
popup_create() popup.txt /*popup_create()*
@ -8249,9 +8286,12 @@ popup_dialog() popup.txt /*popup_dialog()*
popup_dialog-example popup.txt /*popup_dialog-example*
popup_filter_menu() popup.txt /*popup_filter_menu()*
popup_filter_yesno() popup.txt /*popup_filter_yesno()*
popup_findinfo() popup.txt /*popup_findinfo()*
popup_findpreview() popup.txt /*popup_findpreview()*
popup_getoptions() popup.txt /*popup_getoptions()*
popup_getpos() popup.txt /*popup_getpos()*
popup_hide() popup.txt /*popup_hide()*
popup_locate() popup.txt /*popup_locate()*
popup_menu() popup.txt /*popup_menu()*
popup_menu-shortcut-example popup.txt /*popup_menu-shortcut-example*
popup_move() popup.txt /*popup_move()*
@ -8278,6 +8318,7 @@ ppwiz.vim syntax.txt /*ppwiz.vim*
press-enter message.txt /*press-enter*
press-return message.txt /*press-return*
prevcount-variable eval.txt /*prevcount-variable*
preview-popup windows.txt /*preview-popup*
preview-window windows.txt /*preview-window*
prevnonblank() eval.txt /*prevnonblank()*
print-intro print.txt /*print-intro*
@ -8313,19 +8354,20 @@ prompt_setinterrupt() eval.txt /*prompt_setinterrupt()*
prompt_setprompt() eval.txt /*prompt_setprompt()*
promptbuffer-functions usr_41.txt /*promptbuffer-functions*
pronounce intro.txt /*pronounce*
prop_add() eval.txt /*prop_add()*
prop_clear() eval.txt /*prop_clear()*
prop_find() eval.txt /*prop_find()*
prop_list() eval.txt /*prop_list()*
prop_remove() eval.txt /*prop_remove()*
prop_type_add() eval.txt /*prop_type_add()*
prop_type_change() eval.txt /*prop_type_change()*
prop_type_delete() eval.txt /*prop_type_delete()*
prop_type_get() eval.txt /*prop_type_get()*
prop_type_list() eval.txt /*prop_type_list()*
prop_add() textprop.txt /*prop_add()*
prop_clear() textprop.txt /*prop_clear()*
prop_find() textprop.txt /*prop_find()*
prop_list() textprop.txt /*prop_list()*
prop_remove() textprop.txt /*prop_remove()*
prop_type_add() textprop.txt /*prop_type_add()*
prop_type_change() textprop.txt /*prop_type_change()*
prop_type_delete() textprop.txt /*prop_type_delete()*
prop_type_get() textprop.txt /*prop_type_get()*
prop_type_list() textprop.txt /*prop_type_list()*
psql ft_sql.txt /*psql*
ptcap.vim syntax.txt /*ptcap.vim*
pterm-mouse options.txt /*pterm-mouse*
pum_getpos() eval.txt /*pum_getpos()*
pumvisible() eval.txt /*pumvisible()*
put change.txt /*put*
put-Visual-mode change.txt /*put-Visual-mode*
@ -8383,6 +8425,7 @@ q repeat.txt /*q*
q/ cmdline.txt /*q\/*
q: cmdline.txt /*q:*
q? cmdline.txt /*q?*
qf.vim filetype.txt /*qf.vim*
qnx os_qnx.txt /*qnx*
qnx-compiling os_qnx.txt /*qnx-compiling*
qnx-general os_qnx.txt /*qnx-general*
@ -8590,6 +8633,7 @@ screenattr() eval.txt /*screenattr()*
screenchar() eval.txt /*screenchar()*
screenchars() eval.txt /*screenchars()*
screencol() eval.txt /*screencol()*
screenpos() eval.txt /*screenpos()*
screenrow() eval.txt /*screenrow()*
screenstring() eval.txt /*screenstring()*
script usr_41.txt /*script*
@ -8682,19 +8726,22 @@ showing-menus gui.txt /*showing-menus*
sign-column sign.txt /*sign-column*
sign-commands sign.txt /*sign-commands*
sign-functions usr_41.txt /*sign-functions*
sign-functions-details sign.txt /*sign-functions-details*
sign-group sign.txt /*sign-group*
sign-identifier sign.txt /*sign-identifier*
sign-intro sign.txt /*sign-intro*
sign-priority sign.txt /*sign-priority*
sign-support sign.txt /*sign-support*
sign.txt sign.txt /*sign.txt*
sign_define() eval.txt /*sign_define()*
sign_getdefined() eval.txt /*sign_getdefined()*
sign_getplaced() eval.txt /*sign_getplaced()*
sign_jump() eval.txt /*sign_jump()*
sign_place() eval.txt /*sign_place()*
sign_undefine() eval.txt /*sign_undefine()*
sign_unplace() eval.txt /*sign_unplace()*
sign_define() sign.txt /*sign_define()*
sign_getdefined() sign.txt /*sign_getdefined()*
sign_getplaced() sign.txt /*sign_getplaced()*
sign_jump() sign.txt /*sign_jump()*
sign_place() sign.txt /*sign_place()*
sign_placelist() sign.txt /*sign_placelist()*
sign_undefine() sign.txt /*sign_undefine()*
sign_unplace() sign.txt /*sign_unplace()*
sign_unplacelist() sign.txt /*sign_unplacelist()*
signs sign.txt /*signs*
simple-change change.txt /*simple-change*
simplify() eval.txt /*simplify()*
@ -9346,28 +9393,31 @@ terminal.txt terminal.txt /*terminal.txt*
terminfo term.txt /*terminfo*
termresponse-variable eval.txt /*termresponse-variable*
test-functions usr_41.txt /*test-functions*
test_alloc_fail() eval.txt /*test_alloc_fail()*
test_autochdir() eval.txt /*test_autochdir()*
test_feedinput() eval.txt /*test_feedinput()*
test_garbagecollect_now() eval.txt /*test_garbagecollect_now()*
test_garbagecollect_soon() eval.txt /*test_garbagecollect_soon()*
test_getvalue() eval.txt /*test_getvalue()*
test_ignore_error() eval.txt /*test_ignore_error()*
test_null_blob() eval.txt /*test_null_blob()*
test_null_channel() eval.txt /*test_null_channel()*
test_null_dict() eval.txt /*test_null_dict()*
test_null_job() eval.txt /*test_null_job()*
test_null_list() eval.txt /*test_null_list()*
test_null_partial() eval.txt /*test_null_partial()*
test_null_string() eval.txt /*test_null_string()*
test_option_not_set() eval.txt /*test_option_not_set()*
test_override() eval.txt /*test_override()*
test_refcount() eval.txt /*test_refcount()*
test_scrollbar() eval.txt /*test_scrollbar()*
test_setmouse() eval.txt /*test_setmouse()*
test_settime() eval.txt /*test_settime()*
testing eval.txt /*testing*
test-functions-details testing.txt /*test-functions-details*
test_alloc_fail() testing.txt /*test_alloc_fail()*
test_autochdir() testing.txt /*test_autochdir()*
test_feedinput() testing.txt /*test_feedinput()*
test_garbagecollect_now() testing.txt /*test_garbagecollect_now()*
test_garbagecollect_soon() testing.txt /*test_garbagecollect_soon()*
test_getvalue() testing.txt /*test_getvalue()*
test_ignore_error() testing.txt /*test_ignore_error()*
test_null_blob() testing.txt /*test_null_blob()*
test_null_channel() testing.txt /*test_null_channel()*
test_null_dict() testing.txt /*test_null_dict()*
test_null_job() testing.txt /*test_null_job()*
test_null_list() testing.txt /*test_null_list()*
test_null_partial() testing.txt /*test_null_partial()*
test_null_string() testing.txt /*test_null_string()*
test_option_not_set() testing.txt /*test_option_not_set()*
test_override() testing.txt /*test_override()*
test_refcount() testing.txt /*test_refcount()*
test_scrollbar() testing.txt /*test_scrollbar()*
test_setmouse() testing.txt /*test_setmouse()*
test_settime() testing.txt /*test_settime()*
testing testing.txt /*testing*
testing-support testing.txt /*testing-support*
testing-variable eval.txt /*testing-variable*
testing.txt testing.txt /*testing.txt*
tex-cchar syntax.txt /*tex-cchar*
tex-cole syntax.txt /*tex-cole*
tex-conceal syntax.txt /*tex-conceal*
@ -9534,6 +9584,7 @@ v:count eval.txt /*v:count*
v:count1 eval.txt /*v:count1*
v:ctype eval.txt /*v:ctype*
v:dying eval.txt /*v:dying*
v:echospace eval.txt /*v:echospace*
v:errmsg eval.txt /*v:errmsg*
v:errors eval.txt /*v:errors*
v:event eval.txt /*v:event*
@ -9919,6 +9970,7 @@ win_gotoid() eval.txt /*win_gotoid()*
win_id2tabwin() eval.txt /*win_id2tabwin()*
win_id2win() eval.txt /*win_id2win()*
win_screenpos() eval.txt /*win_screenpos()*
win_splitmove() eval.txt /*win_splitmove()*
winbufnr() eval.txt /*winbufnr()*
wincol() eval.txt /*wincol()*
window windows.txt /*window*

View File

@ -1,4 +1,4 @@
*terminal.txt* For Vim version 8.1. Last change: 2019 Jul 04
*terminal.txt* For Vim version 8.1. Last change: 2019 Sep 08
VIM REFERENCE MANUAL by Bram Moolenaar
@ -479,6 +479,9 @@ term_dumpdiff({filename}, {filename} [, {options}])
Using the "s" key the top and bottom parts are swapped. This
makes it easy to spot a difference.
Can also be used as a |method|: >
GetFilename()->term_dumpdiff(otherfile)
<
*term_dumpload()*
term_dumpload({filename} [, {options}])
Open a new window displaying the contents of {filename}
@ -488,6 +491,9 @@ term_dumpload({filename} [, {options}])
For {options} see |term_dumpdiff()|.
Can also be used as a |method|: >
GetFilename()-> term_dumpload()
<
*term_dumpwrite()*
term_dumpwrite({buf}, {filename} [, {options}])
Dump the contents of the terminal screen of {buf} in the file
@ -502,11 +508,18 @@ term_dumpwrite({buf}, {filename} [, {options}])
"rows" maximum number of rows to dump
"columns" maximum number of columns to dump
Can also be used as a |method|, the base is used for the file
name: >
GetFilename()-> term_dumpwrite(bufnr)
term_getaltscreen({buf}) *term_getaltscreen()*
Returns 1 if the terminal of {buf} is using the alternate
screen.
{buf} is used as with |term_getsize()|.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_getaltscreen()
term_getansicolors({buf}) *term_getansicolors()*
Get the ANSI color palette in use by terminal {buf}.
@ -517,8 +530,12 @@ term_getansicolors({buf}) *term_getansicolors()*
{buf} is used as with |term_getsize()|. If the buffer does not
exist or is not a terminal window, an empty list is returned.
{only available when compiled with the |+terminal| feature and
with GUI enabled and/or the |+termguicolors| feature}
Can also be used as a |method|: >
GetBufnr()->term_getansicolors()
< {only available when compiled with GUI enabled and/or the
|+termguicolors| feature}
term_getattr({attr}, {what}) *term_getattr()*
Given {attr}, a value returned by term_scrape() in the "attr"
@ -528,7 +545,10 @@ term_getattr({attr}, {what}) *term_getattr()*
underline
strike
reverse
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetAttr()->term_getattr()
term_getcursor({buf}) *term_getcursor()*
Get the cursor position of terminal {buf}. Returns a list with
@ -550,13 +570,18 @@ term_getcursor({buf}) *term_getcursor()*
{buf} must be the buffer number of a terminal window. If the
buffer does not exist or is not a terminal window, an empty
list is returned.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_getcursor()
term_getjob({buf}) *term_getjob()*
Get the Job associated with terminal window {buf}.
{buf} is used as with |term_getsize()|.
Returns |v:null| when there is no job.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_getjob()
term_getline({buf}, {row}) *term_getline()*
Get a line of text from the terminal window of {buf}.
@ -567,7 +592,10 @@ term_getline({buf}, {row}) *term_getline()*
returned.
To get attributes of each character use |term_scrape()|.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_getline(row)
term_getscrolled({buf}) *term_getscrolled()*
Return the number of lines that scrolled to above the top of
@ -579,7 +607,10 @@ term_getscrolled({buf}) *term_getscrolled()*
< (if that line exists).
{buf} is used as with |term_getsize()|.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_getscrolled()
term_getsize({buf}) *term_getsize()*
Get the size of terminal {buf}. Returns a list with two
@ -589,7 +620,10 @@ term_getsize({buf}) *term_getsize()*
{buf} must be the buffer number of a terminal window. Use an
empty string for the current buffer. If the buffer does not
exist or is not a terminal window, an empty list is returned.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_getsize()
term_getstatus({buf}) *term_getstatus()*
Get the status of terminal {buf}. This returns a comma
@ -602,7 +636,10 @@ term_getstatus({buf}) *term_getstatus()*
{buf} must be the buffer number of a terminal window. If the
buffer does not exist or is not a terminal window, an empty
string is returned.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_getstatus()
term_gettitle({buf}) *term_gettitle()*
Get the title of terminal {buf}. This is the title that the
@ -611,7 +648,10 @@ term_gettitle({buf}) *term_gettitle()*
{buf} must be the buffer number of a terminal window. If the
buffer does not exist or is not a terminal window, an empty
string is returned.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_gettitle()
term_gettty({buf} [, {input}]) *term_gettty()*
Get the name of the controlling terminal associated with
@ -620,12 +660,15 @@ term_gettty({buf} [, {input}]) *term_gettty()*
When {input} is omitted or 0, return the name for writing
(stdout). When {input} is 1 return the name for reading
(stdin). On UNIX, both return same name.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_gettty()
term_list() *term_list()*
Return a list with the buffer numbers of all buffers for
terminal windows.
{only available when compiled with the |+terminal| feature}
term_scrape({buf}, {row}) *term_scrape()*
Get the contents of {row} of terminal screen of {buf}.
@ -642,7 +685,10 @@ term_scrape({buf}, {row}) *term_scrape()*
"attr" attributes of the cell, use |term_getattr()|
to get the individual flags
"width" cell width: 1 or 2
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_scrape(row)
term_sendkeys({buf}, {keys}) *term_sendkeys()*
Send keystrokes {keys} to terminal {buf}.
@ -650,7 +696,10 @@ term_sendkeys({buf}, {keys}) *term_sendkeys()*
{keys} are translated as key sequences. For example, "\<c-x>"
means the character CTRL-X.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_sendkeys(keys)
term_setansicolors({buf}, {colors}) *term_setansicolors()*
Set the ANSI color palette used by terminal {buf}.
@ -680,8 +729,12 @@ term_setansicolors({buf}, {colors}) *term_setansicolors()*
'termguicolors' is set. When not using GUI colors (GUI mode
or 'termguicolors'), the terminal window always uses the 16
ANSI colors of the underlying terminal.
{only available when compiled with the |+terminal| feature and
with GUI enabled and/or the |+termguicolors| feature}
Can also be used as a |method|: >
GetBufnr()->term_setansicolors(colors)
< {only available with GUI enabled and/or the |+termguicolors|
feature}
term_setkill({buf}, {how}) *term_setkill()*
When exiting Vim or trying to close the terminal window in
@ -695,6 +748,10 @@ term_setkill({buf}, {how}) *term_setkill()*
After sending the signal Vim will wait for up to a second to
check that the job actually stopped.
Can also be used as a |method|: >
GetBufnr()->term_setkill(how)
term_setrestore({buf}, {command}) *term_setrestore()*
Set the command to write in a session file to restore the job
in this terminal. The line written in the session file is: >
@ -703,7 +760,10 @@ term_setrestore({buf}, {command}) *term_setrestore()*
Use an empty {command} to run 'shell'.
Use "NONE" to not restore this window.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_setrestore(command)
term_setsize({buf}, {rows}, {cols}) *term_setsize()* *E955*
Set the size of terminal {buf}. The size of the window
@ -714,7 +774,10 @@ term_setsize({buf}, {rows}, {cols}) *term_setsize()* *E955*
{buf} must be the buffer number of a terminal window. Use an
empty string for the current buffer. If the buffer does not
exist or is not a terminal window, an error is given.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_setsize(rows, cols)
term_start({cmd} [, {options}]) *term_start()*
Open a terminal window and run {cmd} in it.
@ -781,14 +844,20 @@ term_start({cmd} [, {options}]) *term_start()*
"tty_type" (MS-Windows only): Specify which pty to
use. See 'termwintype' for the values.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetCommand()->term_start()
< {only available when compiled with the |+terminal| feature}
term_wait({buf} [, {time}]) *term_wait()*
Wait for pending updates of {buf} to be handled.
{buf} is used as with |term_getsize()|.
{time} is how long to wait for updates to arrive in msec. If
not set then 10 msec will be used.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_wait()
==============================================================================
3. Terminal communication *terminal-communication*

372
runtime/doc/testing.txt Normal file
View File

@ -0,0 +1,372 @@
*testing.txt* For Vim version 8.1. Last change: 2019 Sep 08
VIM REFERENCE MANUAL by Bram Moolenaar
Testing Vim and Vim script *testing-support*
Expression evaluation is explained in |eval.txt|. This file goes into details
about writing tests in Vim script. This can be used for testing Vim itself
and for testing plugins.
1. Testing Vim |testing|
2. Test functions |test-functions-details|
3. Assert functions |assert-functions-details|
==============================================================================
1. Testing Vim *testing*
Vim can be tested after building it, usually with "make test".
The tests are located in the directory "src/testdir".
There are several types of tests added over time:
test33.in oldest, don't add any of these
test_something.in old style tests
test_something.vim new style tests
*new-style-testing*
New tests should be added as new style tests. These use functions such as
|assert_equal()| to keep the test commands and the expected result in one
place.
*old-style-testing*
In some cases an old style test needs to be used. E.g. when testing Vim
without the |+eval| feature.
Find more information in the file src/testdir/README.txt.
==============================================================================
2. Test functions *test-functions-details*
test_alloc_fail({id}, {countdown}, {repeat}) *test_alloc_fail()*
This is for testing: If the memory allocation with {id} is
called, then decrement {countdown}, and when it reaches zero
let memory allocation fail {repeat} times. When {repeat} is
smaller than one it fails one time.
Can also be used as a |method|: >
GetAllocId()->test_alloc_fail()
test_autochdir() *test_autochdir()*
Set a flag to enable the effect of 'autochdir' before Vim
startup has finished.
test_feedinput({string}) *test_feedinput()*
Characters in {string} are queued for processing as if they
were typed by the user. This uses a low level input buffer.
This function works only when with |+unix| or GUI is running.
Can also be used as a |method|: >
GetText()->test_feedinput()
test_garbagecollect_now() *test_garbagecollect_now()*
Like garbagecollect(), but executed right away. This must
only be called directly to avoid any structure to exist
internally, and |v:testing| must have been set before calling
any function.
test_garbagecollect_soon() *test_garbagecollect_soon()*
Set the flag to call the garbagecollector as if in the main
loop. Only to be used in tests.
test_getvalue({name}) *test_getvalue()*
Get the value of an internal variable. These values for
{name} are supported:
need_fileinfo
Can also be used as a |method|: >
GetName()->test_getvalue()
test_ignore_error({expr}) *test_ignore_error()*
Ignore any error containing {expr}. A normal message is given
instead.
This is only meant to be used in tests, where catching the
error with try/catch cannot be used (because it skips over
following code).
{expr} is used literally, not as a pattern.
When the {expr} is the string "RESET" then the list of ignored
errors is made empty.
Can also be used as a |method|: >
GetErrorText()->test_ignore_error()
test_null_blob() *test_null_blob()*
Return a |Blob| that is null. Only useful for testing.
test_null_channel() *test_null_channel()*
Return a |Channel| that is null. Only useful for testing.
{only available when compiled with the +channel feature}
test_null_dict() *test_null_dict()*
Return a |Dict| that is null. Only useful for testing.
test_null_job() *test_null_job()*
Return a |Job| that is null. Only useful for testing.
{only available when compiled with the +job feature}
test_null_list() *test_null_list()*
Return a |List| that is null. Only useful for testing.
test_null_partial() *test_null_partial()*
Return a |Partial| that is null. Only useful for testing.
test_null_string() *test_null_string()*
Return a |String| that is null. Only useful for testing.
test_option_not_set({name}) *test_option_not_set()*
Reset the flag that indicates option {name} was set. Thus it
looks like it still has the default value. Use like this: >
set ambiwidth=double
call test_option_not_set('ambiwidth')
< Now the 'ambiwidth' option behaves like it was never changed,
even though the value is "double".
Only to be used for testing!
Can also be used as a |method|: >
GetOptionName()->test_option_not_set()
test_override({name}, {val}) *test_override()*
Overrides certain parts of Vim's internal processing to be able
to run tests. Only to be used for testing Vim!
The override is enabled when {val} is non-zero and removed
when {val} is zero.
Current supported values for name are:
name effect when {val} is non-zero ~
redraw disable the redrawing() function
redraw_flag ignore the RedrawingDisabled flag
char_avail disable the char_avail() function
starting reset the "starting" variable, see below
nfa_fail makes the NFA regexp engine fail to force a
fallback to the old engine
no_query_mouse do not query the mouse position for "dec"
terminals
no_wait_return set the "no_wait_return" flag. Not restored
with "ALL".
ALL clear all overrides ({val} is not used)
"starting" is to be used when a test should behave like
startup was done. Since the tests are run by sourcing a
script the "starting" variable is non-zero. This is usually a
good thing (tests run faster), but sometimes changes behavior
in a way that the test doesn't work properly.
When using: >
call test_override('starting', 1)
< The value of "starting" is saved. It is restored by: >
call test_override('starting', 0)
< Can also be used as a |method|: >
GetOverrideVal()-> test_override('starting')
test_refcount({expr}) *test_refcount()*
Return the reference count of {expr}. When {expr} is of a
type that does not have a reference count, returns -1. Only
to be used for testing.
Can also be used as a |method|: >
GetVarname()->test_refcount()
test_scrollbar({which}, {value}, {dragging}) *test_scrollbar()*
Pretend using scrollbar {which} to move it to position
{value}. {which} can be:
left Left scrollbar of the current window
right Right scrollbar of the current window
hor Horizontal scrollbar
For the vertical scrollbars {value} can be 1 to the
line-count of the buffer. For the horizontal scrollbar the
{value} can be between 1 and the maximum line length, assuming
'wrap' is not set.
When {dragging} is non-zero it's like dragging the scrollbar,
otherwise it's like clicking in the scrollbar.
Only works when the {which} scrollbar actually exists,
obviously only when using the GUI.
Can also be used as a |method|: >
GetValue()->test_scrollbar('right', 0)
test_setmouse({row}, {col}) *test_setmouse()*
Set the mouse position to be used for the next mouse action.
{row} and {col} are one based.
For example: >
call test_setmouse(4, 20)
call feedkeys("\<LeftMouse>", "xt")
test_settime({expr}) *test_settime()*
Set the time Vim uses internally. Currently only used for
timestamps in the history, as they are used in viminfo, and
for undo.
Using a value of 1 makes Vim not sleep after a warning or
error message.
{expr} must evaluate to a number. When the value is zero the
normal behavior is restored.
Can also be used as a |method|: >
GetTime()->test_settime()
==============================================================================
3. Assert functions *assert-functions-details*
assert_beeps({cmd}) *assert_beeps()*
Run {cmd} and add an error message to |v:errors| if it does
NOT produce a beep or visual bell.
Also see |assert_fails()| and |assert-return|.
Can also be used as a |method|: >
GetCmd()->assert_beeps()
<
*assert_equal()*
assert_equal({expected}, {actual} [, {msg}])
When {expected} and {actual} are not equal an error message is
added to |v:errors| and 1 is returned. Otherwise zero is
returned |assert-return|.
There is no automatic conversion, the String "4" is different
from the Number 4. And the number 4 is different from the
Float 4.0. The value of 'ignorecase' is not used here, case
always matters.
When {msg} is omitted an error in the form "Expected
{expected} but got {actual}" is produced.
Example: >
assert_equal('foo', 'bar')
< Will result in a string to be added to |v:errors|:
test.vim line 12: Expected 'foo' but got 'bar' ~
Can also be used as a |method|: >
mylist->assert_equal([1, 2, 3])
< *assert_equalfile()*
assert_equalfile({fname-one}, {fname-two})
When the files {fname-one} and {fname-two} do not contain
exactly the same text an error message is added to |v:errors|.
Also see |assert-return|.
When {fname-one} or {fname-two} does not exist the error will
mention that.
Mainly useful with |terminal-diff|.
Can also be used as a |method|: >
GetLog()->assert_equalfile('expected.log')
assert_exception({error} [, {msg}]) *assert_exception()*
When v:exception does not contain the string {error} an error
message is added to |v:errors|. Also see |assert-return|.
This can be used to assert that a command throws an exception.
Using the error number, followed by a colon, avoids problems
with translations: >
try
commandthatfails
call assert_false(1, 'command should have failed')
catch
call assert_exception('E492:')
endtry
assert_fails({cmd} [, {error} [, {msg}]]) *assert_fails()*
Run {cmd} and add an error message to |v:errors| if it does
NOT produce an error. Also see |assert-return|.
When {error} is given it must match in |v:errmsg|.
Note that beeping is not considered an error, and some failing
commands only beep. Use |assert_beeps()| for those.
Can also be used as a |method|: >
GetCmd()->assert_fails('E99:')
assert_false({actual} [, {msg}]) *assert_false()*
When {actual} is not false an error message is added to
|v:errors|, like with |assert_equal()|.
Also see |assert-return|.
A value is false when it is zero. When {actual} is not a
number the assert fails.
When {msg} is omitted an error in the form
"Expected False but got {actual}" is produced.
Can also be used as a |method|: >
GetResult()->assert_false()
assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()*
This asserts number and |Float| values. When {actual} is lower
than {lower} or higher than {upper} an error message is added
to |v:errors|. Also see |assert-return|.
When {msg} is omitted an error in the form
"Expected range {lower} - {upper}, but got {actual}" is
produced.
*assert_match()*
assert_match({pattern}, {actual} [, {msg}])
When {pattern} does not match {actual} an error message is
added to |v:errors|. Also see |assert-return|.
{pattern} is used as with |=~|: The matching is always done
like 'magic' was set and 'cpoptions' is empty, no matter what
the actual value of 'magic' or 'cpoptions' is.
{actual} is used as a string, automatic conversion applies.
Use "^" and "$" to match with the start and end of the text.
Use both to match the whole text.
When {msg} is omitted an error in the form
"Pattern {pattern} does not match {actual}" is produced.
Example: >
assert_match('^f.*o$', 'foobar')
< Will result in a string to be added to |v:errors|:
test.vim line 12: Pattern '^f.*o$' does not match 'foobar' ~
Can also be used as a |method|: >
getFile()->assert_match('foo.*')
<
*assert_notequal()*
assert_notequal({expected}, {actual} [, {msg}])
The opposite of `assert_equal()`: add an error message to
|v:errors| when {expected} and {actual} are equal.
Also see |assert-return|.
Can also be used as a |method|: >
mylist->assert_notequal([1, 2, 3])
< *assert_notmatch()*
assert_notmatch({pattern}, {actual} [, {msg}])
The opposite of `assert_match()`: add an error message to
|v:errors| when {pattern} matches {actual}.
Also see |assert-return|.
Can also be used as a |method|: >
getFile()->assert_notmatch('bar.*')
assert_report({msg}) *assert_report()*
Report a test failure directly, using {msg}.
Always returns one.
Can also be used as a |method|: >
GetMessage()->assert_report()
assert_true({actual} [, {msg}]) *assert_true()*
When {actual} is not true an error message is added to
|v:errors|, like with |assert_equal()|.
Also see |assert-return|.
A value is TRUE when it is a non-zero number. When {actual}
is not a number the assert fails.
When {msg} is omitted an error in the form "Expected True but
got {actual}" is produced.
Can also be used as a |method|: >
GetResult()->assert_true()
<
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*textprop.txt* For Vim version 8.1. Last change: 2019 Jun 13
*textprop.txt* For Vim version 8.1. Last change: 2019 Sep 04
VIM REFERENCE MANUAL by Bram Moolenaar
@ -116,6 +116,221 @@ prop_list({lnum} [, {props}) text properties in {lnum}
prop_remove({props} [, {lnum} [, {lnum-end}]])
remove a text property
*prop_add()* *E965*
prop_add({lnum}, {col}, {props})
Attach a text property at position {lnum}, {col}. {col} is
counted in bytes, use one for the first column.
If {lnum} is invalid an error is given. *E966*
If {col} is invalid an error is given. *E964*
{props} is a dictionary with these fields:
length length of text in bytes, can only be used
for a property that does not continue in
another line; can be zero
end_lnum line number for the end of text
end_col column just after the text; not used when
"length" is present; when {col} and "end_col"
are equal, and "end_lnum" is omitted or equal
to {lnum}, this is a zero-width text property
bufnr buffer to add the property to; when omitted
the current buffer is used
id user defined ID for the property; when omitted
zero is used
type name of the text property type
All fields except "type" are optional.
It is an error when both "length" and "end_lnum" or "end_col"
are given. Either use "length" or "end_col" for a property
within one line, or use "end_lnum" and "end_col" for a
property that spans more than one line.
When neither "length" nor "end_col" are given the property
will be zero-width. That means it will not be highlighted but
will move with the text, as a kind of mark.
The property can end exactly at the last character of the
text, or just after it. In the last case, if text is appended
to the line, the text property size will increase, also when
the property type does not have "end_incl" set.
"type" will first be looked up in the buffer the property is
added to. When not found, the global property types are used.
If not found an error is given.
See |text-properties| for information about text properties.
Can also be used as a |method|: >
GetLnum()->prop_add(col, props)
prop_clear({lnum} [, {lnum-end} [, {props}]]) *prop_clear()*
Remove all text properties from line {lnum}.
When {lnum-end} is given, remove all text properties from line
{lnum} to {lnum-end} (inclusive).
When {props} contains a "bufnr" item use this buffer,
otherwise use the current buffer.
See |text-properties| for information about text properties.
Can also be used as a |method|: >
GetLnum()->prop_clear()
<
*prop_find()*
prop_find({props} [, {direction}])
{not implemented yet}
Search for a text property as specified with {props}:
id property with this ID
type property with this type name
bufnr buffer to search in; when present a
start position with "lnum" and "col"
must be given; when omitted the
current buffer is used
lnum start in this line (when omitted start
at the cursor)
col start at this column (when omitted
and "lnum" is given: use column 1,
otherwise start at the cursor)
skipstart do not look for a match at the start
position
{direction} can be "f" for forward and "b" for backward. When
omitted forward search is performed.
If a match is found then a Dict is returned with the entries
as with prop_list(), and additionally an "lnum" entry.
If no match is found then an empty Dict is returned.
See |text-properties| for information about text properties.
prop_list({lnum} [, {props}]) *prop_list()*
Return a List with all text properties in line {lnum}.
When {props} contains a "bufnr" item, use this buffer instead
of the current buffer.
The properties are ordered by starting column and priority.
Each property is a Dict with these entries:
col starting column
length length in bytes, one more if line break is
included
id property ID
type name of the property type, omitted if
the type was deleted
start when TRUE property starts in this line
end when TRUE property ends in this line
When "start" is zero the property started in a previous line,
the current one is a continuation.
When "end" is zero the property continues in the next line.
The line break after this line is included.
See |text-properties| for information about text properties.
Can also be used as a |method|: >
GetLnum()->prop_list()
<
*prop_remove()* *E968*
prop_remove({props} [, {lnum} [, {lnum-end}]])
Remove a matching text property from line {lnum}. When
{lnum-end} is given, remove matching text properties from line
{lnum} to {lnum-end} (inclusive).
When {lnum} is omitted remove matching text properties from
all lines.
{props} is a dictionary with these fields:
id remove text properties with this ID
type remove text properties with this type name
bufnr use this buffer instead of the current one
all when TRUE remove all matching text properties,
not just the first one
A property matches when either "id" or "type" matches.
If buffer "bufnr" does not exist you get an error message.
If buffer "bufnr" is not loaded then nothing happens.
Returns the number of properties that were removed.
See |text-properties| for information about text properties.
Can also be used as a |method|: >
GetProps()->prop_remove()
prop_type_add({name}, {props}) *prop_type_add()* *E969* *E970*
Add a text property type {name}. If a property type with this
name already exists an error is given. Nothing is returned.
{props} is a dictionary with these optional fields:
bufnr define the property only for this buffer; this
avoids name collisions and automatically
clears the property types when the buffer is
deleted.
highlight name of highlight group to use
priority when a character has multiple text
properties the one with the highest priority
will be used; negative values can be used, the
default priority is zero
combine when TRUE combine the highlight with any
syntax highlight; when omitted or FALSE syntax
highlight will not be used
start_incl when TRUE inserts at the start position will
be included in the text property
end_incl when TRUE inserts at the end position will be
included in the text property
See |text-properties| for information about text properties.
Can also be used as a |method|: >
GetPropName()->prop_type_add(props)
prop_type_change({name}, {props}) *prop_type_change()*
Change properties of an existing text property type. If a
property with this name does not exist an error is given.
The {props} argument is just like |prop_type_add()|.
See |text-properties| for information about text properties.
Can also be used as a |method|: >
GetPropName()->prop_type_change(props)
prop_type_delete({name} [, {props}]) *prop_type_delete()*
Remove the text property type {name}. When text properties
using the type {name} are still in place, they will not have
an effect and can no longer be removed by name.
{props} can contain a "bufnr" item. When it is given, delete
a property type from this buffer instead of from the global
property types.
When text property type {name} is not found there is no error.
See |text-properties| for information about text properties.
Can also be used as a |method|: >
GetPropName()->prop_type_delete()
prop_type_get([{name} [, {props}]) *prop_type_get()*
Returns the properties of property type {name}. This is a
dictionary with the same fields as was given to
prop_type_add().
When the property type {name} does not exist, an empty
dictionary is returned.
{props} can contain a "bufnr" item. When it is given, use
this buffer instead of the global property types.
See |text-properties| for information about text properties.
Can also be used as a |method|: >
GetPropName()->prop_type_get()
prop_type_list([{props}]) *prop_type_list()*
Returns a list with all property type names.
{props} can contain a "bufnr" item. When it is given, use
this buffer instead of the global property types.
See |text-properties| for information about text properties.
==============================================================================
3. When text changes *text-prop-changes*
@ -126,6 +341,11 @@ will move accordingly.
When text is deleted and a text property no longer includes any text, it is
deleted. However, a text property that was defined as zero-width will remain,
unless the whole line is deleted.
*E275*
When a buffer is unloaded, all the text properties are gone. There is no way
to store the properties in a file. You can only re-create them. When a
buffer is hidden the text is preserved and so are the text properties. It is
not possible to add text properties to an unloaded buffer.
When using replace mode, the text properties stay on the same character
positions, even though the characters themselves change.

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 8.1. Last change: 2019 Jul 04
*todo.txt* For Vim version 8.1. Last change: 2019 Sep 10
VIM REFERENCE MANUAL by Bram Moolenaar
@ -38,49 +38,24 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs*
-------------------- Known bugs and current work -----------------------
Ongoing work on text properties, see src/textprop.c
Popup windows are being implemented, see |popup-window|.
Patch to fix session file when using multiple tabs. (Jason Franklin, 2019 May
20)
Also put :argadd commands at the start for all buffers, so that their order
remains equal? Then %argdel to clean it up. Do try this with 'hidden' set.
Listener causes extra } to be inserted. (Paul Jolly, #4455)
Refactor: Move common things out of evalfunc.c, it's too big.
Template string: review #4491
Terminal test fails when vim is configured with some features. (Dominique,
#4597)
Split off part of option.c: #4918
Popup windows:
- Implement flip option
- Have a way to scroll to the bottom? (#4577)
- Why does 'nrformats' leak from the popup window buffer???
- Disable commands, feedkeys(), CTRL-W, etc. in a popup window.
Use ERROR_IF_POPUP_WINDOW for more commands.
- Add 'balloonpopup': instead of showing text, let the callback open a popup
window and return the window ID. The popup will then be closed when the
mouse moves, except when it moves inside the popup.
Happens in Test_simple_popup() at the second screendump.
- For the "moved" property also include mouse movement?
- Can the buffer be re-used if it was the last one, to avoid using up lots of
buffer numbers?
- Have an option to attach the popup to a text position, like text properties
do. (#4560)
- Make redrawing more efficient and avoid flicker:
- put popup menu also put in popup_mask?
- Invoke filter with character before mapping?
- put popup menu also in popup_mask?
- Any other commands to disable in a popup window?
Use ERROR_IF_POPUP_WINDOW for more commands.
- Figure out the size and position better.
if wrapping splits a double-wide character
if wrapping inserts indent
- When drawing on top half a double-wide character, display ">" or "<" in the
incomplete cell.
- Use a popup window for the "info" item of completion instead of using a
preview window. Ideas in issue #4544.
How to add highlighting?
Text properties: See comment at top of src/textprop.c.
'incsearch' with :s: (#3321)
- Get E20 when using command history to get "'<,'>s/a/b" and no Visual area
@ -150,12 +125,25 @@ Terminal emulator window:
- When 'encoding' is not utf-8, or the job is using another encoding, setup
conversions.
Error numbers available:
E278, E279, E290, E292, E362, E366, E450, E451, E452,
E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
E654, E856, E857, E860, E861, E863, E889, E900
Remove check for cmd_silent when calling search_stat()? (Gary Johnson)
undo result wrong: Masato Nishihata, #4798
Undo puts cursor in wrong line after "cG<Esc>" undo.
Sound: support on Mac? Or does libcanberra work there?
Patch to use forward slash for completion even when 'shellslash' is set.
Adds 'completepathslash'. (Yasuhiro Matsumoto, 2018 Nov 15, #3612)
Patch for #4733: #4734. Test needs improvements.
Patch to add win_splitmove() function. (Andy Massimino, #4561)
Patch to fix session file when using multiple tabs. (Jason Franklin, 2019 May
20)
Also put :argadd commands at the start for all buffers, so that their order
remains equal? Then %argdel to clean it up. Do try this with 'hidden' set.
Completion mixes results from the current buffer with tags and other files.
Happens when typing CTRL-N while still search for results. E.g., type "b_" in
@ -169,21 +157,43 @@ Ready to include now?
Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
(#4087)
Patch to the code to get sign information. (Yegappan Lakshmanan, #4586)
":bnext" in a help buffer is supposed to go to the next help buffer, but it
goes to any buffer, and then :bnext skips help buffers, since they are
unlisted. (#4478)
Problem with German spell file. Hint for solution by Klaus-Peter Schreiner in
#4314, solves the Rasenmäher problem.
Patch to fix using zero sc_sid. (#4877)
Make 'showbreak' global-local.
The :syntax cchar value can only be a single character. It would be useful to
support combining characters. (Charles Campbell) Also #4687
Problem showing a line if the number column width changes when using "o".
(Mateusz Morusiewicz, #4245)
When using :packadd for a replacement language plugin, it is loaded after the
default one. #4698
Patch from Namsh to allow building with both XIM and hangulin. (2019 Aug 29)
When using :packadd files under "later" are not used, which is inconsistent
with packages under "start". (xtal8, #1994)
Modeless selection doesn't work in gvim. (#4783)
Caused by patch 8.1.1534.
Patch to add random number generator. (Hong Xu, 2010 Nov 8, update Nov 10)
Alternative from Christian Brabandt. (2010 Sep 19)
New one from Yasuhiro Matsumoto, #1277.
Visual highlight not removed when 'dipslay' is "lastline" and line doesn't
fit. (Kevin Lawler, #4457)
Patch to add interrupt(). (Yasuhiro Matsumoto, #2834)
Patch to add per-tabpage and per-window previous directory: "lcd -" and "tcd
-". (Yegappan Lakshmanan, #4362)
Does not build with MinGW out of the box:
- _stat64 is not defined, need to use "struct stat" in vim.h
- WINVER conflict, should use 0x0600 by default?
@ -191,7 +201,12 @@ Does not build with MinGW out of the box:
Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
13, #2910) Can't reproduce?
Columns and Rows are long, they should be int.
Check_external_diff() is used too often. (Daniel Hahler, #4800)
Incorrect formatting with autoindent. (Sebastian Gniazdowski, #4909)
Patch to sort buffers on b_last_used time. (Andy Massimino, #4722)
Needs a test.
Errors found with random data:
heap-buffer-overflow in alist_add (#2472)
@ -205,9 +220,17 @@ it's in a mapping. (2018 Oct 6, #2302, #3522)
Patch for Inno Setup: #2739
Would be nice to set tab-local values for 'diffexpr' and 'diffopt'. Use
t:diffexpr_option t:diffopt_option? (#4782)
Internal diff doesn't handle binary file like external diff does. (Mike
Williams, 2018 Oct 30)
'[ mark in wrong column after put. (#4776)
"exepath('bin/cmd')" does not work while ":!bin/cmd" does work.
(Daniel Hahler, #4710) and executable('bin/cmd') returns 1
Problem with :tlmenu: Detach item added with all modes? Issue #3563.
The quoting of the [command] argument of :terminal is not clearly documented.
@ -225,11 +248,40 @@ be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)
Patch for ambiguous width characters in libvterm on MS-Windows 10.
(Nobuhiro Takasaki, #4411)
Window size changes after closing a tab. (#4741)
Problem with colors in terminal window. (Jason Franklin, 2019 May 12)
Lifepillar: Updated/cleaned up color schemes:
https://github.com/lifepillar/vim8-colorschemes.
Include a few color schemes, based on popularity:
http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
http://vimawesome.com/?q=tag:color-scheme
Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
- monokai - Xia Crusoe (2017 Aug 4)
- seoul256 - Christian Brabandt (2017 Aug 3)
- gruvbox - Christian Brabandt (2017 Aug 3) (simplified version from
Lifepillar, 2018 Jan 22, #2573)
- janah - Marco Hinz (2017 Aug 4)
- apprentice - Romain Lafourcade (2017 Aug 6) remarks about help file #1964
Suggested by Hiroki Kokubun:
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
- [hybrid](https://github.com/w0ng/vim-hybrid)
Include solarized color scheme?, it does not support termguicolors.
- Sanitized version of pablo (Lifepillar, 2017 Nov 21)
Bug: "vipgw" does not put cursor back where it belongs. (Jason Franklin, 2019
Mar 5)
Many users don't like 'thesaurus' to match so many words. (#4667, #1611)
- when the match with the first word is partial, don't add other words on that
line.
- support other file formats, such as comma separated. Indicate by a prefix
to the file in the 'thesaurus' option.
- 'threglookexp' option: only match with first word in thesaurus file.
(Jakson A. Aquino, 2006 Jun 14)
Some composing characters actually add a cell width to the character they are
on top off, making the whole thing two characters wide. (#4526)
@ -264,6 +316,9 @@ Support setting the character displayed below the last line? Neovim uses
Check: __attribute__((format(printf, on semsg() and siemsg(). Where was this
added?
Patch to add a flatten() function. #3676. Check that the doc explains the
maxdepth argument (applies to the input "recursiveness").
Add test for urxvt mouse codes. Also test that mouse coordinates can be
negative. (see #4326)
@ -309,6 +364,10 @@ nvo-mode mapping works on Windows, not on Linux. (#3678)
Missing tests for:
- add_termcap_entry()
Redo only remembers the last change. Could use "{count}g." to redo an older
change. How does the user know which change? At least have a way to list
them: ":repeats". Add to history, like search history and command line history.
When using exclusive selection and vi" that fails, cursor moves to the left.
Cursor should not move. (#4024)
@ -422,9 +481,6 @@ Patch to implement 'diffref' option. (#3535)
Patch to specify color for cterm=underline and cterm=undercurl, like "guisp".
Patch #2405 does something like this, but in the wrong way.
:pedit resets the 'buflisted' option unexpectedly. (Wang Shidong, 2018 Oct 12,
#3536)
home_replace() uses $HOME instead of "homedir". (Cesar Martins, 2018 Aug 9)
When the status line uses term_gettitle(), it does not get updated when the
@ -471,12 +527,16 @@ MS-Windows: .lnk file not resolved properly when 'encoding' is set.
Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
Display error when a conceal match uses '\%>1l'. (#4854)
Request to add sign_setlist() to make it faster to add a lot of signs, e.g.
when adding a sign for every quickfix entry. (#4557)
Win32 key codes are messy. Mike Williams tried to fix that, but now old
mappings no longer work. Create a new terminal for the better solution?
Patch to "fix" 'visualbell'. Add option to set delay? (#1789)
Script generated by :mksession does not work well if there are windows with
modified buffers
change "silent only" into "silent only!"
@ -579,9 +639,6 @@ With 'foldmethod' "indent" and appending an empty line, what follows isn't
included in the existing fold. Deleting the empty line and undo fixes it.
(Oleg Koshovetc, 2018 Jul 15, #3214)
When using :packadd files under "later" are not used, which is inconsistent
with packages under "start". (xtal8, #1994)
Patch to support "xxd -ps". (Erik Auerswald, 2018 May 1)
Lacks a test.
@ -590,6 +647,9 @@ Jan 15, #2555)
":bufdo e" disabled syntax HL in windows other than the current. (BPJ)
Patch for Template string: #4491. New pull: #4634
It's an awful lot of code for something that is just a bit nicer syntax.
Check argument of systemlist(). (Pavlov)
No maintainer for Vietnamese translations.
@ -760,18 +820,6 @@ behavior. Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
'tagrelative' is broken in specific situation. (xaizek, 2017 Oct 19, #2221)
All functions are global, which makes functions like get() and len() awkward.
For the future use the ~get() and ~len() syntax, e.g.:
mylist~get(idx)
mydict~get(idx)
mystring~len()
Alternatives for ~:
^ list^get() could also be used
. list.get() already means concatenate
$ list$get() harder to read
@ list@get() harder to read
-> list->get() two characters, used for lambda
The ++ options for the :edit command are also useful on the Vim command line.
When recovering a file, put the swap file name in b:recovered_swapfile. Then
@ -791,22 +839,6 @@ Seems to happen when the selection is requested the second time, but before
clip_x11_convert_selection_cb() is invoked, thus in X library code.
Kazunobu Kuriyama is working on a proper fix. (2017 Jul 25)
Include a few color schemes, based on popularity:
http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
http://vimawesome.com/?q=tag:color-scheme
Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
- monokai - Xia Crusoe (2017 Aug 4)
- seoul256 - Christian Brabandt (2017 Aug 3)
- gruvbox - Christian Brabandt (2017 Aug 3) (simplified version from
Lifepillar, 2018 Jan 22, #2573)
- janah - Marco Hinz (2017 Aug 4)
- apprentice - Romain Lafourcade (2017 Aug 6) remarks about help file #1964
Suggested by Hiroki Kokubun:
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
- [hybrid](https://github.com/w0ng/vim-hybrid)
Include solarized color scheme?, it does not support termguicolors.
- Sanitized version of pablo (Lifepillar, 2017 Nov 21)
Problem with three-piece comment. (Michael Lee, 2017 May 11, #1696)
Creating a partial with an autoload function is confused about the "self"
@ -968,10 +1000,6 @@ somewhere else. :{range}copy {dest} !cmd
Patch to fix that empty first tab is not in session.
(Hirohito Higashi, 2016 Nov 25, #1282)
Patch to add random number generator. (Hong Xu, 2010 Nov 8, update Nov 10)
Alternative from Christian Brabandt. (2010 Sep 19)
New one from Yasuhiro Matsumoto, #1277.
Patch to fix escaping of job arguments. (Yasuhiro Matsumoto, 2016 Oct 5)
Update Oct 14: https://gist.github.com/mattn/d47e7d3bfe5ade4be86062b565a4bfca
Update Aug 2017: #1954
@ -1050,6 +1078,7 @@ sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
4#1038)
+channel:
- Add a in_cb, invoked when the write buffer has become empty. (Matteo Landi)
- Add a separate timeout for opening a socket. Currently it's fixed at 50
msec, which is too small for a remote connection. (tverniquet, #2130)
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
@ -1521,10 +1550,6 @@ Patch for building a 32bit Vim with 64bit MingW compiler.
Patch: On MS-Windows shellescape() may have to triple double quotes.
(Ingo Karkat, 2015 Jan 16)
Redo only remembers the last change. Could use "{count}g." to redo an older
change. How does the user know which change? At least have a way to list
them: ":repeats".
Patch for glob(), adding slash to normal files. (Ingo Karkat, 2014 Dec 22)
When entering and leaving the preview window autocommands are triggered, but
@ -1869,9 +1894,6 @@ Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
21, Ben Fritz, 2010 Sep 14)
The :syntax cchar value can only be a single character. It would be useful to
support combining characters. (Charles Campbell)
'cursorline' works on a text line only. Add 'cursorscreenline' for
highlighting the screen line. (Christian Brabandt, 2012 Mar 31)
@ -3013,8 +3035,6 @@ More patches:
- Add 'cscopeignorecase' option. (Liang Wenzhi, 2006 Sept 3)
- Extra argument to strtrans() to translate special keys to their name (Eric
Arnold, 2006 May 22)
- 'threglookexp' option: only match with first word in thesaurus file.
(Jakson A. Aquino, 2006 Jun 14)
- Mac: indicate whether a buffer was modified. (Nicolas Weber, 2006 Jun 30)
- Allow negative 'nrwidth' for left aligning. (Nathan Laredo, 2006 Aug 16)
- ml_append_string(): efficiently append to an existing line. (Brad
@ -4359,8 +4379,6 @@ Vim script language:
to avoid a performance penalty (esp. for string options)?
8 Add referring to key options with "&t_xx". Both for "echo &t_xx" and
":let &t_xx =". Useful for making portable mappings.
- Add ":let var ?= value", conditional assignment. Patch by Dave Eggum,
2006 Dec 11.
- range for ":exec", pass it on to the executed command. (Webb)
8 ":{range}source": source the lines from the current file.
You can already yank lines and use :@" to execute them.

View File

@ -1,4 +1,4 @@
*usr_27.txt* For Vim version 8.1. Last change: 2018 Jan 26
*usr_27.txt* For Vim version 8.1. Last change: 2019 Jul 14
VIM USER MANUAL - by Bram Moolenaar
@ -474,19 +474,19 @@ the line break happens, because all items mentioned so far don't match a line
break.
To check for a line break in a specific place, use the "\n" item: >
/the\nword
/one\ntwo
This will match at a line that ends in "the" and the next line starts with
"word". To match "the word" as well, you need to match a space or a line
This will match at a line that ends in "one" and the next line starts with
"two". To match "one two" as well, you need to match a space or a line
break. The item to use for it is "\_s": >
/the\_sword
/one\_stwo
To allow any amount of white space: >
/the\_s\+word
/one\_s\+two
This also matches when "the " is at the end of a line and " word" at the
This also matches when "one " is at the end of a line and " two" at the
start of the next one.
"\s" matches white space, "\_s" matches white space or a line break.

View File

@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 8.1. Last change: 2019 Jul 04
*usr_41.txt* For Vim version 8.1. Last change: 2019 Jul 06
VIM USER MANUAL - by Bram Moolenaar
@ -720,6 +720,7 @@ Cursor and mark position: *cursor-functions* *mark-functions*
cursor() position the cursor at a line/column
screencol() get screen column of the cursor
screenrow() get screen row of the cursor
screenpos() screen row and col of a text character
getcurpos() get position of the cursor
getpos() get position of cursor, mark, etc.
setpos() set position of cursor, mark, etc.
@ -1014,8 +1015,10 @@ Signs: *sign-functions*
sign_getplaced() get a list of placed signs
sign_jump() jump to a sign
sign_place() place a sign
sign_placelist() place a list of signs
sign_undefine() undefine a sign
sign_unplace() unplace a sign
sign_unplacelist() unplace a list of signs
Terminal window: *terminal-functions*
term_start() open a terminal window and run a job
@ -1046,6 +1049,8 @@ Popup window: *popup-window-functions*
popup_create() create popup centered in the screen
popup_atcursor() create popup just above the cursor position,
closes when the cursor moves away
popup_beval() at the position indicated by v:beval_
variables, closes when the mouse moves away
popup_notification() show a notification for three seconds
popup_dialog() create popup centered with padding and border
popup_menu() prompt for selecting an item from a list

View File

@ -1,4 +1,4 @@
*various.txt* For Vim version 8.1. Last change: 2019 Jun 10
*various.txt* For Vim version 8.1. Last change: 2019 Sep 04
VIM REFERENCE MANUAL by Bram Moolenaar
@ -332,8 +332,9 @@ N *+byte_offset* support for 'o' flag in 'statusline' option, "go"
m *+channel* inter process communication |channel|
N *+cindent* |'cindent'|, C indenting
N *+clientserver* Unix and Win32: Remote invocation |clientserver|
*+clipboard* |clipboard| support
N *+cmdline_compl* command line completion |cmdline-completion|
*+clipboard* |clipboard| support compiled-in
*+clipboard_working* |clipboard| support compiled-in and working
T *+cmdline_compl* command line completion |cmdline-completion|
S *+cmdline_hist* command line history |cmdline-history|
N *+cmdline_info* |'showcmd'| and |'ruler'|
N *+comments* |'comments'| support
@ -371,7 +372,7 @@ N *+gettext* message translations |multi-lang|
m *+hangul_input* Hangul input support |hangul|
*+iconv* Compiled with the |iconv()| function
*+iconv/dyn* Likewise |iconv-dynamic| |/dyn|
N *+insert_expand* |insert_expand| Insert mode completion
T *+insert_expand* |insert_expand| Insert mode completion
m *+job* starting and stopping jobs |job|
S *+jumplist* |jumplist|
B *+keymap* |'keymap'|
@ -382,12 +383,12 @@ N *+linebreak* |'linebreak'|, |'breakat'| and |'showbreak'|
N *+lispindent* |'lisp'|
T *+listcmds* Vim commands for the list of buffers |buffer-hidden|
and argument list |:argdelete|
N *+localmap* Support for mappings local to a buffer |:map-local|
T *+localmap* Support for mappings local to a buffer |:map-local|
m *+lua* |Lua| interface
m *+lua/dyn* |Lua| interface |/dyn|
N *+menu* |:menu|
N *+mksession* |:mksession|
N *+modify_fname* |filename-modifiers|
T *+modify_fname* |filename-modifiers|
N *+mouse* Mouse handling |mouse-using|
N *+mouseshape* |'mouseshape'|
B *+mouse_dec* Unix only: Dec terminal mouse handling |dec-mouse|
@ -457,7 +458,6 @@ B *+vartabs* Variable-width tabstops. |'vartabstop'|
N *+viminfo* |'viminfo'|
*+vertsplit* Vertically split windows |:vsplit|; Always enabled
since 8.0.1118.
in sync with the |+windows| feature
N *+virtualedit* |'virtualedit'|
T *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
T *+visualextra* extra Visual mode commands |blockwise-operators|

View File

@ -7625,8 +7625,8 @@ Problem: Still using __ARGS.
Solution: Remove __ARGS in several files. (script by Hirohito Higashi)
Files: src/ex_eval.c, src/ex_getln.c, src/farsi.c, src/fileio.c,
src/fold.c, src/getchar.c, src/gui.c, src/gui_at_fs.c,
gui_at_sb.c, src/gui_athena.c, src/gui_beval.c, src/gui_motif.c,
src/gui_w32.c, src/gui_w48.c
src/gui_at_sb.c, src/gui_athena.c, src/gui_beval.c,
src/gui_motif.c, src/gui_w32.c, src/gui_w48.c
Patch 7.4.1198
Problem: Still using __ARGS.
@ -8045,7 +8045,7 @@ Patch 7.4.1264
Problem: Crash when receiving an empty array.
Solution: Check for array with wrong number of arguments. (Damien)
Files: src/channel.c, src/eval.c, src/testdir/test_channel.py,
src/testdir.test_channel.vim
src/testdir/test_channel.vim
Patch 7.4.1265
Problem: Not all channel commands are tested.
@ -8454,8 +8454,8 @@ Files: src/os_win32.c
Patch 7.4.1336
Problem: Channel NL mode is not supported yet.
Solution: Add NL mode support to channels.
Files: src/channel.c, src/netbeans.c, src/structs.h, src/os_unix.d,
src/os_win32.c, src/proto/channel.pro, src/proto/os_unix.pro,
Files: src/channel.c, src/netbeans.c, src/structs.h, src/os_win32.c,
src/proto/channel.pro, src/proto/os_unix.pro,
src/proto/os_win32.pro, src/testdir/test_channel.vim,
src/testdir/test_channel_pipe.py
@ -13904,7 +13904,7 @@ Problem: Using 'hlsearch' highlighting instead of matchpos if there is no
search match.
Solution: Pass NULL as last item to next_search_hl() when searching for
'hlsearch' match. (Shane Harper, closes #1013)
Files: src/screen.c, src/testdir/test_match.vim.
Files: src/screen.c, src/testdir/test_match.vim
Patch 7.4.2270
Problem: Insufficient testing for NUL bytes on a raw channel.
@ -18306,13 +18306,13 @@ Patch 8.0.0610
Problem: The screen is redrawn when t_BG is set and used to detect the
value for 'background'.
Solution: Don't redraw when the value of 'background' didn't change.
Files: src/term.c.
Files: src/term.c
Patch 8.0.0611
Problem: When t_u7 is sent a few characters in the second screen line are
overwritten and not redrawn later. (Rastislav Barlik)
Solution: Move redrawing the screen to after overwriting the characters.
Files: src/main.c, src/term.c.
Files: src/main.c, src/term.c
Patch 8.0.0612
Problem: Package directories are added to 'runtimepath' only after loading
@ -27638,7 +27638,7 @@ Files: src/terminal.c, src/testdir/dumps/Test_syntax_c_01.dump
Patch 8.1.0327
Problem: The "g CTRL-G" command isn't tested much.
Solution: Add more tests. (Dominique Pelle, closes #3369)
Files: src/testdir/test_normal.c
Files: src/testdir/test_normal.vim
Patch 8.1.0328
Problem: inputlist() doesn't work with a timer. (Dominique Pelle)
@ -29424,7 +29424,7 @@ Patch 8.1.0629
Problem: "gn" selects the wrong text with a multi-line match.
Solution: Get the end position from searchit() directly. (closes #3695)
Files: src/testdir/test_gn.vim, src/search.c, src/proto/search.pro,
src/edit.c, src/evalfunc.c, src/ex_docmd.c, ex_getln.c,
src/edit.c, src/evalfunc.c, src/ex_docmd.c, src/ex_getln.c,
src/normal.c
Patch 8.1.0630
@ -30859,7 +30859,7 @@ Patch 8.1.0849
Problem: Cursorline highlight is not always updated.
Solution: Set w_last_cursorline when redrawing. Fix resetting cursor flags
when using the popup menu.
Files: src/screen.c, src/popupmenu.c, src/testdir/test_highlight.vim,
Files: src/screen.c, src/popupmnu.c, src/testdir/test_highlight.vim,
src/testdir/dumps/Test_cursorline_yank_01.dump
Patch 8.1.0850
@ -33447,7 +33447,7 @@ Patch 8.1.1276
Problem: Cannot combine text properties with syntax highlighting.
Solution: Add the "combine" field to prop_type_add(). (closes #4343)
Files: runtime/doc/eval.txt, runtime/doc/textprop.txt, src/screen.c,
src/testprop.c, src/structs.h, src/testdir/test_textprop.vim
src/structs.h, src/testdir/test_textprop.vim
Patch 8.1.1277 (after 8.1.1276)
Problem: Missing screenshot update.

View File

@ -266,7 +266,7 @@ Otherwise an error message is given and
aborts.
.TP
\-i {viminfo}
When using the viminfo file is enabled, this option sets the filename to use,
Specifies the filename to use when reading or writing the viminfo file,
instead of the default "~/.viminfo".
This can also be used to skip the use of the .viminfo file, by giving the name
"NONE".
@ -289,7 +289,7 @@ so that changes are not allowed and files can not be written. Note that these
options can be set to enable making modifications.
.TP
\-N
No-compatible mode. Reset the 'compatible' option.
No-compatible mode. Resets the 'compatible' option.
This will make
.B Vim
behave a bit better, but less Vi compatible, even though a .vimrc file does

View File

@ -62,10 +62,10 @@ DESCRIPTION
-q [errorfile]
Start in quickFix mode. The file [errorfile] is read and
the first error is displayed. If [errorfile] is omitted,
the filename is obtained from the 'errorfile' option
(defaults to "AztecC.Err" for the Amiga, "errors.err" on
other systems). Further errors can be jumped to with the
":cn" command. See ":help quickfix".
the filename is obtained from the 'errorfile' option (de
faults to "AztecC.Err" for the Amiga, "errors.err" on other
systems). Further errors can be jumped to with the ":cn"
command. See ":help quickfix".
Vim behaves differently, depending on the name of the command (the exe
cutable may still be the same file).
@ -92,8 +92,8 @@ DESCRIPTION
done with the "-Z" argument.
OPTIONS
The options may be given in any order, before or after filenames.
Options without an argument can be combined after a single dash.
The options may be given in any order, before or after filenames. Op
tions without an argument can be combined after a single dash.
+[num] For the first file the cursor will be positioned on line
"num". If "num" is missing, the cursor will be positioned
@ -132,8 +132,8 @@ OPTIONS
sible to edit a binary or executable file.
-C Compatible. Set the 'compatible' option. This will make
Vim behave mostly like Vi, even though a .vimrc file
exists.
Vim behave mostly like Vi, even though a .vimrc file ex
ists.
-d Start in diff mode. There should be two, three or four
file name arguments. Vim will open all the files and show
@ -151,15 +151,15 @@ OPTIONS
-E Start Vim in improved Ex mode, just like the executable was
called "exim".
-f Foreground. For the GUI version, Vim will not fork and
detach from the shell it was started in. On the Amiga, Vim
-f Foreground. For the GUI version, Vim will not fork and de
tach from the shell it was started in. On the Amiga, Vim
is not restarted to open a new window. This option should
be used when Vim is executed by a program that will wait
for the edit session to finish (e.g. mail). On the Amiga
the ":sh" and ":!" commands will not work.
--nofork Foreground. For the GUI version, Vim will not fork and
detach from the shell it was started in.
--nofork Foreground. For the GUI version, Vim will not fork and de
tach from the shell it was started in.
-F If Vim has been compiled with FKMAP support for editing
right-to-left oriented files and Farsi keyboard mapping,
@ -167,12 +167,12 @@ OPTIONS
'rightleft' are set. Otherwise an error message is given
and Vim aborts.
-g If Vim has been compiled with GUI support, this option
enables the GUI. If no GUI support was compiled in, an
error message is given and Vim aborts.
-g If Vim has been compiled with GUI support, this option en
ables the GUI. If no GUI support was compiled in, an error
message is given and Vim aborts.
-h Give a bit of help about the command line arguments and
options. After this Vim exits.
-h Give a bit of help about the command line arguments and op
tions. After this Vim exits.
-H If Vim has been compiled with RIGHTLEFT support for editing
right-to-left oriented files and Hebrew keyboard mapping,
@ -181,10 +181,10 @@ OPTIONS
and Vim aborts.
-i {viminfo}
When using the viminfo file is enabled, this option sets
the filename to use, instead of the default "~/.viminfo".
This can also be used to skip the use of the .viminfo file,
by giving the name "NONE".
Specifies the filename to use when reading or writing the
viminfo file, instead of the default "~/.viminfo". This
can also be used to skip the use of the .viminfo file, by
giving the name "NONE".
-L Same as -r.
@ -199,7 +199,7 @@ OPTIONS
files can not be written. Note that these options can be
set to enable making modifications.
-N No-compatible mode. Reset the 'compatible' option. This
-N No-compatible mode. Resets the 'compatible' option. This
will make Vim behave a bit better, but less Vi compatible,
even though a .vimrc file does not exist.
@ -208,8 +208,8 @@ OPTIONS
slow medium (e.g. floppy). Can also be done with ":set
uc=0". Can be undone with ":set uc=200".
-nb Become an editor server for NetBeans. See the docs for
details.
-nb Become an editor server for NetBeans. See the docs for de
tails.
-o[N] Open N windows stacked. When N is omitted, open one window
for each file.
@ -228,8 +228,8 @@ OPTIONS
above). The 'readonly' option can be reset with ":set
noro". See ":help 'readonly'".
-r List swap files, with information about using them for
recovery.
-r List swap files, with information about using them for re
covery.
-r {file} Recovery mode. The swap file is used to recover a crashed
editing session. The swap file is a file with the same
@ -247,8 +247,8 @@ OPTIONS
characters are read from the keyboard.
-T {terminal}
Tells Vim the name of the terminal you are using. Only
required when the automatic way doesn't work. Should be a
Tells Vim the name of the terminal you are using. Only re
quired when the automatic way doesn't work. Should be a
terminal known to Vim (builtin) or defined in the termcap
or terminfo file.
@ -342,8 +342,8 @@ OPTIONS
the server to connect to.
--socketid {id}
GTK GUI only: Use the GtkPlug mechanism to run gvim in
another window.
GTK GUI only: Use the GtkPlug mechanism to run gvim in an
other window.
--version Print version information and exit.

View File

@ -1,4 +1,4 @@
*windows.txt* For Vim version 8.1. Last change: 2019 Jun 02
*windows.txt* For Vim version 8.1. Last change: 2019 Aug 18
VIM REFERENCE MANUAL by Bram Moolenaar
@ -28,8 +28,6 @@ The basics are explained in chapter 7 and 8 of the user manual |usr_07.txt|
{not able to use multiple windows when the |+windows| feature was disabled at
compile time}
{not able to use vertically split windows when the |+vertsplit| feature was
disabled at compile time}
==============================================================================
1. Introduction *windows-intro* *window*
@ -162,6 +160,10 @@ CTRL-W CTRL-S *CTRL-W_CTRL-S*
Note: CTRL-S does not work on all terminals and might block
further input, use CTRL-Q to get going again.
Also see |++opt| and |+cmd|.
*E242*
Be careful when splitting a window in an autocommand, it may
mess up the window layout if this happens while making other
window layout changes.
CTRL-W CTRL-V *CTRL-W_CTRL-V*
CTRL-W v *CTRL-W_v*
@ -507,7 +509,6 @@ CTRL-W H Move the current window to be at the far left, using the
current window and then creating another one with
":vert topleft split", except that the current window contents
is used for the new window.
{not available when compiled without the |+vertsplit| feature}
*CTRL-W_L*
CTRL-W L Move the current window to be at the far right, using the full
@ -515,7 +516,6 @@ CTRL-W L Move the current window to be at the far right, using the full
current window and then creating another one with
":vert botright split", except that the current window
contents is used for the new window.
{not available when compiled without the |+vertsplit| feature}
*CTRL-W_T*
CTRL-W T Move the current window to a new tab page. This fails if
@ -667,6 +667,8 @@ can also get to them with the buffer list commands, like ":bnext".
|:vertical| was prepended).
Buf/Win Enter/Leave autocommands are not executed for the new
windows here, that's only done when they are really entered.
If autocommands change the window layout while this command is
busy an error will be given. *E249*
:[N]sa[rgument][!] [++opt] [+cmd] [N] *:sa* *:sargument*
Short for ":split | argument [N]": split window and go to Nth
@ -864,6 +866,24 @@ height of the preview window when it's opened. The 'previewwindow' option is
set in the preview window to be able to recognize it. The 'winfixheight'
option is set to have it keep the same height when opening/closing other
windows.
*preview-popup*
Alternatively, a popup window can be used by setting the 'previewpopup'
option. When set, it overrules the 'previewwindow' and 'previewheight'
settings. The option is a comma separated list of values:
height maximum height of the popup
width maximum width of the popup
highlight highlight group of the popup (default is Pmenu)
Example: >
:set previewpopup=height:10,width:60
A few peculiarities:
- If the file is in a buffer already, it will be re-used. This will allow for
editing the file while it's visible in the popup window.
- No ATTENTION dialog will be used, since you can't edit the file in the popup
window. However, if you later open the same buffer in a normal window, you
may not notice it's edited elsewhere. And when then using ":edit" to
trigger the ATTENTION and responding "A" for Abort, the preview window will
become empty.
*:pta* *:ptag*
:pta[g][!] [tagname]

View File

@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 May 06
" Last Change: 2019 Aug 26
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@ -701,6 +701,9 @@ au BufNewFile,BufRead *.vc,*.ev,*.sum,*.errsum setf hercules
" HEX (Intel)
au BufNewFile,BufRead *.hex,*.h32 setf hex
" Hollywood
au BufRead,BufNewFile *.hws setf hollywood
" Tilde (must be before HTML)
au BufNewFile,BufRead *.t.html setf tilde
@ -795,7 +798,10 @@ au BufNewFile,BufRead *.java,*.jav setf java
au BufNewFile,BufRead *.jj,*.jjt setf javacc
" JavaScript, ECMAScript
au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx,*.mjs setf javascript
au BufNewFile,BufRead *.js,*.javascript,*.es,*.mjs setf javascript
" JavaScript with React
au BufNewFile,BufRead *.jsx setf javascriptreact
" Java Server Pages
au BufNewFile,BufRead *.jsp setf jsp
@ -1706,6 +1712,9 @@ au BufNewFile,BufReadPost *.twig setf twig
" Typescript
au BufNewFile,BufReadPost *.ts setf typescript
" TypeScript with React
au BufNewFile,BufRead *.tsx setf typescriptreact
" Motif UIT/UIL files
au BufNewFile,BufRead *.uit,*.uil setf uil
@ -1776,12 +1785,15 @@ au BufNewFile,BufRead *.wrl setf vrml
" Vroom (vim testing and executable documentation)
au BufNewFile,BufRead *.vroom setf vroom
" Webmacro
au BufNewFile,BufRead *.wm setf webmacro
" Vue.js Single File Component
au BufNewFile,BufRead *.vue setf vue
" WebAssembly
au BufNewFile,BufRead *.wast,*.wat setf wast
" Webmacro
au BufNewFile,BufRead *.wm setf webmacro
" Wget config
au BufNewFile,BufRead .wgetrc,wgetrc setf wget

View File

@ -0,0 +1,2 @@
" Placeholder for backwards compatilibity: .jsx used to stand for JavaScript.
runtime! ftplugin/javascript.vim

View File

@ -1,7 +1,8 @@
" Vim filetype plugin file
" Language: man
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2019 Jan 22
" Last Change: 2019 Jul 22
" (fix by Jason Franklin)
" To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file.
@ -143,6 +144,8 @@ func <SID>GetPage(cmdmods, ...)
exec "let s:man_tag_col_".s:man_tag_depth." = ".col(".")
let s:man_tag_depth = s:man_tag_depth + 1
let open_cmd = 'edit'
" Use an existing "man" window if it exists, otherwise open a new one.
if &filetype != "man"
let thiswin = winnr()
@ -161,28 +164,25 @@ func <SID>GetPage(cmdmods, ...)
endif
if &filetype != "man"
if exists("g:ft_man_open_mode")
if g:ft_man_open_mode == "vert"
vnew
elseif g:ft_man_open_mode == "tab"
tabnew
if g:ft_man_open_mode == 'vert'
let open_cmd = 'vsplit'
elseif g:ft_man_open_mode == 'tab'
let open_cmd = 'tabedit'
else
new
let open_cmd = 'split'
endif
else
if a:cmdmods != ''
exe a:cmdmods . ' new'
else
new
endif
let open_cmd = a:cmdmods . ' split'
endif
setl nonu fdc=0
endif
endif
silent exec "edit $HOME/".page.".".sect."~"
silent execute open_cmd . " $HOME/" . page . '.' . sect . '~'
" Avoid warning for editing the dummy file twice
setl buftype=nofile noswapfile
setl ma nonu nornu nofen
setl fdc=0 ma nofen nonu nornu
silent exec "norm! 1GdG"
let unsetwidth = 0
if empty($MANWIDTH)

View File

@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: Vim's quickfix window
" Maintainer: Lech Lorens <Lech.Lorens@gmail.com>
" Last Changed: 30 Apr 2012
" Last Change: 2019 Jul 15
if exists("b:did_ftplugin")
finish
@ -10,7 +10,9 @@ endif
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
let b:undo_ftplugin = "set stl<"
if !get(g:, 'qf_disable_statusline')
let b:undo_ftplugin = "set stl<"
" Display the command that produced the list in the quickfix window:
setlocal stl=%t%{exists('w:quickfix_title')?\ '\ '.w:quickfix_title\ :\ ''}\ %=%-15(%l,%c%V%)\ %P
" Display the command that produced the list in the quickfix window:
setlocal stl=%t%{exists('w:quickfix_title')?\ '\ '.w:quickfix_title\ :\ ''}\ %=%-15(%l,%c%V%)\ %P
endif

View File

@ -20,6 +20,7 @@ Comment=Edit text files
GenericName[da]=Teksteditor
GenericName[fr]=Éditeur de texte
GenericName[pl]=Edytor tekstu
GenericName[sr]=Едитор текста
GenericName[is]=Ritvinnsluforrit
Comment[af]=Redigeer tekslêers
Comment[am]=የጽሑፍ ፋይሎች ያስተካክሉ

View File

@ -0,0 +1,2 @@
" Placeholder for backwards compatilibity: .jsx used to stand for JavaScript.
runtime! indent/javascript.vim

View File

@ -1,10 +1,10 @@
" Vim indent file
" Language: PHP
" Author: John Wellesz <John.wellesz (AT) teaser (DOT) fr>
" URL: http://www.2072productions.com/vim/indent/php.vim
" Author: John Wellesz <John.wellesz (AT) gmail (DOT) com>
" URL: https://www.2072productions.com/vim/indent/php.vim
" Home: https://github.com/2072/PHP-Indenting-for-VIm
" Last Change: 2018 May 18th
" Version: 1.66
" Last Change: 2019 Jully 21st
" Version: 1.70
"
"
" Type :help php-indent for available options
@ -19,7 +19,7 @@
" NOTE: This script must be used with PHP syntax ON and with the php syntax
" script by Lutz Eymers (http://www.isp.de/data/php.vim ) or with the
" script by Peter Hodge (http://www.vim.org/scripts/script.php?script_id=1571 )
" script by Peter Hodge (https://www.vim.org/scripts/script.php?script_id=1571 )
" the later is bunbdled by default with Vim 7.
"
"
@ -41,7 +41,6 @@
" silently remove them when VIM load this script (at each bufread).
if exists("b:did_indent")
finish
endif
@ -95,7 +94,17 @@ else
let b:PHP_vintage_case_default_indent = 0
endif
if exists("PHP_IndentFunctionCallParameters")
let b:PHP_IndentFunctionCallParameters = PHP_IndentFunctionCallParameters
else
let b:PHP_IndentFunctionCallParameters = 0
endif
if exists("PHP_IndentFunctionDeclarationParameters")
let b:PHP_IndentFunctionDeclarationParameters = PHP_IndentFunctionDeclarationParameters
else
let b:PHP_IndentFunctionDeclarationParameters = 0
endif
let b:PHP_lastindented = 0
let b:PHP_indentbeforelast = 0
@ -129,15 +138,19 @@ endif
if exists("*GetPhpIndent")
call ResetPhpOptions()
finish
finish " XXX -- comment this line for easy dev
endif
let s:PHP_validVariable = '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
let s:notPhpHereDoc = '\%(break\|return\|continue\|exit\|die\|else\)'
let s:blockstart = '\%(\%(\%(}\s*\)\=else\%(\s\+\)\=\)\=if\>\|\%(}\s*\)\?else\>\|do\>\|while\>\|switch\>\|case\>\|default\>\|for\%(each\)\=\>\|declare\>\|class\>\|trait\>\|use\>\|interface\>\|abstract\>\|final\>\|try\>\|\%(}\s*\)\=catch\>\|\%(}\s*\)\=finally\>\)'
let s:functionDecl = '\<function\>\%(\s\+&\='.s:PHP_validVariable.'\)\=\s*(.*'
let s:endline = '\s*\%(//.*\|#.*\|/\*.*\*/\s*\)\=$'
let s:PHP_validVariable = '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
let s:notPhpHereDoc = '\%(break\|return\|continue\|exit\|die\|else\|end\%(if\|while\|for\|foreach\|switch\)\)'
let s:blockstart = '\%(\%(\%(}\s*\)\=else\%(\s\+\)\=\)\=if\>\|\%(}\s*\)\?else\>\|do\>\|while\>\|switch\>\|case\>\|default\>\|for\%(each\)\=\>\|declare\>\|class\>\|trait\>\|\%()\s*\)\=use\>\|interface\>\|abstract\>\|final\>\|try\>\|\%(}\s*\)\=catch\>\|\%(}\s*\)\=finally\>\)'
let s:functionDeclPrefix = '\<function\>\%(\s\+&\='.s:PHP_validVariable.'\)\=\s*('
let s:functionDecl = s:functionDeclPrefix.'.*'
let s:multilineFunctionDecl = s:functionDeclPrefix.s:endline
let s:arrayDecl = '\<array\>\s*(.*'
let s:multilineFunctionCall = s:PHP_validVariable.'\s*('.s:endline
let s:unstated = '\%(^\s*'.s:blockstart.'.*)\|\%(//.*\)\@<!\<e'.'lse\>\)'.s:endline
@ -210,7 +223,7 @@ function! GetLastRealCodeLNum(startline) " {{{
while getline(lnum) !~? tofind && lnum > 1
let lnum = lnum - 1
endwhile
elseif lastline =~ '^[^''"`]*[''"`][;,]'.s:endline
elseif lastline =~ '^\s*[''"`][;,]' || (lastline =~ '^[^''"`]*[''"`][;,]'.s:endline && IslinePHP(lnum, "") == "SpecStringEntrails")
let tofind=substitute( lastline, '^.*\([''"`]\)[;,].*$', '^[^\1]\\+[\1]$\\|^[^\1]\\+[=([]\\s*[\1]', '')
let trylnum = lnum
@ -289,17 +302,23 @@ function! FindOpenBracket(lnum, blockStarter) " {{{
endfun " }}}
let s:blockChars = {'{':1, '[': 1, '(': 1, ')':-1, ']':-1, '}':-1}
let s:blockCharsLUT = {'{':'{', '}':'{', '[':'[', ']':'[', '(':'(', ')':'('}
function! BalanceDirection (str)
let balance = 0
let balance = {'{':0, '[': 0, '(': 0, 'none':0}
let director = 'none'
for c in split(a:str, '\zs')
if has_key(s:blockChars, c)
let balance += s:blockChars[c]
let balance[s:blockCharsLUT[c]] += s:blockChars[c]
if balance[s:blockCharsLUT[c]]
let director = s:blockCharsLUT[c]
endif
endif
endfor
return balance
return balance[director]
endfun
function! StripEndlineComments (line)
@ -308,7 +327,8 @@ endfun
function! FindArrowIndent (lnum) " {{{
let parrentArrowPos = 0
let parrentArrowPos = -1
let cursorPos = -1
let lnum = a:lnum
while lnum > 1
let last_line = getline(lnum)
@ -316,31 +336,46 @@ function! FindArrowIndent (lnum) " {{{
let parrentArrowPos = indent(a:lnum)
break
else
call cursor(lnum, 1)
let cleanedLnum = StripEndlineComments(last_line)
if cleanedLnum =~ '->'
if ! b:PHP_noArrowMatching
let parrentArrowPos = searchpos('->', 'W', lnum)[1] - 1
else
let parrentArrowPos = indent(lnum) + shiftwidth()
endif
break
elseif cleanedLnum =~ ')'.s:endline && BalanceDirection(last_line) < 0
call searchpos(')'.s:endline, 'cW', lnum)
let openedparent = searchpair('(', '', ')', 'bW', 'Skippmatch()')
if openedparent != lnum
let lnum = openedparent
else
let openedparent = -1
endif
if b:PHP_noArrowMatching
break
endif
let cleanedLnum = StripEndlineComments(last_line)
if cleanedLnum =~ ')'.s:endline
if BalanceDirection(cleanedLnum) <= 0
call cursor(lnum, 1)
call searchpos(')'.s:endline, 'cW', lnum)
let openedparent = searchpair('(', '', ')', 'bW', 'Skippmatch()')
let cursorPos = col(".")
if openedparent != lnum
let lnum = openedparent
continue
else
endif
else
let parrentArrowPos = -1
break
end
endif
if cleanedLnum =~ '->'
call cursor(lnum, cursorPos == -1 ? strwidth(cleanedLnum) : cursorPos)
let parrentArrowPos = searchpos('->', 'cWb', lnum)[1] - 1
break
else
let parrentArrowPos = indent(lnum) + shiftwidth()
let parrentArrowPos = -1
break
endif
endif
endwhile
if parrentArrowPos == -1
let parrentArrowPos = indent(lnum) + shiftwidth()
end
return parrentArrowPos
endfun "}}}
@ -432,7 +467,7 @@ function! IslinePHP (lnum, tofind) " {{{
let synname = synIDattr(synID(a:lnum, coltotest, 0), "name")
if synname ==? 'phpStringSingle' || synname ==? 'phpStringDouble' || synname ==? 'phpBacktick'
if cline !~ '^\s*[''"`]'
if cline !~ '^\s*[''"`]' " ??? XXX
return "SpecStringEntrails"
else
return synname
@ -471,7 +506,7 @@ endfunc
call ResetPhpOptions()
function! GetPhpIndentVersion()
return "1.66-bundle"
return "1.70-bundle"
endfun
function! GetPhpIndent()
@ -615,7 +650,7 @@ function! GetPhpIndent()
let b:InPHPcode_and_script = 1
endif
elseif last_line =~ '^[^''"`]\+[''"`]$' " a string identifier with nothing after it and no other string identifier before
elseif last_line =~ '^[^''"`]\+[''"`]$' && last_line !~ '^\s*\%(//\|#\|/\*.*\*/\s*$\)' " a string identifier with nothing after it and no other string identifier before
let b:InPHPcode = -1
let b:InPHPcode_tofind = substitute( last_line, '^.*\([''"`]\).*$', '^[^\1]*\1[;,]$', '')
elseif last_line =~? '<<<\s*[''"]\=\a\w*[''"]\=$'
@ -723,7 +758,7 @@ function! GetPhpIndent()
endif
if last_line =~ '[;}]'.endline && last_line !~ '^[)\]]' && last_line !~# s:defaultORcase
if last_line =~ '[;}]'.endline && last_line !~ '^[)\]]' && last_line !~# s:defaultORcase && last_line !~ '^\s*[''"`][;,]'
if ind==b:PHP_default_indenting
return b:PHP_default_indenting + addSpecial
elseif b:PHP_indentinghuge && ind==b:PHP_CurrentIndentLevel && cline !~# '^\s*\%(else\|\%(case\|default\).*:\|[})];\=\)' && last_line !~# '^\s*\%(\%(}\s*\)\=else\)' && getline(GetLastRealCodeLNum(lnum - 1))=~';'.endline
@ -869,6 +904,14 @@ function! GetPhpIndent()
let ind = ind + shiftwidth()
endif
if b:PHP_IndentFunctionCallParameters && last_line =~ s:multilineFunctionCall && last_line !~ s:structureHead && last_line !~ s:arrayDecl
let ind = ind + b:PHP_IndentFunctionCallParameters * shiftwidth()
endif
if b:PHP_IndentFunctionDeclarationParameters && last_line =~ s:multilineFunctionDecl
let ind = ind + b:PHP_IndentFunctionDeclarationParameters * shiftwidth()
endif
if b:PHP_BracesAtCodeLevel || b:PHP_vintage_case_default_indent == 1
let b:PHP_CurrentIndentLevel = ind
@ -897,10 +940,15 @@ function! GetPhpIndent()
endif
if cline =~ '^\s*[)\]];\='
let ind = ind - shiftwidth()
endif
call cursor(v:lnum, 1)
call searchpos('[)\]]', 'cW')
let matchedBlockChar = cline[col('.')-1]
let openedparent = searchpair('\M'.s:blockCharsLUT[matchedBlockChar], '', '\M'.matchedBlockChar, 'bW', 'Skippmatch()')
if openedparent != v:lnum
let ind = indent(openedparent)
endif
if last_line =~ '^\s*->' && last_line !~? s:structureHead && BalanceDirection(last_line) <= 0
elseif last_line =~ '^\s*->' && last_line !~? s:structureHead && BalanceDirection(last_line) <= 0
let ind = ind - shiftwidth()
endif

View File

@ -3,10 +3,13 @@
" Maintainer: Christian Brabandt <cb@256bit.org>
" Original Author: Nikolai Weibull <now@bitwi.se>
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
" Latest Revision: 2019-04-27
" Latest Revision: 2019-07-26
" License: Vim (see :h license)
" Repository: https://github.com/chrisbra/vim-sh-indent
" Changelog:
" 20190726 - Correctly skip if keywords in syntax comments
" (issue #17)
" 20190603 - Do not indent in zsh filetypes with an `if` in comments
" 20190428 - De-indent fi correctly when typing with
" https://github.com/chrisbra/vim-sh-indent/issues/15
" 20190325 - Indent fi; correctly
@ -80,8 +83,9 @@ function! GetShIndent()
let ind = indent(lnum)
" Check contents of previous lines
" should not apply to e.g. commented lines
if line =~ '^\s*\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>' ||
\ (&ft is# 'zsh' && line =~ '\<\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>')
\ (&ft is# 'zsh' && line =~ '^\s*\<\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>')
if !s:is_end_expression(line)
let ind += s:indent_value('default')
endif
@ -129,7 +133,8 @@ function! GetShIndent()
" Current line is a endif line, so get indent from start of "if condition" line
" TODO: should we do the same for other "end" lines?
if curline =~ '^\s*\%(fi\);\?\s*\%(#.*\)\=$'
let previous_line = searchpair('\<if\>', '', '\<fi\>\zs', 'bnW')
let ind = indent(v:lnum)
let previous_line = searchpair('\<if\>', '', '\<fi\>\zs', 'bnW', 'synIDattr(synID(line("."),col("."), 1),"name") =~? "comment"')
if previous_line > 0
let ind = indent(previous_line)
endif

View File

@ -1,8 +1,8 @@
" Vim indent file
" Language: Tcl
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Update: Chris Heithoff <chrisheithoff@gmail.com>
" Latest Revision: 2018-12-05
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2018-12-05
if exists("b:did_indent")
finish

View File

@ -1,9 +1,10 @@
" Language: xml
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
" Last Changed: Feb 04, 2019
" Last Changed: July 27, 2019
" Maintainer: Christian Brabandt <cb@256bit.org>
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change:
" 20190726 - Correctly handle non-tagged data
" 20190204 - correctly handle wrap tags
" https://github.com/chrisbra/vim-xml-ftplugin/issues/5
" 20190128 - Make sure to find previous tag
@ -33,6 +34,8 @@ set cpo&vim
" Attention: Parameter use_syntax_check is used by the docbk.vim indent script
setlocal indentexpr=XmlIndentGet(v:lnum,1)
setlocal indentkeys=o,O,*<Return>,<>>,<<>,/,{,},!^F
" autoindent: used when the indentexpr returns -1
setlocal autoindent
if !exists('b:xml_indent_open')
let b:xml_indent_open = '.\{-}<[:A-Z_a-z]'
@ -103,37 +106,43 @@ fun! XmlIndentGet(lnum, use_syntax_check)
return 0
endif
" Find previous line with a tag (regardless whether open or closed,
" but always start restrict the match to a line before the current one
" but always restrict the match to a line before the current one
" Note: xml declaration: <?xml version="1.0"?>
" won't be found, as it is not a legal tag name
let ptag_pattern = '\%(.\{-}<[/:A-Z_a-z]\)'. '\%(\&\%<'. line('.').'l\)'
let ptag_pattern = '\%(.\{-}<[/:A-Z_a-z]\)'. '\%(\&\%<'. a:lnum .'l\)'
let ptag = search(ptag_pattern, 'bnW')
" no previous tag
if ptag == 0
return 0
endif
let syn_name = ''
let pline = getline(ptag)
let pind = indent(ptag)
let syn_name_start = '' " Syntax element at start of line (excluding whitespace)
let syn_name_end = '' " Syntax element at end of line
let curline = getline(a:lnum)
if a:use_syntax_check
let check_lnum = <SID>XmlIndentSynCheck(ptag)
let check_alnum = <SID>XmlIndentSynCheck(a:lnum)
if check_lnum == 0 || check_alnum == 0
return indent(a:lnum)
endif
let syn_name = synIDattr(synID(a:lnum, strlen(getline(a:lnum)) - 1, 1), 'name')
let syn_name_end = synIDattr(synID(a:lnum, strlen(curline) - 1, 1), 'name')
let syn_name_start = synIDattr(synID(a:lnum, match(curline, '\S') + 1, 1), 'name')
endif
if syn_name =~ 'Comment'
if syn_name_end =~ 'Comment' && syn_name_start =~ 'Comment'
return <SID>XmlIndentComment(a:lnum)
elseif empty(syn_name_start) && empty(syn_name_end)
" non-xml tag content: use indent from 'autoindent'
return pind + shiftwidth()
endif
let pline = getline(ptag)
let pind = indent(ptag)
" Get indent from previous tag line
let ind = <SID>XmlIndentSum(pline, -1, pind)
let t_ind = ind
" Determine indent from current line
let ind = <SID>XmlIndentSum(getline(a:lnum), 0, ind)
let ind = <SID>XmlIndentSum(curline, 0, ind)
return ind
endfun
@ -148,7 +157,7 @@ func! <SID>HasNoTagEnd(line)
endfunc
" return indent for a commented line,
" the middle part might be indented on additional level
" the middle part might be indented one additional level
func! <SID>XmlIndentComment(lnum)
let ptagopen = search(b:xml_indent_open, 'bnW')
let ptagclose = search(b:xml_indent_close, 'bnW')

View File

@ -1,270 +1,452 @@
" Menu Translations: Simplified Chinese
" Maintainer: Shun Bai <baishunde@gmail.com>
" Previous Maintainer: Yuheng Xie <elephant@linux.net.cn>
" Last Change: 2014 Oct 15
" vim: ts=8 sw=8 noet
" Last Change: 2019-09-10
" Quit when menu translations have already been done.
if exists("did_menu_trans")
finish
endif
let did_menu_trans = 1
let s:keepcpo= &cpo
let s:keepcpo = &cpo
set cpo&vim
scriptencoding cp936
" Help menu
menutrans &Help <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)
menutrans &Overview<Tab><F1> <09><><EFBFBD><EFBFBD>(&O)<Tab><F1>
menutrans &User\ Manual <09>û<EFBFBD><EFBFBD>ֲ<EFBFBD>(&U)
menutrans &How-to\ links How-to\ ָ<EFBFBD><EFBFBD>(&H)
menutrans &Find\.\.\. <09><><EFBFBD><EFBFBD>(&F)\.\.\.
menutrans &Credits <09><>л(&C)
menutrans Co&pying <09><>Ȩ(&P)
menutrans &Sponsor/Register <09><><EFBFBD><EFBFBD>/ע<EFBFBD><EFBFBD>(&S)
menutrans O&rphans <09><EFBFBD>(&R)
menutrans &Version <09>(&V)
menutrans &About <09><><EFBFBD><EFBFBD>(&A)
menutrans &Help <09><><EFBFBD><EFBFBD>(&H)
" Help menuitems and dialog {{{1
menutrans &Overview<Tab><F1> <09><><EFBFBD><EFBFBD>(&O)<Tab><F1>
menutrans &User\ Manual <09>û<EFBFBD><EFBFBD>ֲ<EFBFBD>(&U)
menutrans &How-to\ Links <09><><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>(&H)
menutrans &Find\.\.\. <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&F)\.\.\.
menutrans &Credits <EFBFBD><EFBFBD>л(&C)
menutrans Co&pying <09><>Ȩ(&P)
menutrans &Sponsor/Register <09><><EFBFBD><EFBFBD>/ע<EFBFBD><EFBFBD>(&S)
menutrans O&rphans <09><><EFBFBD>ȹ<EFBFBD>(&R)
menutrans &Version <09>(&V)
menutrans &About <09><><EFBFBD><EFBFBD>(&A)
" fun! s:Helpfind()
if !exists("g:menutrans_help_dialog")
let g:menutrans_help_dialog = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򵥴<EFBFBD><F2B5A5B4>Ի<EFBFBD><D4BB>ð<EFBFBD><C3B0><EFBFBD>:\n\nǰ׺ i_ <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ģʽ<C4A3>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>(<28><>: i_CTRL-X)\nǰ׺ c_ <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µı<C4B1><E0BCAD><EFBFBD><EFBFBD>(<28><>: c_<Del>)\nǰ׺ ' <20><>ʾѡ<CABE><D1A1><EFBFBD><EFBFBD>(<28><>: 'shiftwidth')"
endif
" }}}
" File menu
menutrans &File <09>ļ<EFBFBD>(&F)
menutrans &Open\.\.\.<Tab>:e <09><><EFBFBD><EFBFBD>(&O)\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp <09>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)\.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew <09>򿪱<EFBFBD>ǩ\.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew <09>½<EFBFBD>(&N)<Tab>:enew
menutrans &Close<Tab>:close <09>ر<EFBFBD>(&C)<Tab>:close
menutrans &Save<Tab>:w <09><EFBFBD><EFBFBD><EFBFBD>(&S)<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav <09><><EFBFBD><EFBFBD>Ϊ(&A)\.\.\.<Tab>:sav
menutrans Split\ &Diff\ with\.\.\. <09>ָ<EFBFBD><EFBFBD>Ƚ<EFBFBD>(Diff)(&D)\.\.\.
menutrans Split\ Patched\ &By\.\.\. <09>ָ<EFBFBD><EFBFBD>򲹶<EFBFBD>(Patch)(&B)\.\.\.
menutrans &Print <09><>ӡ(&P)
menutrans Sa&ve-Exit<Tab>:wqa <09><><EFBFBD><EFBFBD>˳<EFBFBD>(&V)<Tab>:wqa
menutrans E&xit<Tab>:qa <09>˳<EFBFBD>(&X)<Tab>:qa
menutrans &File <09>ļ<EFBFBD>(&F)
" File menuitems {{{1
menutrans &Open\.\.\.<Tab>:e <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp <09>ڲ<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>(&L)\.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew <EFBFBD>ڱ<EFBFBD>ǩҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew <09>½<EFBFBD>(&N)<Tab>:enew
menutrans &Close<Tab>:close <09>ر<EFBFBD>(&C)<Tab>:close
menutrans &Save<Tab>:w <09><><EFBFBD><EFBFBD>(&S)<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav <09><><EFBFBD><EFBFBD>Ϊ(&A)\.\.\.<Tab>:sav
menutrans Split\ &Diff\ With\.\.\. <09><><EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԶԱȲ<EFBFBD><EFBFBD><EFBFBD>(Diff)(&D)\.\.\.
menutrans Split\ Patched\ &By\.\.\. <09><><EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲<EFBFBD>(Patch)(&B)\.\.\.
menutrans &Print <09><>ӡ(&P)
menutrans Sa&ve-Exit<Tab>:wqa <09><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>(&V)<Tab>:wqa
menutrans E&xit<Tab>:qa <09>˳<EFBFBD>(&X)<Tab>:qa
" }}}
" Edit menu
menutrans &Edit <09>(&E)
menutrans &Undo<Tab>u <09><><EFBFBD><EFBFBD>(&U)<Tab>u
menutrans &Redo<Tab>^R <09><><EFBFBD><EFBFBD>(&R)<Tab>^R
menutrans Rep&eat<Tab>\. <09>ظ<EFBFBD><EFBFBD>ϴβ<EFBFBD><EFBFBD><EFBFBD>(&E)<Tab>\.
menutrans Cu&t<Tab>"+x <09><><EFBFBD><EFBFBD>(&T)<Tab>"+x
menutrans &Copy<Tab>"+y <09><><EFBFBD><EFBFBD>(&C)<Tab>"+y
menutrans &Paste<Tab>"+gP ճ<EFBFBD><EFBFBD>(&P)<Tab>"+gP
menutrans Put\ &Before<Tab>[p ճ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ(&B)<Tab>[p
menutrans Put\ &After<Tab>]p ճ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&A)<Tab>]p
menutrans &Delete<Tab>x ɾ<EFBFBD><EFBFBD>(&D)<Tab>x
menutrans &Select\ All<Tab>ggVG ȫѡ(&S)<Tab>ggVG
menutrans &Find\.\.\. <09><><EFBFBD><EFBFBD>(&F)\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. <09><><EFBFBD>Һ<EFBFBD><EFBFBD>(&L)\.\.\.
menutrans &Find<Tab>/ <09><><EFBFBD><EFBFBD>(&F)<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s <09><><EFBFBD>Һ<EFBFBD><EFBFBD>(&L)<Tab>:%s
menutrans Settings\ &Window <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)
menutrans Startup\ &Settings <09><><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans &Global\ Settings ȫ<EFBFBD><EFBFBD><EFBFBD>(&G)
menutrans &Edit <09>(&E)
" Edit menuitems {{{1
menutrans &Undo<Tab>u <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&U)<Tab>u
menutrans &Redo<Tab>^R <09>ָ<EFBFBD>(&R)<Tab>^R
menutrans Rep&eat<Tab>\. <09>ظ<EFBFBD>(&E)<Tab>\.
menutrans Cu&t<Tab>"+x <09><><EFBFBD><EFBFBD>(&T)<Tab>"+x
menutrans &Copy<Tab>"+y <09><><EFBFBD><EFBFBD>(&C)<Tab>"+y
menutrans &Paste<Tab>"+gP ճ<><D5B3>(&P)<Tab>"+gP
menutrans Put\ &Before<Tab>[p ճ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ(&B)<Tab>[p
menutrans Put\ &After<Tab>]p ճ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&A)<Tab>]p
menutrans &Delete<Tab>x ɾ<EFBFBD><EFBFBD>(&D)<Tab>x
menutrans &Select\ All<Tab>ggVG ȫѡ(&S)<Tab>ggVG
menutrans &Find\.\.\. <09><><EFBFBD><EFBFBD>(&F)\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. <09><><EFBFBD>Һ<EFBFBD><EFBFBD>(&L)\.\.\.
menutrans &Find<Tab>/ <09><><EFBFBD><EFBFBD>(&F)<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s <09><><EFBFBD>Һ<EFBFBD><EFBFBD>(&L)<Tab>:%s
menutrans Settings\ &Window <09><><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD>(&W)
menutrans Startup\ &Settings <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
" Edit/Global Settings
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! <09><>/<2F><>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)<Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! <09><>/<2F>غ<EFBFBD><EFBFBD>Դ<EFBFBD>Сд(&I)<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! <09><>/<2F><><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)<Tab>:set\ sm!
menutrans &Context\ lines <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)
menutrans &Virtual\ Edit <09><><EFBFBD><EFBFBD><EFBFBD>(&V)
menutrans &Global\ Settings ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&G)
" Edit.Global Settings menuitems and dialogs {{{2
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! <09><>/<2F>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! <09><>/<2F>غ<EFBFBD><EFBFBD>Դ<EFBFBD>Сд(&I)<Tab>:set\ ic!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! <09><>/<2F><><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD>(&S)<Tab>:set\ sm!
menutrans &Context\ Lines <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)
menutrans &Virtual\ Edit <09><><EFBFBD><EFBFBD><EFBFBD>(&V)
" Edit.Global Settings.Virtual Edit menuitems {{{3
menutrans Never <09>Ӳ<EFBFBD>
menutrans Block\ Selection <EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>
menutrans Insert\ mode <09><EFBFBD><EFBFBD><EFBFBD>ģʽ
menutrans Block\ and\ Insert <09><>ѡ<EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD>ģʽ
menutrans Always <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! <09><>/<2F>ز<EFBFBD><EFBFBD><EFBFBD>ģʽ(&M)<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! <09><>/<2F><>\ Vi\ <20><><EFBFBD><EFBFBD><Tab>:set\ cp!
menutrans Search\ &Path\.\.\. <09><><EFBFBD><EFBFBD>·<EFBFBD><C2B7>(&P)\.\.\.
menutrans Ta&g\ Files\.\.\. Tag\ <20>ļ<EFBFBD>(&T)\.\.\.
menutrans Block\ Selection ֻ<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD>ʱ
menutrans Insert\ Mode ֻ<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>ģʽʱ
menutrans Block\ and\ Insert <09><>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD>ģʽʱ
menutrans Always ʼ<EFBFBD><EFBFBD>
" }}}
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! <09><>/<2F>ز<EFBFBD><EFBFBD><EFBFBD>ģʽ(&M)<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! <09><>/<2F><>\ Vi\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. <09><><EFBFBD><EFBFBD>·<EFBFBD><C2B7>(&P)\.\.\.
menutrans Ta&g\ Files\.\.\. <09><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>(Tags)(&G)\.\.\.
" GUI options
menutrans Toggle\ &Toolbar <09><>/<2F>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans Toggle\ &Bottom\ Scrollbar <09><>/<2F>صײ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)
menutrans Toggle\ &Left\ Scrollbar <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)
menutrans Toggle\ &Right\ Scrollbar <09><>/<2F><><EFBFBD>Ҷ˹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)
menutrans Toggle\ &Toolbar <09><>/<2F>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans Toggle\ &Bottom\ Scrollbar <09><>/<2F>صײ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)
menutrans Toggle\ &Left\ Scrollbar <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)
menutrans Toggle\ &Right\ Scrollbar <09><>/<2F><><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)
" fun! s:SearchP()
if !exists("g:menutrans_path_dialog")
let g:menutrans_path_dialog = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>\n<>ö<EFBFBD><C3B6>ŷָ<C5B7>Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD>"
endif
" fun! s:TagFiles()
if !exists("g:menutrans_tags_dialog")
let g:menutrans_tags_dialog = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>(Tags)<29><><EFBFBD>ơ<EFBFBD>\n<>ö<EFBFBD><C3B6>ŷָ<C5B7><D6B8>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>"
endif
" }}}
" Edit/File Settings
menutrans F&ile\ Settings <09>ļ<EFBFBD><EFBFBD>(&I)
menutrans F&ile\ Settings <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&I)
" Edit.File Settings menuitems and dialogs {{{2
" Boolean options
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! <09><>/<2F><><EFBFBD><EFBFBD>ʾ<EFBFBD>к<EFBFBD>(&N)<Tab>:set\ nu!
menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu! <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>(&V)<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! <09><>/<2F><>\ list\ ģʽ(&L)<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! <09><>/<2F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>:set\ wrap!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! <09><>/<2F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)<Tab>:set\ lbr!
menutrans Toggle\ &expand-tab<Tab>:set\ et! <09><>/<2F><><EFBFBD><EFBFBD>չ\ tab(&E)<Tab>:set\ et!
menutrans Toggle\ &auto-indent<Tab>:set\ ai! <09><>/<2F><><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&A)<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! <EFBFBD><EFBFBD>/<2F><>\ C\ <20><><EFBFBD><EFBFBD>(&C)<Tab>:set\ cin!
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! <EFBFBD><EFBFBD>/<2F><><EFBFBD>к<EFBFBD>(&N)<Tab>:set\ nu!
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>(&V)<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! <EFBFBD><EFBFBD>/<2F><><EFBFBD>б<EFBFBD>ģʽ(&L)<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrapping<Tab>:set\ wrap! <09><>/<2F>ػ<EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>:set\ wrap!
menutrans Toggle\ W&rapping\ at\ Word<Tab>:set\ lbr! <09><>/<2F>ش<EFBFBD>β<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)<Tab>:set\ lbr!
menutrans Toggle\ Tab\ &Expanding<Tab>:set\ et! <EFBFBD><EFBFBD>/<2F><><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ(&E)<Tab>:set\ et!
menutrans Toggle\ &Auto\ Indenting<Tab>:set\ ai! <09><>/<2F><><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&A)<Tab>:set\ ai!
menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin! <09><>/<2F><>\ C\ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)<Tab>:set\ cin!
" other options
menutrans &Shiftwidth <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Soft\ &Tabstop Soft\ Tab\ <20><><EFBFBD><EFBFBD>(&T)
menutrans Te&xt\ Width\.\.\. <09>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&X)\.\.\.
menutrans &File\ Format\.\.\. <09>ļ<EFBFBD><EFBFBD><EFBFBD>ʽ(&F)\.\.\.
menutrans C&olor\ Scheme <09><>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)
menutrans Select\ Fo&nt\.\.\. ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)\.\.\.
menutrans &Keymap <09><><EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD>(&K)
menutrans &Shiftwidth <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Soft\ &Tabstop <09><><EFBFBD>Ʊ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Soft Tabstop)(&T)
menutrans Te&xt\ Width\.\.\. <09>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&X)\.\.\.
menutrans &File\ Format\.\.\. <09>ļ<EFBFBD><EFBFBD><EFBFBD>ʽ(&F)\.\.\.
" fun! s:TextWidth()
if !exists("g:menutrans_textwidth_dialog")
let g:menutrans_textwidth_dialog = "<22><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>(ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>0 <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>):"
endif
" fun! s:FileFormat()
if !exists("g:menutrans_fileformat_dialog")
let g:menutrans_fileformat_dialog = "ѡ<><D1A1><EFBFBD>ļ<EFBFBD><C4BC>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>ʽ:"
endif
if !exists("g:menutrans_fileformat_choices")
let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\nȡ<6E><C8A1>(&C)"
endif
" }}}
menutrans Show\ C&olor\ Schemes\ in\ Menu <09>ڲ˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)
menutrans C&olor\ Scheme <09><>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)
menutrans Show\ &Keymaps\ in\ Menu <09>ڲ˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD>(&K)
menutrans &Keymap <09><><EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD>(&K)
menutrans Select\ Fo&nt\.\.\. ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)\.\.\.
" }}}
" Programming menu
menutrans &Tools <09><><EFBFBD><EFBFBD>(&T)
menutrans &Jump\ to\ this\ tag<Tab>g^] <09><>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ tag(&J)<Tab>g^]
menutrans Jump\ &back<Tab>^T <09><>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)<Tab>^T
menutrans Build\ &Tags\ File <09><><EFBFBD><EFBFBD>\ Tags\ <20>ļ<EFBFBD>(&T)
menutrans &Tools <09><><EFBFBD><EFBFBD>(&T)
" Tools menuitems {{{1
menutrans &Jump\ to\ This\ Tag<Tab>g^] <EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Tag)(&J)<Tab>g^]
menutrans Jump\ &Back<Tab>^T <09><>ת<EFBFBD><EFBFBD>(&B)<Tab>^T
menutrans Build\ &Tags\ File <09><><EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>(Tags)(&T)
" Tools.Spelling Menu
menutrans &Spelling ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans &Spell\ Check\ On <09><><EFBFBD><EFBFBD>ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Spell\ Check\ &Off <09>ر<EFBFBD>ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)
menutrans To\ &Next\ error<Tab>]s <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)<Tab>]s
menutrans To\ &Previous\ error<Tab>[s <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&P)<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)<Tab>z=
menutrans &Repeat\ correction<Tab>:spellrepall <09>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)<Tab>:spellrepall
menutrans Set\ language\ to\ "en" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en"
menutrans Set\ language\ to\ "en_au" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_au"
menutrans Set\ language\ to\ "en_ca" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_ca"
menutrans Set\ language\ to\ "en_gb" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_gb"
menutrans Set\ language\ to\ "en_nz" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_nz"
menutrans Set\ language\ to\ "en_us" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_us"
menutrans &Find\ More\ Languages <09><><EFBFBD>Ҹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&F)
menutrans &Spelling ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
" Tools.Spelling menuitems and dialog {{{2
menutrans &Spell\ Check\ On <09><EFBFBD><EFBFBD><EFBFBD>ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Spell\ Check\ &Off <09>ر<EFBFBD>ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)
menutrans To\ &Next\ Error<Tab>]s <EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)<Tab>]s
menutrans To\ &Previous\ Error<Tab>[s <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&P)<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)<Tab>z=
menutrans &Repeat\ Correction<Tab>:spellrepall <09><><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)<Tab>:spellrepall
menutrans Set\ Language\ to\ "en" <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en"
menutrans Set\ Language\ to\ "en_au" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_au"
menutrans Set\ Language\ to\ "en_ca" <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_ca"
menutrans Set\ Language\ to\ "en_gb" <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_gb"
menutrans Set\ Language\ to\ "en_nz" <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_nz"
menutrans Set\ Language\ to\ "en_us" <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_us"
menutrans &Find\ More\ Languages <09><><EFBFBD>Ҹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&F)
" func! s:SpellLang()
if !exists("g:menutrans_set_lang_to")
let g:menutrans_set_lang_to = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ"
endif
" }}}
" Tools.Fold Menu
menutrans &Folding <09>۵<EFBFBD>(&F)
" Tools.Fold menuitems {{{2
" open close folds
menutrans &Folding <EFBFBD>۵<EFBFBD>(&F)
menutrans &Enable/Disable\ folds<Tab>zi <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm <EFBFBD>رո<EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&L)<Tab>zm
menutrans &Close\ all\ folds<Tab>zM <EFBFBD>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr <EFBFBD>򿪸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&P)<Tab>zr
menutrans &Open\ all\ folds<Tab>zR <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&O)<Tab>zR
menutrans &Enable/Disable\ Folds<Tab>zi <09><><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv չ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ Only<Tab>zMzx ֻչ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>zMzx
menutrans C&lose\ More\ Folds<Tab>zm <09>۵<EFBFBD>һ<EFBFBD><EFBFBD>(&L)<Tab>zm
menutrans &Close\ All\ Folds<Tab>zM <09>۵<EFBFBD>ȫ<EFBFBD><EFBFBD>(&C)<Tab>zM
menutrans O&pen\ More\ Folds<Tab>zr չ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>(&P)<Tab>zr
menutrans &Open\ All\ Folds<Tab>zR չ<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>(&O)<Tab>zR
" fold method
menutrans Fold\ Met&hod <09>۵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)
menutrans M&anual <09>ֹ<EFBFBD>(&A)
menutrans I&ndent <09><><EFBFBD><EFBFBD>(&N)
menutrans E&xpression <09><><EFBFBD><EFBFBD>ʽ(&X)
menutrans S&yntax <09>(&Y)
menutrans &Diff <09>Ƚ<EFBFBD>(Diff)(&D)
menutrans Ma&rker <09><><EFBFBD><EFBFBD>(&R)
menutrans Fold\ Met&hod <09>۵<EFBFBD><EFBFBD><EFBFBD>ʽ(&H)
" Tools.Fold.Fold Method menuitems {{{3
menutrans M&anual <09>ֶ<EFBFBD>(&A)
menutrans I&ndent <09><><EFBFBD><EFBFBD>(&N)
menutrans E&xpression <09><><EFBFBD><EFBFBD>ʽ(&X)
menutrans S&yntax <09>(&Y)
menutrans &Diff <09><><EFBFBD><EFBFBD>(Diff)(&D)
menutrans Ma&rker <09>Ǻ<EFBFBD>(Marker)(&R)
" }}}
" create and delete folds
menutrans Create\ &Fold<Tab>zf <09><><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd ɾ<EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&A)<Tab>zD
menutrans Create\ &Fold<Tab>zf <09><><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd ɾ<EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD ɾ<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&A)<Tab>zD
" moving around in folds
menutrans Fold\ column\ &width <09>۵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)
menutrans Fold\ Col&umn\ Width <09>۵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)
" }}}
" Tools.Diff Menu
menutrans &Diff <09>Ƚ<EFBFBD>(Diff)(&D)
menutrans &Update <09><><EFBFBD><EFBFBD>(&U)
menutrans &Get\ Block <09>õ<EFBFBD><EFBFBD><EFBFBD>(&G)
menutrans &Put\ Block <09><><EFBFBD>ÿ<EFBFBD>(&P)
menutrans &Diff <09><><EFBFBD><EFBFBD>(Diff)(&D)
" Tools.Diff menuitems {{{2
menutrans &Update ˢ<EFBFBD><EFBFBD>(&U)
menutrans &Get\ Block <09><><EFBFBD>öԲ<EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD>(&G)
menutrans &Put\ Block <09><><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD>(&P)
" }}}
menutrans &Make<Tab>:make Make(&M)<Tab>:make
menutrans &List\ Errors<Tab>:cl <09>г<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! <09>г<EFBFBD><EFBFBD><EFBFBD>Ϣ(&I)<Tab>:cl!
menutrans &Next\ Error<Tab>:cn <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)<Tab>:cn
menutrans &Previous\ Error<Tab>:cp <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&P)<Tab>:cp
menutrans &Older\ List<Tab>:cold <EFBFBD><EFBFBD><EFBFBD>ɵĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>(&O)<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew <09><><EFBFBD>µĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>(&E)<Tab>:cnew
menutrans Error\ &Window <09><><EFBFBD>󴰿<EFBFBD>(&W)
menutrans &Update<Tab>:cwin <09><><EFBFBD><EFBFBD>(&U)<Tab>:cwin
menutrans &Make<Tab>:make <09><><EFBFBD><EFBFBD>(Make)(&M)<Tab>:make
menutrans &List\ Errors<Tab>:cl <09>г<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! <09>г<EFBFBD><EFBFBD><EFBFBD>Ϣ(&I)<Tab>:cl!
menutrans &Next\ Error<Tab>:cn <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)<Tab>:cn
menutrans &Previous\ Error<Tab>:cp <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&P)<Tab>:cp
menutrans &Older\ List<Tab>:cold <EFBFBD>ϾɵĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>(&O)<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew <09><><EFBFBD>µĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>(&E)<Tab>:cnew
menutrans Error\ &Window <09><><EFBFBD>󴰿<EFBFBD>(&W)
" Tools.Error Window menuitems {{{2
menutrans &Update<Tab>:cwin ˢ<EFBFBD><EFBFBD>(&U)<Tab>:cwin
menutrans &Open<Tab>:copen <09><><EFBFBD><EFBFBD>(&O)<Tab>:copen
menutrans &Close<Tab>:cclose <09>ر<EFBFBD>(&C)<Tab>:cclose
menutrans &Convert\ to\ HEX<Tab>:%!xxd ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>:%!xxd
menutrans Conve&rt\ back<Tab>:%!xxd\ -r ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>:%!xxd\ -r
menutrans Se&T\ Compiler <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans &Close<Tab>:cclose <09>ر<EFBFBD>(&C)<Tab>:cclose
" }}}
menutrans Show\ Compiler\ Se&ttings\ in\ Menu <09>ڲ˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans Se&t\ Compiler <09><><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans &Convert\ to\ HEX<Tab>:%!xxd ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)<Tab>:%!xxd
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)<Tab>:%!xxd\ -r
" }}}
" Names for buffer menu.
menutrans &Buffers <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)
menutrans &Refresh\ menu <09><><EFBFBD>²˵<C2B2>(&R)
menutrans &Delete ɾ<EFBFBD><EFBFBD>(&D)
menutrans &Alternate <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&A)
menutrans &Next <09><>һ<EFBFBD><EFBFBD>(&N)
menutrans &Previous <09><>һ<EFBFBD><EFBFBD>(&P)
" Buffer menu
menutrans &Buffers <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)
" Buffer menuitems and dialog {{{1
menutrans &Refresh\ Menu ˢ<EFBFBD>±<EFBFBD><EFBFBD>˵<EFBFBD>(&R)
menutrans &Delete ɾ<EFBFBD><EFBFBD>(&D)
menutrans &Alternate <09>л<EFBFBD>(&A)
menutrans &Next <09><>һ<EFBFBD><EFBFBD>(&N)
menutrans &Previous <09><>һ<EFBFBD><EFBFBD>(&P)
" func! s:BMMunge(fname, bnum)
if !exists("g:menutrans_no_file")
let g:menutrans_no_file = "[<5B><><EFBFBD>ļ<EFBFBD>]"
endif
" }}}
" Window menu
menutrans &Window <09><><EFBFBD><EFBFBD>(&W)
menutrans &New<Tab>^Wn <09>½<EFBFBD>(&N)<Tab>^Wn
menutrans S&plit<Tab>^Ws <EFBFBD>ָ<EFBFBD>(&P)<Tab>^Ws
menutrans Sp&lit\ To\ #<Tab>^W^^ <09>ָ\ #(&L)<Tab>^W^^
menutrans Split\ &Vertically<Tab>^Wv <09><>ֱ<EFBFBD>ָ<EFBFBD>(&V)<Tab>^Wv
menutrans Split\ File\ E&xplorer <09>ָ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&X)
menutrans &Close<Tab>^Wc <09>ر<EFBFBD>(&C)<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo <09>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)<Tab>^Wo
menutrans Move\ &To <EFBFBD>ƶ<EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans &Top<Tab>^WK <09><><EFBFBD><EFBFBD>(&T)<Tab>^WK
menutrans &Bottom<Tab>^WJ <09>׶<EFBFBD>(&B)<Tab>^WJ
menutrans &Left\ side<Tab>^WH <09><><EFBFBD><EFBFBD>(&L)<Tab>^WH
menutrans &Right\ side<Tab>^WL <09>ұ<EFBFBD>(&R)<Tab>^WL
" menutrans Ne&xt<Tab>^Ww <09><>һ<EFBFBD><D2BB>(&X)<Tab>^Ww
" menutrans P&revious<Tab>^WW <EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>(&R)<Tab>^WW
menutrans Rotate\ &Up<Tab>^WR <09><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>(&U)<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr <09><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>(&D)<Tab>^Wr
menutrans &Equal\ Size<Tab>^W= <09>ȴ<EFBFBD>(&E)<Tab>^W=
menutrans &Max\ Height<Tab>^W_ <09><><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>(&M)<Tab>^W
menutrans M&in\ Height<Tab>^W1_ <09><>С<EFBFBD>߶<EFBFBD>(&I)<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| <09><>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)<Tab>^W1\|
"
" The popup menu
menutrans &Undo <09><><EFBFBD><EFBFBD>(&U)
menutrans Cu&t <09><><EFBFBD><EFBFBD>(&T)
menutrans &Copy <09><><EFBFBD><EFBFBD>(&C)
menutrans &Paste ճ<EFBFBD><EFBFBD>(&P)
menutrans &Delete ɾ<EFBFBD><EFBFBD>(&D)
menutrans Select\ Blockwise ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
menutrans Select\ &Word ѡ<EFBFBD>񵥴<EFBFBD>(&W)
menutrans Select\ &Sentence ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Select\ Pa&ragraph ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)
menutrans Select\ &Line ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)
menutrans Select\ &Block ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)
menutrans Select\ &All ȫѡ(&A)
"
" The GUI toolbar
menutrans &Window <09><><EFBFBD><EFBFBD>(&W)
" Window menuitems {{{1
menutrans &New<Tab>^Wn <09>½<EFBFBD>(&N)<Tab>^Wn
menutrans S&plit<Tab>^Ws <09><><EFBFBD><EFBFBD>(&P)<Tab>^Ws
menutrans Sp&lit\ To\ #<Tab>^W^^ <09><><EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ #(&L)<Tab>^W^^
menutrans Split\ &Vertically<Tab>^Wv <09><>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&V)<Tab>^Wv
menutrans Split\ File\ E&xplorer <09><><EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&X)
menutrans &Close<Tab>^Wc <09>ر<EFBFBD>(&C)<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo <09><><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD>(&O)<Tab>^Wo
menutrans Move\ &To <09>ƶ<EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans &Top<Tab>^WK <09><><EFBFBD><EFBFBD>(&T)<Tab>^WK
menutrans &Bottom<Tab>^WJ <09>׶<EFBFBD>(&B)<Tab>^WJ
menutrans &Left\ Side<Tab>^WH <09><><EFBFBD><EFBFBD>(&L)<Tab>^WH
menutrans &Right\ Side<Tab>^WL <09>ұ<EFBFBD>(&R)<Tab>^WL
menutrans Rotate\ &Up<Tab>^WR <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>(&U)<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr <09><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>(&D)<Tab>^Wr
menutrans &Equal\ Size<Tab>^W= ƽ<EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD>(&E)<Tab>^W=
menutrans &Max\ Height<Tab>^W_ <09><><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>(&M)<Tab>^W
menutrans M&in\ Height<Tab>^W1_ <09><>С<EFBFBD>߶<EFBFBD>(&I)<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| <09><>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)<Tab>^W1\|
" }}}
" The popup menu {{{1
menutrans &Undo <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&U)
menutrans Cu&t <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans &Copy <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)
menutrans &Paste ճ<EFBFBD><EFBFBD>(&P)
menutrans &Delete ɾ<EFBFBD><EFBFBD>(&D)
menutrans Select\ Blockwise <09><>Ϊѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD>
menutrans Select\ &Word ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)
menutrans Select\ &Sentence ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Select\ Pa&ragraph ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)
menutrans Select\ &Line ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)
menutrans Select\ &Block ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD>(&B)
menutrans Select\ &All ȫѡ(&A)
" func! <SID>SpellPopup()
if !exists("g:menutrans_spell_change_ARG_to")
let g:menutrans_spell_change_ARG_to = '<27><>\ "%s"\ <20><><EFBFBD><EFBFBD>Ϊ'
endif
if !exists("g:menutrans_spell_add_ARG_to_word_list")
let g:menutrans_spell_add_ARG_to_word_list = '<27><>\ "%s"\ <20><><EFBFBD>ӵ<EFBFBD><D3B5>ʵ<EFBFBD>'
endif
if !exists("g:menutrans_spell_ignore_ARG")
let g:menutrans_spell_ignore_ARG = '<27><><EFBFBD><EFBFBD>\ "%s"'
endif
" }}}
" The GUI toolbar {{{1
if has("toolbar")
if exists("*Do_toolbar_tmenu")
delfun Do_toolbar_tmenu
endif
fun Do_toolbar_tmenu()
tmenu ToolBar.Open <09><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
tmenu ToolBar.Save <09><><EFBFBD>浱ǰ<EFBFBD>ļ<EFBFBD>
tmenu ToolBar.SaveAll <09><><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
tmenu ToolBar.Print <09><>ӡ
tmenu ToolBar.Undo <09><><EFBFBD><EFBFBD>
tmenu ToolBar.Redo <09><><EFBFBD><EFBFBD>
tmenu ToolBar.Cut <EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmenu ToolBar.Copy <09><><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmenu ToolBar.Paste <EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ճ<EFBFBD><EFBFBD>
tmenu ToolBar.Find <09><><EFBFBD><EFBFBD>...
tmenu ToolBar.FindNext <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
tmenu ToolBar.FindPrev <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
tmenu ToolBar.Replace <09><><EFBFBD>Һ<EFBFBD><EFBFBD>...
tmenu ToolBar.LoadSesn <09><><EFBFBD>ػỰ
tmenu ToolBar.SaveSesn <09><><EFBFBD>浱ǰ<EFBFBD>
tmenu ToolBar.RunScript <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vim <20>ű<EFBFBD>
tmenu ToolBar.Make ִ<EFBFBD><EFBFBD> Make (:make)
tmenu ToolBar.RunCtags <09>ڵ<EFBFBD>ǰĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD> tags (!ctags -R .)
tmenu ToolBar.TagJump <09><>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD> tag
tmenu ToolBar.Help Vim <20><><EFBFBD><EFBFBD>
tmenu ToolBar.FindHelp <09><><EFBFBD><EFBFBD> Vim <20><><EFBFBD><EFBFBD>
let did_toolbar_tmenu = 1
tmenu ToolBar.Open <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
tmenu ToolBar.Save <09><><EFBFBD>浱ǰ<EFBFBD>ļ<EFBFBD>
tmenu ToolBar.SaveAll ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmenu ToolBar.Print <09><>ӡ
tmenu ToolBar.Undo <09><><EFBFBD><EFBFBD>
tmenu ToolBar.Redo <EFBFBD>ָ<EFBFBD>
tmenu ToolBar.Cut <09><><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmenu ToolBar.Copy <09><><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmenu ToolBar.Paste <09>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ճ<EFBFBD><EFBFBD>
if !has("gui_athena")
tmenu ToolBar.Replace <09><><EFBFBD>Һ<EFBFBD><EFBFBD>...
tmenu ToolBar.FindNext <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
tmenu ToolBar.FindPrev <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
endif
tmenu ToolBar.LoadSesn <EFBFBD><EFBFBD><EFBFBD>ػỰ
tmenu ToolBar.SaveSesn <09><><EFBFBD>浱ǰ<EFBFBD>
tmenu ToolBar.RunScript <09><><EFBFBD><EFBFBD> Vim <20>ű<EFBFBD>
tmenu ToolBar.Make <09><><EFBFBD>ɵ<EFBFBD>ǰ<EFBFBD><EFBFBD>Ŀ (:make)
tmenu ToolBar.RunCtags <09>ڵ<EFBFBD>ǰĿ¼<EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD>(Tags) (!ctags -R .)
tmenu ToolBar.TagJump <09><>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD>(Tag)
tmenu ToolBar.Help Vim <20><><EFBFBD><EFBFBD>
tmenu ToolBar.FindHelp <09><> Vim <20><><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD>
endfun
endif
" }}}
" Syntax menu
menutrans &Syntax <09>(&S)
menutrans &Show\ filetypes\ in\ menu <09>ڲ˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans &Off <09>ر<EFBFBD>(&O)
menutrans &Manual <09>ֹ<EFBFBD>(&M)
menutrans A&utomatic <09>Զ<EFBFBD>(&U)
menutrans on/off\ for\ &This\ file <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>/<EFBFBD><EFBFBD>(&T)
menutrans Co&lor\ test ɫ<EFBFBD>ʲ<EFBFBD><EFBFBD><EFBFBD>(&L)
menutrans &Highlight\ test <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)
menutrans &Convert\ to\ HTML ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ HTML(&C)
menutrans Set\ '&syntax'\ only <09><><EFBFBD>\ 'syntax'(&S)
menutrans Set\ '&filetype'\ too Ҳ<EFBFBD>\ 'filetype'(&F)
menutrans &Syntax <09>(&S)
" Syntax menuitems {{{1
menutrans &Show\ File\ Types\ in\ Menu <09>ڲ˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans &Off <09>ر<EFBFBD>(&O)
menutrans &Manual <EFBFBD>ֶ<EFBFBD>(&M)
menutrans A&utomatic <09>Զ<EFBFBD>(&U)
menutrans On/Off\ for\ &This\ File ֻ<><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>/<EFBFBD><EFBFBD>(&T)
menutrans Co&lor\ Test ɫ<EFBFBD>ʲ<EFBFBD><EFBFBD><EFBFBD>(&L)
menutrans &Highlight\ Test <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)
menutrans &Convert\ to\ HTML ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ HTML(&C)
" From synmenu.vim
menutrans Set\ '&syntax'\ Only ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ 'syntax'(&S)
menutrans Set\ '&filetype'\ Too Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ 'filetype'(&F)
" }}}
" Netrw menu {{{1
" Plugin loading may be after menu translation
" So giveup testing if Netrw Plugin is loaded
" if exists("g:loaded_netrwPlugin")
menutrans Help<tab><F1> <09><><EFBFBD><EFBFBD><tab><F1>
menutrans Bookmarks <09><>ǩ
menutrans History <09><>ʷ<EFBFBD><EFBFBD>¼
menutrans Go\ Up\ Directory<tab>- <09><><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><tab>-
menutrans Apply\ Special\ Viewer<tab>x <09><>Ĭ<EFBFBD>ϳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><tab>x
menutrans Bookmarks\ and\ History <09><>ǩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD>¼
" Netrw.Bookmarks and History menuitems {{{2
menutrans Bookmark\ Current\ Directory<tab>mb <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ<tab>mb
menutrans Bookmark\ Delete <09>Ƴ<EFBFBD><EFBFBD><EFBFBD>ǩ
menutrans Goto\ Prev\ Dir\ (History)<tab>u <09><><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD>¼)<tab>u
menutrans Goto\ Next\ Dir\ (History)<tab>U ǰ<EFBFBD><EFBFBD>(<EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD>¼)<tab>U
menutrans List<tab>qb <09><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><tab>qb
" }}}
menutrans Browsing\ Control <09><><EFBFBD><EFBFBD>
" Netrw.Browsing Control menuitems {{{2
menutrans Horizontal\ Split<tab>o <09>ڲ<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><tab>o
menutrans Vertical\ Split<tab>v <09>ڴ<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><tab>v
menutrans New\ Tab<tab>t <09>ڱ<EFBFBD>ǩҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><tab>t
menutrans Preview<tab>p Ԥ<EFBFBD><EFBFBD><tab>p
menutrans Edit\ File\ Hiding\ List<tab><ctrl-h> <09><EFBFBD><E0BCAD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Hiding\ List)<tab><ctrl-h>
menutrans Edit\ Sorting\ Sequence<tab>S <09><EFBFBD><E0BCAD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Sorting\ Sequence)<tab>S
menutrans Quick\ Hide/Unhide\ Dot\ Files<tab>gh <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>\.<2E><>ͷ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><tab>gh
menutrans Refresh\ Listing<tab><ctrl-l> ˢ<EFBFBD><EFBFBD><tab><ctrl-l>
menutrans Settings/Options<tab>:NetrwSettings <09><><EFBFBD><EFBFBD>/ѡ<EFBFBD><EFBFBD><tab>:NetrwSettings
" }}}
menutrans Delete\ File/Directory<tab>D ɾ<><C9BE><EFBFBD>ļ<EFBFBD>/Ŀ¼<tab>D
menutrans Edit\ File/Dir <09><EFBFBD>ļ<EFBFBD>/Ŀ¼
" Netrw.Edit File menuitems {{{2
menutrans Create\ New\ File<tab>% <09>½<EFBFBD><C2BD>ļ<EFBFBD><tab>%
menutrans In\ Current\ Window<tab><cr> <09>ڵ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><tab><cr>
menutrans Preview\ File/Directory<tab>p Ԥ<><D4A4><EFBFBD>ļ<EFBFBD>/Ŀ¼<tab>p
menutrans In\ Previous\ Window<tab>P <09><><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><tab>P
menutrans In\ New\ Window<tab>o <09><><EFBFBD>´<EFBFBD><C2B4><EFBFBD><tab>o
menutrans In\ New\ Tab<tab>t <09><><EFBFBD>±<EFBFBD>ǩҳ<tab>t
menutrans In\ New\ Vertical\ Window<tab>v <09><><EFBFBD>´<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><tab>v
" }}}
menutrans Explore <09><><EFBFBD><EFBFBD>
" Netrw.Explore menuitems {{{2
menutrans Directory\ Name ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>
menutrans Filenames\ Matching\ Pattern\ (curdir\ only)<tab>:Explore\ */ ƥ<><C6A5>ָ<EFBFBD><D6B8><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ģʽ(<28><>ǰĿ¼)<tab>:Explore\ */
menutrans Filenames\ Matching\ Pattern\ (+subdirs)<tab>:Explore\ **/ ƥ<><C6A5>ָ<EFBFBD><D6B8><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ģʽ(<28><><EFBFBD><EFBFBD>Ŀ¼)<tab>:Explore\ **/
menutrans Files\ Containing\ String\ Pattern\ (curdir\ only)<tab>:Explore\ *// <09><><EFBFBD>ݰ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ģʽ(<EFBFBD><EFBFBD>ǰĿ¼)<tab>:Explore\ *//
menutrans Files\ Containing\ String\ Pattern\ (+subdirs)<tab>:Explore\ **// <09><><EFBFBD>ݰ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ģʽ(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼)<tab>:Explore\ **//
menutrans Next\ Match<tab>:Nexplore <09><>һ<EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><tab>:Nexplore
menutrans Prev\ Match<tab>:Pexplore <09><>һ<EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><tab>:Pexplore
" }}}
menutrans Make\ Subdirectory<tab>d <09>½<EFBFBD><C2BD><EFBFBD>Ŀ¼<tab>d
menutrans Marked\ Files ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Marked)<EFBFBD>ļ<EFBFBD>
" Netrw.Marked Files menuitems {{{2
menutrans Mark\ File<tab>mf ѡ<EFBFBD><EFBFBD>(Mark)/ȡ<EFBFBD><EFBFBD><tab>mf
menutrans Mark\ Files\ by\ Regexp<tab>mr <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ(Regexp)ѡ<EFBFBD><EFBFBD><tab>mr
menutrans Hide-Show-List\ Control<tab>a <09><><EFBFBD><EFBFBD>/<2F><>ʾ<tab>a
menutrans Copy\ To\ Target<tab>mc <09><><EFBFBD>Ƶ<EFBFBD>Ŀ<EFBFBD><EFBFBD><tab>mc
menutrans Delete<tab>D ɾ<EFBFBD><EFBFBD><tab>D
menutrans Diff<tab>md <09><><EFBFBD><EFBFBD>(Diff)<tab>md
menutrans Edit<tab>me <09><tab>me
menutrans Exe\ Cmd<tab>mx <09><>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><tab>mx
menutrans Move\ To\ Target<tab>mm <09>ƶ<EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><tab>mm
menutrans Obtain<tab>O <09><>ȡ<tab>O
menutrans Print<tab>mp <09><>ӡ<tab>mp
menutrans Replace<tab>R <09><tab>R
menutrans Set\ Target<tab>mt <09><><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><tab>mt
menutrans Tag<tab>mT <09><><EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>(Tags)<tab>mT
menutrans Zip/Unzip/Compress/Uncompress<tab>mz ѹ<><D1B9>/<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><tab>mz
" }}}
menutrans Obtain\ File<tab>O <09><>ȡ<EFBFBD>ļ<EFBFBD><tab>O
menutrans Style <09><>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
" Netrw.Style menuitems {{{2
menutrans Listing <09>б<EFBFBD><EFBFBD><EFBFBD>ʽ
" Netrw.Style.Listing menuitems {{{3
menutrans thin<tab>i <09><><EFBFBD><EFBFBD><thin)<tab>i
menutrans long<tab>i <09><>ϸ(long)<tab>i
menutrans wide<tab>i <09><><EFBFBD><EFBFBD>(wide)<tab>i
menutrans tree<tab>i <09><>״(tree)<tab>i
" }}}
menutrans Normal-Hide-Show <09><>ʾ/<2F><><EFBFBD><EFBFBD>
" Netrw.Style.Normal-Hide_show menuitems {{{3
menutrans Show\ All<tab>a <09><>ʾȫ<EFBFBD><EFBFBD>
menutrans Normal<tab>a <09><><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
menutrans Hidden\ Only<tab>a ֻ<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
" }}}
menutrans Reverse\ Sorting\ Order<tab>r <09><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><tab>r
menutrans Sorting\ Method <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
" Netrw.Style.Sorting Method menuitems {{{3
menutrans Name<tab>s <09>ļ<EFBFBD><EFBFBD><EFBFBD><tab>s
menutrans Time<tab>s <09>޸<EFBFBD>ʱ<EFBFBD><EFBFBD><tab>s
menutrans Size<tab>s <09><>С<tab>s
menutrans Exten<tab>s <09><>չ<EFBFBD><EFBFBD><tab>s
" }}}
" }}}
menutrans Rename\ File/Directory<tab>R <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>/Ŀ¼<tab>R
menutrans Set\ Current\ Directory<tab>c <09><><EFBFBD><EFBFBD>\ Vim\ <20><><EFBFBD><EFBFBD>Ŀ¼<tab>c
menutrans Targets Ŀ<EFBFBD><EFBFBD>
" endif
" }}}
let &cpo = s:keepcpo
unlet s:keepcpo
" vim: set nu ts=4 sw=4 noet fdm=marker fdc=4 :

View File

@ -27,11 +27,11 @@ menutrans &Version &Верзија
menutrans &About &О\ програму
" File menu
menutrans &File &Датотека
menutrans &File &Фајл
menutrans &Open\.\.\.<Tab>:e &Отвори\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp &Подели-отвори\.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew Отвори\ картицу\.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew &Нова<Tab>:enew
menutrans &New<Tab>:enew &Нов<Tab>:enew
menutrans &Close<Tab>:close &Затвори<Tab>:close
menutrans &Save<Tab>:w &Сачувај<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav Сачувај\ &као\.\.\.<Tab>:sav
@ -43,14 +43,14 @@ menutrans E&xit<Tab>:qa К&рај<Tab>:qa
" Edit menu
menutrans &Edit &Уређивање
menutrans &Undo<Tab>u &Врати<Tab>u
menutrans &Redo<Tab>^R &Поврати<Tab>^R
menutrans &Undo<Tab>u &Поништи<Tab>u
menutrans &Redo<Tab>^R &Врати\ измену<Tab>^R
menutrans Rep&eat<Tab>\. П&онови<Tab>\.
menutrans Cu&t<Tab>"+x Исе&ци<Tab>"+x
menutrans &Copy<Tab>"+y &Копирај<Tab>"+y
menutrans &Paste<Tab>"+gP &Убаци<Tab>"+gP
menutrans &Paste<Tab>"+P &Убаци<Tab>"+gP
menutrans Put\ &Before<Tab>[p Стави\ пре&д<Tab>[p
menutrans &Paste<Tab>"+P &Убаци<Tab>"+P
menutrans Put\ &Before<Tab>[p Стави\ испре&д<Tab>[p
menutrans Put\ &After<Tab>]p Стави\ &иза<Tab>]p
menutrans &Delete<Tab>x Из&бриши<Tab>x
menutrans &Select\ all<Tab>ggVG Изабери\ св&е<Tab>ggVG
@ -59,11 +59,11 @@ menutrans Find\ and\ Rep&lace\.\.\. Нађи\ и\ &замени\.\.\.
menutrans Settings\ &Window П&розор\ подешавања
menutrans Startup\ &Settings По&дешавања\ при\ покретању
menutrans &Global\ Settings Оп&шта\ подешавања
menutrans F&ile\ Settings Подешавања\ за\ да&тотеке
menutrans &Shiftwidth &Померај
menutrans F&ile\ Settings Подешавања\ за\ фај&лове
menutrans &Shiftwidth &Корак\ увлачења
menutrans Soft\ &Tabstop &Мека\ табулација
menutrans Te&xt\ Width\.\.\. &Ширина\ текста\.\.\.
menutrans &File\ Format\.\.\. &Врста\ датотеке\.\.\.
menutrans &File\ Format\.\.\. &Врста\ фајла\.\.\.
menutrans Show\ C&olor\ Schemes\ in\ Menu Прикажи\ шеме\ бо&ја\ у\ менију
menutrans C&olor\ Scheme \Шеме\ бо&ја
menutrans Show\ &Keymaps\ in\ Menu Прикажи\ прес&ликавања\ тастатуре\ у\ менију
@ -71,15 +71,15 @@ menutrans &Keymap Прес&ликавања\ тастатуре
menutrans Select\ Fo&nt\.\.\. Избор\ &фонта\.\.\.
" Edit/Global Settings
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Нагласи\ &образце\ (да/не)<Tab>:set\ hls!
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Истицање\ &шаблона\ (да/не)<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! Занемари\ величину\ &слова\ (да/не)<Tab>:set\ ic!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! Провери\ пратећу\ &заграду\ (да/не)<Tab>:set\ sm!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! Прикажи\ упарену\ &заграду\ (да/не)<Tab>:set\ sm!
menutrans &Context\ lines Видљиви\ &редови
menutrans &Virtual\ Edit Виртуелно\ &уређивање
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Режим\ у&носа\ (да/не)<Tab>:set\ im!
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Режим\ У&метање\ (да/не)<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! '&Vi'\ сагласно\ (да/не)<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. Путања\ &претраге\.\.\.
menutrans Ta&g\ Files\.\.\. &Датотеке\ ознака\.\.\.
menutrans Ta&g\ Files\.\.\. &Фајлови\ ознака\.\.\.
menutrans Toggle\ &Toolbar Линија\ са\ &алаткама\ (да/не)
menutrans Toggle\ &Bottom\ Scrollbar Доња\ л&инија\ клизања\ (да/не)
menutrans Toggle\ &Left\ Scrollbar &Лева\ линија\ клизања\ (да/не)
@ -88,8 +88,8 @@ menutrans Toggle\ &Right\ Scrollbar &Десна\ линија\ клизања\ (
" Edit/Global Settings/Virtual Edit
menutrans Never Никад
menutrans Block\ Selection Избор\ блока
menutrans Insert\ mode Режим\ уноса
menutrans Block\ and\ Insert Блок\ и\ унос
menutrans Insert\ mode Режим\ Уметање
menutrans Block\ and\ Insert Блок\ и\ Уметање
menutrans Always Увек
" Edit/File Settings
@ -109,13 +109,13 @@ menutrans None Без\ пресликавања
menutrans &Tools &Алатке
menutrans &Jump\ to\ this\ tag<Tab>g^] Скочи\ на\ &ову\ ознаку<Tab>g^]
menutrans Jump\ &back<Tab>^T Скочи\ &натраг<Tab>^T
menutrans Build\ &Tags\ File Изгради\ &датотеку\ ознака
menutrans Build\ &Tags\ File Изгради\ &фајл\ ознака
menutrans &Spelling Пра&вопис
menutrans &Folding &Подвијање
menutrans Create\ &Fold<Tab>zf С&твори\ подвијутак<Tab>zf
menutrans &Delete\ Fold<Tab>zd О&бриши\ подвијутак<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD Обриши\ све\ по&двијутке<Tab>zD
menutrans Fold\ column\ &width Ширина\ &реда\ подвијутка
menutrans Create\ &Fold<Tab>zf С&твори\ свијутак<Tab>zf
menutrans &Delete\ Fold<Tab>zd О&бриши\ свијутак<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD Обриши\ све\ св&ијутке<Tab>zD
menutrans Fold\ column\ &width Ширина\ &реда\ цвијутка
"menutrans &Diff &Упоређивање
menutrans &Make<Tab>:make 'mak&е'<Tab>:make
menutrans &List\ Errors<Tab>:cl Списак\ &грешака<Tab>:cl
@ -146,15 +146,15 @@ menutrans Set\ Language\ to\ "en_us" Постави\ језик\ на\ "en_us"
menutrans &Find\ More\ Languages Пронађи\ још\ језика
" Tools/Folding
menutrans &Enable/Disable\ folds<Tab>zi &Омогући/прекини\ подвијање<Tab>zi
menutrans &Enable/Disable\ folds<Tab>zi &Омогући/прекини\ свијање<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv &Покажи\ ред\ са\ курсором<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx Покажи\ &само\ ред\ са\ курсором<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm &Затвори\ више\ подвијутака<Tab>zm
menutrans &Close\ all\ folds<Tab>zM Затвори\ с&ве\ подвијутке<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr Отвори\ виш&е\ подвијутака<Tab>zr
menutrans &Open\ all\ folds<Tab>zR О&твори\ све\ подвијутке<Tab>zR
menutrans C&lose\ more\ folds<Tab>zm &Затвори\ више\ свијутака<Tab>zm
menutrans &Close\ all\ folds<Tab>zM Затвори\ с&ве\ свијутке<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr Отвори\ виш&е\ свијутака<Tab>zr
menutrans &Open\ all\ folds<Tab>zR О&твори\ све\ свијутке<Tab>zR
menutrans Fold\ Met&hod &Начин\ подвијања
menutrans Fold\ Col&umn\ Width Ширина\ колоне\ испред\ подвијутака
menutrans Fold\ Col&umn\ Width Ширина\ колоне\ испред\ свијутака
" Tools/Folding/Fold Method
menutrans M&anual &Ручно
@ -181,7 +181,7 @@ menutrans Delete &Обриши
menutrans &Alternate А&лтернативни
menutrans &Next &Следећи
menutrans &Previous &Претходни
menutrans [No\ File] [Нема\ датотеке]
menutrans [No\ File] [Нема\ фајла]
" Window menu
menutrans &Window &Прозор
@ -189,7 +189,7 @@ menutrans &New<Tab>^Wn &Нови<Tab>^Wn
menutrans S&plit<Tab>^Ws &Подели<Tab>^Ws
menutrans Sp&lit\ To\ #<Tab>^W^^ Подели\ са\ &алтернативним<Tab>^W^^
menutrans Split\ &Vertically<Tab>^Wv Подели\ &усправно<Tab>^Wv
menutrans Split\ File\ E&xplorer Подели\ за\ преглед\ &датотека
menutrans Split\ File\ E&xplorer Подели\ за\ преглед\ &фајлова
menutrans &Close<Tab>^Wc &Затвори<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo Затвори\ &остале<Tab>^Wo
"menutrans Ne&xt<Tab>^Ww &Следећи<Tab>^Ww
@ -210,7 +210,7 @@ menutrans &Left\ side<Tab>^WH У&лево<Tab>^WH
menutrans &Right\ side<Tab>^WL У&десно<Tab>^WL
" The popup menu
menutrans &Undo &Врати
menutrans &Undo &Поништи
menutrans Cu&t &Исеци
menutrans &Copy &Копирај
menutrans &Paste &Убаци
@ -218,7 +218,7 @@ menutrans &Delete И&збриши
menutrans Select\ Blockwise Бирај\ б&локовски
menutrans Select\ &Word Изабери\ &реч
menutrans Select\ &Sentence Изабери\ р&еченицу
menutrans Select\ Pa&ragraph Изабери\ &параграф
menutrans Select\ Pa&ragraph Изабери\ &пасус
menutrans Select\ &Line Изабери\ р&ед
menutrans Select\ &Block Изабери\ &блок
menutrans Select\ &All Изабери\ &све
@ -264,13 +264,13 @@ endif
" Syntax menu
menutrans &Syntax &Синтакса
menutrans &Show\ File\ Types\ in\ Menu Прикажи\ типове\ датотека\ у\ &менију
menutrans &Show\ File\ Types\ in\ Menu Прикажи\ типове\ фајлова\ у\ &менију
menutrans Set\ '&syntax'\ only Поде&си\ само\ 'syntax'
menutrans Set\ '&filetype'\ too Подеси\ &такође\ и\ 'filetype'
menutrans &Off &Искључено
menutrans &Manual &Ручно
menutrans A&utomatic &Аутоматски
menutrans on/off\ for\ &This\ file Да/не\ за\ ову\ &датотеку
menutrans on/off\ for\ &This\ file Да/не\ за\ овај\ &фајл
menutrans Co&lor\ test Провера\ &боја
menutrans &Highlight\ test Провера\ исти&цања
menutrans &Convert\ to\ HTML Претвори\ &у\ HTML
@ -278,17 +278,17 @@ menutrans &Convert\ to\ HTML Претвори\ &у\ HTML
" dialog texts
let menutrans_help_dialog = "Унесите наредбу или реч чије појашњење тражите:\n\nДодајте i_ за наредбе уноса (нпр. i_CTRL-X)\nДодајте c_ за наредбе командног режима (нпр. с_<Del>)\nДодајте ' за имена опција (нпр. 'shiftwidth')"
let g:menutrans_path_dialog = "Унесите пут претраге за датотеке\nРаздвојите зарезима имена директоријума."
let g:menutrans_path_dialog = "Унесите путању претраге за фајлове\nРаздвојите зарезима имена директоријума."
let g:menutrans_tags_dialog = "Унесите имена датотека са ознакама\nРаздвојите зарезима имена."
let g:menutrans_tags_dialog = "Унесите имена фајлова са ознакама\nРаздвојите зарезима имена."
let g:menutrans_textwidth_dialog = "Унесите нову ширину текста (0 спречава прелом)"
let g:menutrans_fileformat_dialog = "Изаберите формат записа датотеке"
let g:menutrans_fileformat_dialog = "Изаберите формат записа фајла"
let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\n&Откажи"
let menutrans_no_file = "[Нема датотеке]"
let menutrans_no_file = "[Нема фајла]"
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@ -1,273 +1,13 @@
" Menu Translations: Simplified Chinese
" Maintainer: Shun Bai <baishunde@gmail.com>
" Previous Maintainer: Yuheng Xie <elephant@linux.net.cn>
" Last Change: 2014 Oct 15
" vim: ts=8 sw=8 noet
" Quit when menu translations have already been done.
if exists("did_menu_trans")
finish
endif
let did_menu_trans = 1
let s:keepcpo= &cpo
set cpo&vim
" Last Change: 2019-09-09
" This causes trouble for a broken iconv (symptom: last character is always
" ??). Without this it works fine anyway, because gbk/cp936 is a superset of
" gb2312. (suggested by Edward L. Fox)
" scriptencoding gb2312
" Help menu
menutrans &Help <09><><EFBFBD><EFBFBD>(&H)
menutrans &Overview<Tab><F1> <09><><EFBFBD><EFBFBD>(&O)<Tab><F1>
menutrans &User\ Manual <09>û<EFBFBD><EFBFBD>ֲ<EFBFBD>(&U)
menutrans &How-to\ links How-to\ ָ<EFBFBD><EFBFBD>(&H)
menutrans &Find\.\.\. <09><><EFBFBD><EFBFBD>(&F)\.\.\.
menutrans &Credits <09><>л(&C)
menutrans Co&pying <09><>Ȩ(&P)
menutrans &Sponsor/Register <09><><EFBFBD><EFBFBD>/ע<EFBFBD><EFBFBD>(&S)
menutrans O&rphans <09><EFBFBD>(&R)
menutrans &Version <09>(&V)
menutrans &About <09><><EFBFBD><EFBFBD>(&A)
" File menu
menutrans &File <09>ļ<EFBFBD>(&F)
menutrans &Open\.\.\.<Tab>:e <09><><EFBFBD><EFBFBD>(&O)\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp <09>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)\.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew <09>򿪱<EFBFBD>ǩ\.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew <09>½<EFBFBD>(&N)<Tab>:enew
menutrans &Close<Tab>:close <09>ر<EFBFBD>(&C)<Tab>:close
menutrans &Save<Tab>:w <09><><EFBFBD><EFBFBD>(&S)<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav <09><><EFBFBD><EFBFBD>Ϊ(&A)\.\.\.<Tab>:sav
menutrans Split\ &Diff\ with\.\.\. <09>ָ<EFBFBD><EFBFBD>Ƚ<EFBFBD>(Diff)(&D)\.\.\.
menutrans Split\ Patched\ &By\.\.\. <09>ָ<EFBFBD><EFBFBD>򲹶<EFBFBD>(Patch)(&B)\.\.\.
menutrans &Print <09><>ӡ(&P)
menutrans Sa&ve-Exit<Tab>:wqa <09><><EFBFBD><EFBFBD>˳<EFBFBD>(&V)<Tab>:wqa
menutrans E&xit<Tab>:qa <09>˳<EFBFBD>(&X)<Tab>:qa
" Edit menu
menutrans &Edit <09>(&E)
menutrans &Undo<Tab>u <09><><EFBFBD><EFBFBD>(&U)<Tab>u
menutrans &Redo<Tab>^R <09><><EFBFBD><EFBFBD>(&R)<Tab>^R
menutrans Rep&eat<Tab>\. <09>ظ<EFBFBD><EFBFBD>ϴβ<EFBFBD><EFBFBD><EFBFBD>(&E)<Tab>\.
menutrans Cu&t<Tab>"+x <09><><EFBFBD><EFBFBD>(&T)<Tab>"+x
menutrans &Copy<Tab>"+y <09><><EFBFBD><EFBFBD>(&C)<Tab>"+y
menutrans &Paste<Tab>"+gP ճ<><D5B3>(&P)<Tab>"+gP
menutrans Put\ &Before<Tab>[p ճ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ(&B)<Tab>[p
menutrans Put\ &After<Tab>]p ճ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&A)<Tab>]p
menutrans &Delete<Tab>x ɾ<EFBFBD><EFBFBD>(&D)<Tab>x
menutrans &Select\ All<Tab>ggVG ȫѡ(&S)<Tab>ggVG
menutrans &Find\.\.\. <09><><EFBFBD><EFBFBD>(&F)\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. <09><><EFBFBD>Һ<EFBFBD><EFBFBD>(&L)\.\.\.
menutrans &Find<Tab>/ <09><><EFBFBD><EFBFBD>(&F)<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s <09><><EFBFBD>Һ<EFBFBD><EFBFBD>(&L)<Tab>:%s
menutrans Settings\ &Window <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)
menutrans Startup\ &Settings <09><><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans &Global\ Settings ȫ<EFBFBD><EFBFBD><EFBFBD>(&G)
" Edit/Global Settings
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! <09><>/<2F><>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)<Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! <09><>/<2F>غ<EFBFBD><EFBFBD>Դ<EFBFBD>Сд(&I)<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! <09><>/<2F><><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)<Tab>:set\ sm!
menutrans &Context\ lines <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)
menutrans &Virtual\ Edit <09><><EFBFBD><EFBFBD><EFBFBD>(&V)
menutrans Never <09>Ӳ<EFBFBD>
menutrans Block\ Selection <09><>ѡ<EFBFBD><EFBFBD>
menutrans Insert\ mode <09><><EFBFBD><EFBFBD>ģʽ
menutrans Block\ and\ Insert <09><>ѡ<EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD>ģʽ
menutrans Always <09><><EFBFBD><EFBFBD>
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! <09><>/<2F>ز<EFBFBD><EFBFBD><EFBFBD>ģʽ(&M)<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! <09><>/<2F><>\ Vi\ <20><><EFBFBD><EFBFBD><Tab>:set\ cp!
menutrans Search\ &Path\.\.\. <09><><EFBFBD><EFBFBD>·<EFBFBD><C2B7>(&P)\.\.\.
menutrans Ta&g\ Files\.\.\. Tag\ <20>ļ<EFBFBD>(&T)\.\.\.
" GUI options
menutrans Toggle\ &Toolbar <09><>/<2F>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans Toggle\ &Bottom\ Scrollbar <09><>/<2F>صײ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)
menutrans Toggle\ &Left\ Scrollbar <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><CBB9><EFBFBD><EFBFBD><EFBFBD>(&L)
menutrans Toggle\ &Right\ Scrollbar <09><>/<2F><><EFBFBD>Ҷ˹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)
" Edit/File Settings
menutrans F&ile\ Settings <09>ļ<EFBFBD><EFBFBD>(&I)
" Boolean options
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! <09><>/<2F><><EFBFBD><EFBFBD>ʾ<EFBFBD>к<EFBFBD>(&N)<Tab>:set\ nu!
menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu! <20><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>(&V)<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! <09><>/<2F><>\ list\ ģʽ(&L)<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>:set\ wrap!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)<Tab>:set\ lbr!
menutrans Toggle\ &expand-tab<Tab>:set\ et! <09><>/<2F><><EFBFBD><EFBFBD>չ\ tab(&E)<Tab>:set\ et!
menutrans Toggle\ &auto-indent<Tab>:set\ ai! <09><>/<2F><><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&A)<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! <09><>/<2F><>\ C\ <20><><EFBFBD><EFBFBD>(&C)<Tab>:set\ cin!
" other options
menutrans &Shiftwidth <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Soft\ &Tabstop Soft\ Tab\ <20><><EFBFBD><EFBFBD>(&T)
menutrans Te&xt\ Width\.\.\. <09>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&X)\.\.\.
menutrans &File\ Format\.\.\. <09>ļ<EFBFBD><EFBFBD><EFBFBD>ʽ(&F)\.\.\.
menutrans C&olor\ Scheme <09><>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)
menutrans Select\ Fo&nt\.\.\. ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)\.\.\.
menutrans &Keymap <09><><EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD>(&K)
" Programming menu
menutrans &Tools <09><><EFBFBD><EFBFBD>(&T)
menutrans &Jump\ to\ this\ tag<Tab>g^] <09><>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ tag(&J)<Tab>g^]
menutrans Jump\ &back<Tab>^T <09><>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)<Tab>^T
menutrans Build\ &Tags\ File <09><><EFBFBD><EFBFBD>\ Tags\ <20>ļ<EFBFBD>(&T)
" Tools.Spelling Menu
menutrans &Spelling ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans &Spell\ Check\ On <09><><EFBFBD><EFBFBD>ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Spell\ Check\ &Off <09>ر<EFBFBD>ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)
menutrans To\ &Next\ error<Tab>]s <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)<Tab>]s
menutrans To\ &Previous\ error<Tab>[s <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&P)<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)<Tab>z=
menutrans &Repeat\ correction<Tab>:spellrepall <09>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)<Tab>:spellrepall
menutrans Set\ language\ to\ "en" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en"
menutrans Set\ language\ to\ "en_au" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_au"
menutrans Set\ language\ to\ "en_ca" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_ca"
menutrans Set\ language\ to\ "en_gb" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_gb"
menutrans Set\ language\ to\ "en_nz" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_nz"
menutrans Set\ language\ to\ "en_us" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_us"
menutrans &Find\ More\ Languages <09><><EFBFBD>Ҹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&F)
" Tools.Fold Menu
" open close folds
menutrans &Folding <09>۵<EFBFBD>(&F)
menutrans &Enable/Disable\ folds<Tab>zi <09><><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm <09>رո<EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&L)<Tab>zm
menutrans &Close\ all\ folds<Tab>zM <09>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr <09>򿪸<EFBFBD><F2BFAAB8><EFBFBD><EFBFBD>۵<EFBFBD>(&P)<Tab>zr
menutrans &Open\ all\ folds<Tab>zR <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&O)<Tab>zR
" fold method
menutrans Fold\ Met&hod <09>۵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)
menutrans M&anual <09>ֹ<EFBFBD>(&A)
menutrans I&ndent <09><><EFBFBD><EFBFBD>(&N)
menutrans E&xpression <09><><EFBFBD><EFBFBD>ʽ(&X)
menutrans S&yntax <09>(&Y)
menutrans &Diff <09>Ƚ<EFBFBD>(Diff)(&D)
menutrans Ma&rker <09><><EFBFBD><EFBFBD>(&R)
" create and delete folds
menutrans Create\ &Fold<Tab>zf <09><><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd ɾ<EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&A)<Tab>zD
" moving around in folds
menutrans Fold\ column\ &width <09>۵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)
" Tools.Diff Menu
menutrans &Diff <09>Ƚ<EFBFBD>(Diff)(&D)
menutrans &Update <09><><EFBFBD><EFBFBD>(&U)
menutrans &Get\ Block <09>õ<EFBFBD><EFBFBD><EFBFBD>(&G)
menutrans &Put\ Block <09><><EFBFBD>ÿ<EFBFBD>(&P)
menutrans &Make<Tab>:make Make(&M)<Tab>:make
menutrans &List\ Errors<Tab>:cl <09>г<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! <09>г<EFBFBD><EFBFBD><EFBFBD>Ϣ(&I)<Tab>:cl!
menutrans &Next\ Error<Tab>:cn <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)<Tab>:cn
menutrans &Previous\ Error<Tab>:cp <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&P)<Tab>:cp
menutrans &Older\ List<Tab>:cold <09><><EFBFBD>ɵĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>(&O)<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew <09><><EFBFBD>µĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>(&E)<Tab>:cnew
menutrans Error\ &Window <09><><EFBFBD>󴰿<EFBFBD>(&W)
menutrans &Update<Tab>:cwin <09><><EFBFBD><EFBFBD>(&U)<Tab>:cwin
menutrans &Open<Tab>:copen <09><><EFBFBD><EFBFBD>(&O)<Tab>:copen
menutrans &Close<Tab>:cclose <09>ر<EFBFBD>(&C)<Tab>:cclose
menutrans &Convert\ to\ HEX<Tab>:%!xxd ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>:%!xxd
menutrans Conve&rt\ back<Tab>:%!xxd\ -r ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>:%!xxd\ -r
menutrans Se&T\ Compiler <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&T)
" Names for buffer menu.
menutrans &Buffers <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)
menutrans &Refresh\ menu <09><><EFBFBD>²˵<C2B2>(&R)
menutrans &Delete ɾ<EFBFBD><EFBFBD>(&D)
menutrans &Alternate <09><><EFBFBD><EFBFBD>(&A)
menutrans &Next <09><>һ<EFBFBD><EFBFBD>(&N)
menutrans &Previous <09><>һ<EFBFBD><EFBFBD>(&P)
" Window menu
menutrans &Window <09><><EFBFBD><EFBFBD>(&W)
menutrans &New<Tab>^Wn <09>½<EFBFBD>(&N)<Tab>^Wn
menutrans S&plit<Tab>^Ws <09>ָ<EFBFBD>(&P)<Tab>^Ws
menutrans Sp&lit\ To\ #<Tab>^W^^ <09>ָ\ #(&L)<Tab>^W^^
menutrans Split\ &Vertically<Tab>^Wv <09><>ֱ<EFBFBD>ָ<EFBFBD>(&V)<Tab>^Wv
menutrans Split\ File\ E&xplorer <09>ָ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&X)
menutrans &Close<Tab>^Wc <09>ر<EFBFBD>(&C)<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo <09>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)<Tab>^Wo
menutrans Move\ &To <09>ƶ<EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans &Top<Tab>^WK <09><><EFBFBD><EFBFBD>(&T)<Tab>^WK
menutrans &Bottom<Tab>^WJ <09>׶<EFBFBD>(&B)<Tab>^WJ
menutrans &Left\ side<Tab>^WH <09><><EFBFBD><EFBFBD>(&L)<Tab>^WH
menutrans &Right\ side<Tab>^WL <09>ұ<EFBFBD>(&R)<Tab>^WL
" menutrans Ne&xt<Tab>^Ww <09><>һ<EFBFBD><D2BB>(&X)<Tab>^Ww
" menutrans P&revious<Tab>^WW <09><>һ<EFBFBD><D2BB>(&R)<Tab>^WW
menutrans Rotate\ &Up<Tab>^WR <09><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>(&U)<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr <09><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>(&D)<Tab>^Wr
menutrans &Equal\ Size<Tab>^W= <09>ȴ<EFBFBD>(&E)<Tab>^W=
menutrans &Max\ Height<Tab>^W_ <09><><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>(&M)<Tab>^W
menutrans M&in\ Height<Tab>^W1_ <09><>С<EFBFBD>߶<EFBFBD>(&I)<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| <09><>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)<Tab>^W1\|
"
" The popup menu
menutrans &Undo <09><><EFBFBD><EFBFBD>(&U)
menutrans Cu&t <09><><EFBFBD><EFBFBD>(&T)
menutrans &Copy <09><><EFBFBD><EFBFBD>(&C)
menutrans &Paste ճ<EFBFBD><EFBFBD>(&P)
menutrans &Delete ɾ<EFBFBD><EFBFBD>(&D)
menutrans Select\ Blockwise ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
menutrans Select\ &Word ѡ<EFBFBD>񵥴<EFBFBD>(&W)
menutrans Select\ &Sentence ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Select\ Pa&ragraph ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)
menutrans Select\ &Line ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)
menutrans Select\ &Block ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)
menutrans Select\ &All ȫѡ(&A)
"
" The GUI toolbar
if has("toolbar")
if exists("*Do_toolbar_tmenu")
delfun Do_toolbar_tmenu
endif
fun Do_toolbar_tmenu()
tmenu ToolBar.Open <09><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
tmenu ToolBar.Save <09><><EFBFBD>浱ǰ<EFBFBD>ļ<EFBFBD>
tmenu ToolBar.SaveAll <09><><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
tmenu ToolBar.Print <09><>ӡ
tmenu ToolBar.Undo <09><><EFBFBD><EFBFBD>
tmenu ToolBar.Redo <09><><EFBFBD><EFBFBD>
tmenu ToolBar.Cut <09><><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmenu ToolBar.Copy <09><><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmenu ToolBar.Paste <09>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ճ<EFBFBD><EFBFBD>
tmenu ToolBar.Find <09><><EFBFBD><EFBFBD>...
tmenu ToolBar.FindNext <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
tmenu ToolBar.FindPrev <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
tmenu ToolBar.Replace <09><><EFBFBD>Һ<EFBFBD><EFBFBD>...
tmenu ToolBar.LoadSesn <09><><EFBFBD>ػỰ
tmenu ToolBar.SaveSesn <09><><EFBFBD>浱ǰ<EFBFBD>
tmenu ToolBar.RunScript <09><><EFBFBD><EFBFBD> Vim <20>ű<EFBFBD>
tmenu ToolBar.Make ִ<EFBFBD><EFBFBD> Make (:make)
tmenu ToolBar.RunCtags <09>ڵ<EFBFBD>ǰĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD> tags (!ctags -R .)
tmenu ToolBar.TagJump <09><>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD> tag
tmenu ToolBar.Help Vim <20><><EFBFBD><EFBFBD>
tmenu ToolBar.FindHelp <09><><EFBFBD><EFBFBD> Vim <20><><EFBFBD><EFBFBD>
endfun
endif
" Syntax menu
menutrans &Syntax <09>(&S)
menutrans &Show\ filetypes\ in\ menu <09>ڲ˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans &Off <09>ر<EFBFBD>(&O)
menutrans &Manual <09>ֹ<EFBFBD>(&M)
menutrans A&utomatic <09>Զ<EFBFBD>(&U)
menutrans on/off\ for\ &This\ file <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>/<EFBFBD><EFBFBD>(&T)
menutrans Co&lor\ test ɫ<EFBFBD>ʲ<EFBFBD><EFBFBD><EFBFBD>(&L)
menutrans &Highlight\ test <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)
menutrans &Convert\ to\ HTML ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ HTML(&C)
menutrans Set\ '&syntax'\ only <09><><EFBFBD>\ 'syntax'(&S)
menutrans Set\ '&filetype'\ too Ҳ<EFBFBD>\ 'filetype'(&F)
let &cpo = s:keepcpo
unlet s:keepcpo
" As mentioned above, gbk/cp936 is a superset of (and backward compatible with)
" gb2312, then source the translation encoded in cp936 should be ok. -- Shun
source <sfile>:p:h/menu_zh_cn.cp936.vim

View File

@ -1,270 +1,452 @@
" Menu Translations: Simplified Chinese
" Maintainer: Shun Bai <baishunde@gmail.com>
" Previous Maintainer: Yuheng Xie <elephant@linux.net.cn>
" Last Change: 2014 Oct 15
" vim: ts=8 sw=8 noet
" Last Change: 2019 Sep 11
" Quit when menu translations have already been done.
if exists("did_menu_trans")
finish
endif
let did_menu_trans = 1
let s:keepcpo= &cpo
let s:keepcpo = &cpo
set cpo&vim
scriptencoding utf-8
" Help menu
menutrans &Help 帮助(&H)
menutrans &Overview<Tab><F1> 纵览(&O)<Tab><F1>
menutrans &User\ Manual 用户手册(&U)
menutrans &How-to\ links How-to\ 指引(&H)
menutrans &Find\.\.\. 查找(&F)\.\.\.
menutrans &Credits 致谢(&C)
menutrans Co&pying 版权(&P)
menutrans &Sponsor/Register 赞助/注册(&S)
menutrans O&rphans 孤儿(&R)
menutrans &Version 版本(&V)
menutrans &About 关于(&A)
menutrans &Help 帮助(&H)
" Help menuitems and dialog {{{1
menutrans &Overview<Tab><F1> 概述(&O)<Tab><F1>
menutrans &User\ Manual 用户手册(&U)
menutrans &How-to\ Links 如何使用(&H)
menutrans &Find\.\.\. 查找(&F)\.\.\.
menutrans &Credits 致谢(&C)
menutrans Co&pying 版权(&P)
menutrans &Sponsor/Register 赞助/注册(&S)
menutrans O&rphans 拯救孤儿(&R)
menutrans &Version 版本(&V)
menutrans &About 关于(&A)
" fun! s:Helpfind()
if !exists("g:menutrans_help_dialog")
let g:menutrans_help_dialog = "输入命令或单词以获得帮助:\n\n前缀 i_ 表示输入模式下的命令(如: i_CTRL-X)\n前缀 c_ 表示命令行下的编辑命令(如: c_<Del>)\n前缀 ' 表示选项名(如: 'shiftwidth')"
endif
" }}}
" File menu
menutrans &File 文件(&F)
menutrans &Open\.\.\.<Tab>:e 打开(&O)\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp 分割并打开(&L)\.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew 打开标签\.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew 新建(&N)<Tab>:enew
menutrans &Close<Tab>:close 关闭(&C)<Tab>:close
menutrans &Save<Tab>:w 保存(&S)<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav 另存为(&A)\.\.\.<Tab>:sav
menutrans Split\ &Diff\ with\.\.\. 分割比较(Diff)(&D)\.\.\.
menutrans Split\ Patched\ &By\.\.\. 分割打补丁(Patch)(&B)\.\.\.
menutrans &Print 打印(&P)
menutrans Sa&ve-Exit<Tab>:wqa 保存并退出(&V)<Tab>:wqa
menutrans E&xit<Tab>:qa 退出(&X)<Tab>:qa
menutrans &File 文件(&F)
" File menuitems {{{1
menutrans &Open\.\.\.<Tab>:e 打开(&O)\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp 在拆分窗口打开(&L)\.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew 在标签页打开\.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew 新建(&N)<Tab>:enew
menutrans &Close<Tab>:close 关闭(&C)<Tab>:close
menutrans &Save<Tab>:w 保存(&S)<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav 另存为(&A)\.\.\.<Tab>:sav
menutrans Split\ &Diff\ With\.\.\. 拆分窗口以对比差异(Diff)(&D)\.\.\.
menutrans Split\ Patched\ &By\.\.\. 拆分窗口以进行修补(Patch)(&B)\.\.\.
menutrans &Print 打印(&P)
menutrans Sa&ve-Exit<Tab>:wqa 保存并退出(&V)<Tab>:wqa
menutrans E&xit<Tab>:qa 退出(&X)<Tab>:qa
" }}}
" Edit menu
menutrans &Edit 编辑(&E)
menutrans &Undo<Tab>u 撤销(&U)<Tab>u
menutrans &Redo<Tab>^R 重做(&R)<Tab>^R
menutrans Rep&eat<Tab>\. 重复上次操作(&E)<Tab>\.
menutrans Cu&t<Tab>"+x 剪切(&T)<Tab>"+x
menutrans &Copy<Tab>"+y 复制(&C)<Tab>"+y
menutrans &Paste<Tab>"+gP 粘贴(&P)<Tab>"+gP
menutrans Put\ &Before<Tab>[p 粘贴到光标前(&B)<Tab>[p
menutrans Put\ &After<Tab>]p 粘贴到光标(&A)<Tab>]p
menutrans &Delete<Tab>x 删除(&D)<Tab>x
menutrans &Select\ All<Tab>ggVG 全选(&S)<Tab>ggVG
menutrans &Find\.\.\. 查找(&F)\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. 查找和替换(&L)\.\.\.
menutrans &Find<Tab>/ 查找(&F)<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s 查找和替换(&L)<Tab>:%s
menutrans Settings\ &Window 设定窗口(&W)
menutrans Startup\ &Settings 启动设定(&S)
menutrans &Global\ Settings 全局设定(&G)
menutrans &Edit 编辑(&E)
" Edit menuitems {{{1
menutrans &Undo<Tab>u 撤销(&U)<Tab>u
menutrans &Redo<Tab>^R 恢复(&R)<Tab>^R
menutrans Rep&eat<Tab>\. 重复(&E)<Tab>\.
menutrans Cu&t<Tab>"+x 剪切(&T)<Tab>"+x
menutrans &Copy<Tab>"+y 复制(&C)<Tab>"+y
menutrans &Paste<Tab>"+gP 粘贴(&P)<Tab>"+gP
menutrans Put\ &Before<Tab>[p 粘贴到光标(&B)<Tab>[p
menutrans Put\ &After<Tab>]p 粘贴到光标后(&A)<Tab>]p
menutrans &Delete<Tab>x 删除(&D)<Tab>x
menutrans &Select\ All<Tab>ggVG 全选(&S)<Tab>ggVG
menutrans &Find\.\.\. 查找(&F)\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. 查找和替换(&L)\.\.\.
menutrans &Find<Tab>/ 查找(&F)<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s 查找和替换(&L)<Tab>:%s
menutrans Settings\ &Window 设置窗口(&W)
menutrans Startup\ &Settings 启动设置(&S)
" Edit/Global Settings
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! /关模式高亮(&H)<Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! /关忽略大小写(&I)<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! /显示配对(&S)<Tab>:set\ sm!
menutrans &Context\ lines 上下文行数(&C)
menutrans &Virtual\ Edit 虚拟编辑(&V)
menutrans &Global\ Settings 全局设置(&G)
" Edit.Global Settings menuitems and dialogs {{{2
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! /高亮查找内容(&H)<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! /关忽略大小写(&I)<Tab>:set\ ic!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! /关显示括号匹配(&S)<Tab>:set\ sm!
menutrans &Context\ Lines 上下文行数(&C)
menutrans &Virtual\ Edit 虚拟编辑(&V)
" Edit.Global Settings.Virtual Edit menuitems {{{3
menutrans Never 从不
menutrans Block\ Selection 块选择
menutrans Insert\ mode 插入模式
menutrans Block\ and\ Insert 块选择和插入模式
menutrans Always 总是
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! /关插入模式(&M)<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! /\ Vi\ 兼容<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. 查找路径(&P)\.\.\.
menutrans Ta&g\ Files\.\.\. Tag\ 文件(&T)\.\.\.
menutrans Block\ Selection 只在选定矩形块时
menutrans Insert\ Mode 只在插入模式
menutrans Block\ and\ Insert 在选定矩形块和插入模式
menutrans Always 始终
" }}}
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! /关插入模式(&M)<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! /\ Vi\ 兼容(&O)<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. 搜索路径(&P)\.\.\.
menutrans Ta&g\ Files\.\.\. 标记文件(Tags)(&G)\.\.\.
" GUI options
menutrans Toggle\ &Toolbar /关工具栏(&T)
menutrans Toggle\ &Bottom\ Scrollbar /关底部滚动条(&B)
menutrans Toggle\ &Left\ Scrollbar /关左滚动条(&L)
menutrans Toggle\ &Right\ Scrollbar /关右滚动条(&R)
menutrans Toggle\ &Toolbar /关工具栏(&T)
menutrans Toggle\ &Bottom\ Scrollbar /关底部滚动条(&B)
menutrans Toggle\ &Left\ Scrollbar /关左滚动条(&L)
menutrans Toggle\ &Right\ Scrollbar /关右滚动条(&R)
" fun! s:SearchP()
if !exists("g:menutrans_path_dialog")
let g:menutrans_path_dialog = "输入搜索路径。\n用逗号分隔目录名。"
endif
" fun! s:TagFiles()
if !exists("g:menutrans_tags_dialog")
let g:menutrans_tags_dialog = "输入标记文件(Tags)名称。\n用逗号分隔文件名。"
endif
" }}}
" Edit/File Settings
menutrans F&ile\ Settings 文件设(&I)
menutrans F&ile\ Settings 文件设(&I)
" Edit.File Settings menuitems and dialogs {{{2
" Boolean options
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! /显示行号(&N)<Tab>:set\ nu!
menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu! /关相对行号(&V)<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! /\ list\ 模式(&L)<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! /(&W)<Tab>:set\ wrap!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! /整词折(&R)<Tab>:set\ lbr!
menutrans Toggle\ &expand-tab<Tab>:set\ et! /关扩展\ tab(&E)<Tab>:set\ et!
menutrans Toggle\ &auto-indent<Tab>:set\ ai! /关自动缩进(&A)<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! /\ C\ 缩进(&C)<Tab>:set\ cin!
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! /关行号(&N)<Tab>:set\ nu!
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! /关相对行号(&V)<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! /列表模式(&L)<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrapping<Tab>:set\ wrap! /(&W)<Tab>:set\ wrap!
menutrans Toggle\ W&rapping\ at\ Word<Tab>:set\ lbr! /词尾换(&R)<Tab>:set\ lbr!
menutrans Toggle\ Tab\ &Expanding<Tab>:set\ et! /制表符扩展(&E)<Tab>:set\ et!
menutrans Toggle\ &Auto\ Indenting<Tab>:set\ ai! /关自动缩进(&A)<Tab>:set\ ai!
menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin! /\ C\ 语言式缩进(&C)<Tab>:set\ cin!
" other options
menutrans &Shiftwidth 缩进宽度(&S)
menutrans Soft\ &Tabstop Soft\ Tab\ 宽度(&T)
menutrans Te&xt\ Width\.\.\. 文本宽度(&X)\.\.\.
menutrans &File\ Format\.\.\. 文件格式(&F)\.\.\.
menutrans C&olor\ Scheme 配色方案(&O)
menutrans Select\ Fo&nt\.\.\. 选择字体(&N)\.\.\.
menutrans &Keymap 键盘映射(&K)
menutrans &Shiftwidth 缩进宽度(&S)
menutrans Soft\ &Tabstop 软制表位宽度(Soft Tabstop)(&T)
menutrans Te&xt\ Width\.\.\. 文本宽度(&X)\.\.\.
menutrans &File\ Format\.\.\. 文件格式(&F)\.\.\.
" fun! s:TextWidth()
if !exists("g:menutrans_textwidth_dialog")
let g:menutrans_textwidth_dialog = "输入文本宽度(每行最大字符数0 表示禁用):"
endif
" fun! s:FileFormat()
if !exists("g:menutrans_fileformat_dialog")
let g:menutrans_fileformat_dialog = "选择文件的保存格式:"
endif
if !exists("g:menutrans_fileformat_choices")
let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\n取消(&C)"
endif
" }}}
menutrans Show\ C&olor\ Schemes\ in\ Menu 在菜单中显示配色方案(&O)
menutrans C&olor\ Scheme 配色方案(&O)
menutrans Show\ &Keymaps\ in\ Menu 在菜单中显示键盘映射(&K)
menutrans &Keymap 键盘映射(&K)
menutrans Select\ Fo&nt\.\.\. 选择字体(&N)\.\.\.
" }}}
" Programming menu
menutrans &Tools 工具(&T)
menutrans &Jump\ to\ this\ tag<Tab>g^] 跳转到这个\ tag(&J)<Tab>g^]
menutrans Jump\ &back<Tab>^T 跳转返回(&B)<Tab>^T
menutrans Build\ &Tags\ File 建立\ Tags\ 文件(&T)
menutrans &Tools 工具(&T)
" Tools menuitems {{{1
menutrans &Jump\ to\ This\ Tag<Tab>g^] 跳转到这个标记(Tag)(&J)<Tab>g^]
menutrans Jump\ &Back<Tab>^T 跳转回(&B)<Tab>^T
menutrans Build\ &Tags\ File 生成标记文件(Tags)(&T)
" Tools.Spelling Menu
menutrans &Spelling 拼写检查(&S)
menutrans &Spell\ Check\ On 打开拼写检查(&S)
menutrans Spell\ Check\ &Off 关闭拼写检查(&O)
menutrans To\ &Next\ error<Tab>]s 上一个错误(&N)<Tab>]s
menutrans To\ &Previous\ error<Tab>[s 一个错误(&P)<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= 修正建议(&C)<Tab>z=
menutrans &Repeat\ correction<Tab>:spellrepall 重复修正(&R)<Tab>:spellrepall
menutrans Set\ language\ to\ "en" 设定语言为\ "en"
menutrans Set\ language\ to\ "en_au" 语言为\ "en_au"
menutrans Set\ language\ to\ "en_ca" 语言为\ "en_ca"
menutrans Set\ language\ to\ "en_gb" 语言为\ "en_gb"
menutrans Set\ language\ to\ "en_nz" 语言为\ "en_nz"
menutrans Set\ language\ to\ "en_us" 语言为\ "en_us"
menutrans &Find\ More\ Languages 查找更多语言(&F)
menutrans &Spelling 拼写检查(&S)
" Tools.Spelling menuitems and dialog {{{2
menutrans &Spell\ Check\ On 打开拼写检查(&S)
menutrans Spell\ Check\ &Off 关闭拼写检查(&O)
menutrans To\ &Next\ Error<Tab>]s 一个错误(&N)<Tab>]s
menutrans To\ &Previous\ Error<Tab>[s 下一个错误(&P)<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= 更正建议(&C)<Tab>z=
menutrans &Repeat\ Correction<Tab>:spellrepall 更正全部同类错误(&R)<Tab>:spellrepall
menutrans Set\ Language\ to\ "en" 语言为\ "en"
menutrans Set\ Language\ to\ "en_au" 语言为\ "en_au"
menutrans Set\ Language\ to\ "en_ca" 语言为\ "en_ca"
menutrans Set\ Language\ to\ "en_gb" 语言为\ "en_gb"
menutrans Set\ Language\ to\ "en_nz" 语言为\ "en_nz"
menutrans Set\ Language\ to\ "en_us" 设置语言为\ "en_us"
menutrans &Find\ More\ Languages 查找更多语言(&F)
" func! s:SpellLang()
if !exists("g:menutrans_set_lang_to")
let g:menutrans_set_lang_to = "设置语言为"
endif
" }}}
" Tools.Fold Menu
menutrans &Folding 折叠(&F)
" Tools.Fold menuitems {{{2
" open close folds
menutrans &Folding 折叠(&F)
menutrans &Enable/Disable\ folds<Tab>zi 启用/禁用折叠(&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv 查看此(&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx 仅查看此行(&W)<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm 关闭更多折叠(&L)<Tab>zm
menutrans &Close\ all\ folds<Tab>zM 关闭所有折叠(&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr 打开更多折叠(&P)<Tab>zr
menutrans &Open\ all\ folds<Tab>zR 打开所有折叠(&O)<Tab>zR
menutrans &Enable/Disable\ Folds<Tab>zi 启用/禁用折叠(&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv 展开光标所在行(&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ Only<Tab>zMzx 只展开光标所在(&W)<Tab>zMzx
menutrans C&lose\ More\ Folds<Tab>zm 折叠一级(&L)<Tab>zm
menutrans &Close\ All\ Folds<Tab>zM 折叠全部(&C)<Tab>zM
menutrans O&pen\ More\ Folds<Tab>zr 展开一级(&P)<Tab>zr
menutrans &Open\ All\ Folds<Tab>zR 展开全部(&O)<Tab>zR
" fold method
menutrans Fold\ Met&hod 折叠方(&H)
menutrans M&anual 手工(&A)
menutrans I&ndent 缩进(&N)
menutrans E&xpression 表达式(&X)
menutrans S&yntax 语法(&Y)
menutrans &Diff 比较(Diff)(&D)
menutrans Ma&rker 标记(&R)
menutrans Fold\ Met&hod 折叠方(&H)
" Tools.Fold.Fold Method menuitems {{{3
menutrans M&anual 手动(&A)
menutrans I&ndent 缩进(&N)
menutrans E&xpression 表达式(&X)
menutrans S&yntax 语法(&Y)
menutrans &Diff 差异(Diff)(&D)
menutrans Ma&rker 记号(Marker)(&R)
" }}}
" create and delete folds
menutrans Create\ &Fold<Tab>zf 创建折叠(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd 删除折叠(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD 删除所有折叠(&A)<Tab>zD
menutrans Create\ &Fold<Tab>zf 创建折叠(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd 删除折叠(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD 删除全部折叠(&A)<Tab>zD
" moving around in folds
menutrans Fold\ column\ &width 折叠栏宽度(&W)
menutrans Fold\ Col&umn\ Width 折叠操作栏宽度(&W)
" }}}
" Tools.Diff Menu
menutrans &Diff 比较(Diff)(&D)
menutrans &Update 更新(&U)
menutrans &Get\ Block 得到块(&G)
menutrans &Put\ Block 放置(&P)
menutrans &Diff 差异(Diff)(&D)
" Tools.Diff menuitems {{{2
menutrans &Update 刷新(&U)
menutrans &Get\ Block 采用对侧文本(&G)
menutrans &Put\ Block 采用本侧文本块(&P)
" }}}
menutrans &Make<Tab>:make Make(&M)<Tab>:make
menutrans &List\ Errors<Tab>:cl 列出错误(&L)<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! 列出消息(&I)<Tab>:cl!
menutrans &Next\ Error<Tab>:cn 下一个错误(&N)<Tab>:cn
menutrans &Previous\ Error<Tab>:cp 上一个错误(&P)<Tab>:cp
menutrans &Older\ List<Tab>:cold 旧的错误列表(&O)<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew 新的错误列表(&E)<Tab>:cnew
menutrans Error\ &Window 错误窗口(&W)
menutrans &Update<Tab>:cwin 更新(&U)<Tab>:cwin
menutrans &Make<Tab>:make 生成(Make)(&M)<Tab>:make
menutrans &List\ Errors<Tab>:cl 列出错误(&L)<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! 列出消息(&I)<Tab>:cl!
menutrans &Next\ Error<Tab>:cn 下一个错误(&N)<Tab>:cn
menutrans &Previous\ Error<Tab>:cp 上一个错误(&P)<Tab>:cp
menutrans &Older\ List<Tab>:cold 旧的错误列表(&O)<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew 新的错误列表(&E)<Tab>:cnew
menutrans Error\ &Window 错误窗口(&W)
" Tools.Error Window menuitems {{{2
menutrans &Update<Tab>:cwin 刷新(&U)<Tab>:cwin
menutrans &Open<Tab>:copen 打开(&O)<Tab>:copen
menutrans &Close<Tab>:cclose 关闭(&C)<Tab>:cclose
menutrans &Convert\ to\ HEX<Tab>:%!xxd 转换成十六进制<Tab>:%!xxd
menutrans Conve&rt\ back<Tab>:%!xxd\ -r 转换返回<Tab>:%!xxd\ -r
menutrans Se&T\ Compiler 编译器(&T)
menutrans &Close<Tab>:cclose 关闭(&C)<Tab>:cclose
" }}}
menutrans Show\ Compiler\ Se&ttings\ in\ Menu 在菜单中显示编译器设置(&T)
menutrans Se&t\ Compiler 编译器(&T)
menutrans &Convert\ to\ HEX<Tab>:%!xxd 转换成十六进制(&C)<Tab>:%!xxd
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r 转换回(&R)<Tab>:%!xxd\ -r
" }}}
" Names for buffer menu.
menutrans &Buffers 缓冲区(&B)
menutrans &Refresh\ menu 更新菜单(&R)
menutrans &Delete 删除(&D)
menutrans &Alternate 交替(&A)
menutrans &Next 下一个(&N)
menutrans &Previous 一个(&P)
" Buffer menu
menutrans &Buffers 缓冲区(&B)
" Buffer menuitems and dialog {{{1
menutrans &Refresh\ Menu 刷新本菜单(&R)
menutrans &Delete 删除(&D)
menutrans &Alternate 切换(&A)
menutrans &Next 一个(&N)
menutrans &Previous 上一个(&P)
" func! s:BMMunge(fname, bnum)
if !exists("g:menutrans_no_file")
let g:menutrans_no_file = "[无文件]"
endif
" }}}
" Window menu
menutrans &Window 窗口(&W)
menutrans &New<Tab>^Wn 新建(&N)<Tab>^Wn
menutrans S&plit<Tab>^Ws 分割(&P)<Tab>^Ws
menutrans Sp&lit\ To\ #<Tab>^W^^ 分割到\ #(&L)<Tab>^W^^
menutrans Split\ &Vertically<Tab>^Wv 垂直分割(&V)<Tab>^Wv
menutrans Split\ File\ E&xplorer 分割文件浏览器(&X)
menutrans &Close<Tab>^Wc 关闭(&C)<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo 关闭其它窗口(&O)<Tab>^Wo
menutrans Move\ &To 移动到(&T)
menutrans &Top<Tab>^WK 顶端(&T)<Tab>^WK
menutrans &Bottom<Tab>^WJ (&B)<Tab>^WJ
menutrans &Left\ side<Tab>^WH 左边(&L)<Tab>^WH
menutrans &Right\ side<Tab>^WL (&R)<Tab>^WL
" menutrans Ne&xt<Tab>^Ww 下一个(&X)<Tab>^Ww
" menutrans P&revious<Tab>^WW 上一个(&R)<Tab>^WW
menutrans Rotate\ &Up<Tab>^WR 轮换(&U)<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr 向下轮换(&D)<Tab>^Wr
menutrans &Equal\ Size<Tab>^W= 等大(&E)<Tab>^W=
menutrans &Max\ Height<Tab>^W_ 高度(&M)<Tab>^W
menutrans M&in\ Height<Tab>^W1_ 小高(&I)<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| 宽度(&W)<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| 最小宽度(&H)<Tab>^W1\|
"
" The popup menu
menutrans &Undo 撤销(&U)
menutrans Cu&t 剪切(&T)
menutrans &Copy 复制(&C)
menutrans &Paste 粘贴(&P)
menutrans &Delete 删除(&D)
menutrans Select\ Blockwise 选择
menutrans Select\ &Word 单词(&W)
menutrans Select\ &Sentence 择句子(&S)
menutrans Select\ Pa&ragraph 段落(&R)
menutrans Select\ &Line (&L)
menutrans Select\ &Block (&B)
menutrans Select\ &All 全选(&A)
"
" The GUI toolbar
menutrans &Window 窗口(&W)
" Window menuitems {{{1
menutrans &New<Tab>^Wn 新建(&N)<Tab>^Wn
menutrans S&plit<Tab>^Ws 拆分(&P)<Tab>^Ws
menutrans Sp&lit\ To\ #<Tab>^W^^ 拆分并显示缓冲区\ #(&L)<Tab>^W^^
menutrans Split\ &Vertically<Tab>^Wv 垂直拆分(&V)<Tab>^Wv
menutrans Split\ File\ E&xplorer 拆分并打开文件浏览器(&X)
menutrans &Close<Tab>^Wc 关闭(&C)<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo 除此之外全部关闭(&O)<Tab>^Wo
menutrans Move\ &To 移动到(&T)
menutrans &Top<Tab>^WK (&T)<Tab>^WK
menutrans &Bottom<Tab>^WJ 底端(&B)<Tab>^WJ
menutrans &Left\ Side<Tab>^WH (&L)<Tab>^WH
menutrans &Right\ Side<Tab>^WL 右边(&R)<Tab>^WL
menutrans Rotate\ &Up<Tab>^WR 向上轮换(&U)<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr 轮换(&D)<Tab>^Wr
menutrans &Equal\ Size<Tab>^W= 平均分布(&E)<Tab>^W=
menutrans &Max\ Height<Tab>^W_ 最大高度(&M)<Tab>^W
menutrans M&in\ Height<Tab>^W1_ 高度(&I)<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| 大宽(&W)<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| 宽度(&H)<Tab>^W1\|
" }}}
" The popup menu {{{1
menutrans &Undo 撤销(&U)
menutrans Cu&t 剪切(&T)
menutrans &Copy 复制(&C)
menutrans &Paste 粘贴(&P)
menutrans &Delete 删除(&D)
menutrans Select\ Blockwise 改为选定矩形
menutrans Select\ &Word 单词(&W)
menutrans Select\ &Sentence 定句(&S)
menutrans Select\ Pa&ragraph 段落(&R)
menutrans Select\ &Line (&L)
menutrans Select\ &Block 定矩形(&B)
menutrans Select\ &All 全选(&A)
" func! <SID>SpellPopup()
if !exists("g:menutrans_spell_change_ARG_to")
let g:menutrans_spell_change_ARG_to = '将\ "%s"\ 更改为'
endif
if !exists("g:menutrans_spell_add_ARG_to_word_list")
let g:menutrans_spell_add_ARG_to_word_list = '将\ "%s"\ 添加到词典'
endif
if !exists("g:menutrans_spell_ignore_ARG")
let g:menutrans_spell_ignore_ARG = '忽略\ "%s"'
endif
" }}}
" The GUI toolbar {{{1
if has("toolbar")
if exists("*Do_toolbar_tmenu")
delfun Do_toolbar_tmenu
endif
fun Do_toolbar_tmenu()
tmenu ToolBar.Open 打开文件
tmenu ToolBar.Save 保存当前文件
tmenu ToolBar.SaveAll 保存全部文件
tmenu ToolBar.Print 打印
tmenu ToolBar.Undo 撤销
tmenu ToolBar.Redo 重做
tmenu ToolBar.Cut 剪切到剪贴板
tmenu ToolBar.Copy 复制到剪贴板
tmenu ToolBar.Paste 剪贴板粘贴
tmenu ToolBar.Find 查找...
tmenu ToolBar.FindNext 查找下一个
tmenu ToolBar.FindPrev 查找上一个
tmenu ToolBar.Replace 查找和替换...
tmenu ToolBar.LoadSesn 加载会话
tmenu ToolBar.SaveSesn 保存当前会话
tmenu ToolBar.RunScript 运行 Vim 脚本
tmenu ToolBar.Make 执行 Make (:make)
tmenu ToolBar.RunCtags 在当前目录建立 tags (!ctags -R .)
tmenu ToolBar.TagJump 跳转到光标位置的 tag
tmenu ToolBar.Help Vim 帮助
tmenu ToolBar.FindHelp 查找 Vim 帮助
let did_toolbar_tmenu = 1
tmenu ToolBar.Open 打开文件
tmenu ToolBar.Save 保存当前文件
tmenu ToolBar.SaveAll 全部保存
tmenu ToolBar.Print 打印
tmenu ToolBar.Undo 撤销
tmenu ToolBar.Redo 恢复
tmenu ToolBar.Cut 剪切到剪贴板
tmenu ToolBar.Copy 复制到剪贴板
tmenu ToolBar.Paste 从剪贴板粘贴
if !has("gui_athena")
tmenu ToolBar.Replace 查找和替换...
tmenu ToolBar.FindNext 查找下一个
tmenu ToolBar.FindPrev 查找上一个
endif
tmenu ToolBar.LoadSesn 加载会话
tmenu ToolBar.SaveSesn 保存当前会话
tmenu ToolBar.RunScript 运行 Vim 脚本
tmenu ToolBar.Make 生成当前项目 (:make)
tmenu ToolBar.RunCtags 在当前目录生成标记(Tags) (!ctags -R .)
tmenu ToolBar.TagJump 跳转到光标所在标记(Tag)
tmenu ToolBar.Help Vim 帮助
tmenu ToolBar.FindHelp Vim 帮助中查找
endfun
endif
" }}}
" Syntax menu
menutrans &Syntax 语法(&S)
menutrans &Show\ filetypes\ in\ menu 在菜单中显示文件类型(&S)
menutrans &Off 关闭(&O)
menutrans &Manual 手工(&M)
menutrans A&utomatic (&U)
menutrans on/off\ for\ &This\ file 仅对这个文件开/(&T)
menutrans Co&lor\ test 色彩测试(&L)
menutrans &Highlight\ test 高亮测试(&H)
menutrans &Convert\ to\ HTML 转换成\ HTML(&C)
menutrans Set\ '&syntax'\ only 仅设定\ 'syntax'(&S)
menutrans Set\ '&filetype'\ too 也设定\ 'filetype'(&F)
menutrans &Syntax 语法(&S)
" Syntax menuitems {{{1
menutrans &Show\ File\ Types\ in\ Menu 在菜单中显示文件类型(&S)
menutrans &Off 关闭(&O)
menutrans &Manual (&M)
menutrans A&utomatic 自动(&U)
menutrans On/Off\ for\ &This\ File 只对这个文件开/(&T)
menutrans Co&lor\ Test 色彩测试(&L)
menutrans &Highlight\ Test 高亮测试(&H)
menutrans &Convert\ to\ HTML 转换成\ HTML(&C)
" From synmenu.vim
menutrans Set\ '&syntax'\ Only 只设置\ 'syntax'(&S)
menutrans Set\ '&filetype'\ Too 也设置\ 'filetype'(&F)
" }}}
" Netrw menu {{{1
" Plugin loading may be after menu translation
" So giveup testing if Netrw Plugin is loaded
" if exists("g:loaded_netrwPlugin")
menutrans Help<tab><F1> 帮助<tab><F1>
menutrans Bookmarks 书签
menutrans History 历史记录
menutrans Go\ Up\ Directory<tab>- 向上一级<tab>-
menutrans Apply\ Special\ Viewer<tab>x 用默认程序打开<tab>x
menutrans Bookmarks\ and\ History 书签和历史记录
" Netrw.Bookmarks and History menuitems {{{2
menutrans Bookmark\ Current\ Directory<tab>mb 添加书签<tab>mb
menutrans Bookmark\ Delete 移除书签
menutrans Goto\ Prev\ Dir\ (History)<tab>u 后退(历史记录)<tab>u
menutrans Goto\ Next\ Dir\ (History)<tab>U 前进(历史记录)<tab>U
menutrans List<tab>qb 完整列表<tab>qb
" }}}
menutrans Browsing\ Control 控制
" Netrw.Browsing Control menuitems {{{2
menutrans Horizontal\ Split<tab>o 在拆分窗口打开<tab>o
menutrans Vertical\ Split<tab>v 在垂直拆分窗口打开<tab>v
menutrans New\ Tab<tab>t 在标签页打开<tab>t
menutrans Preview<tab>p 预览<tab>p
menutrans Edit\ File\ Hiding\ List<tab><ctrl-h> 编辑隐藏条件(Hiding\ List)<tab><ctrl-h>
menutrans Edit\ Sorting\ Sequence<tab>S 编辑排序条件(Sorting\ Sequence)<tab>S
menutrans Quick\ Hide/Unhide\ Dot\ Files<tab>gh 快速隐藏/显示以\.开头的文件<tab>gh
menutrans Refresh\ Listing<tab><ctrl-l> 刷新<tab><ctrl-l>
menutrans Settings/Options<tab>:NetrwSettings 设置/选项<tab>:NetrwSettings
" }}}
menutrans Delete\ File/Directory<tab>D 删除文件/目录<tab>D
menutrans Edit\ File/Dir 编辑文件/目录
" Netrw.Edit File menuitems {{{2
menutrans Create\ New\ File<tab>% 新建文件<tab>%
menutrans In\ Current\ Window<tab><cr> 在当前窗口<tab><cr>
menutrans Preview\ File/Directory<tab>p 预览文件/目录<tab>p
menutrans In\ Previous\ Window<tab>P 在上一个窗口<tab>P
menutrans In\ New\ Window<tab>o 在新窗口<tab>o
menutrans In\ New\ Tab<tab>t 在新标签页<tab>t
menutrans In\ New\ Vertical\ Window<tab>v 在新垂直窗口<tab>v
" }}}
menutrans Explore 浏览
" Netrw.Explore menuitems {{{2
menutrans Directory\ Name 指定目录名
menutrans Filenames\ Matching\ Pattern\ (curdir\ only)<tab>:Explore\ */ 匹配指定文件名模式(当前目录)<tab>:Explore\ */
menutrans Filenames\ Matching\ Pattern\ (+subdirs)<tab>:Explore\ **/ 匹配指定文件名模式(含子目录)<tab>:Explore\ **/
menutrans Files\ Containing\ String\ Pattern\ (curdir\ only)<tab>:Explore\ *// 内容包含指定字符串模式(当前目录)<tab>:Explore\ *//
menutrans Files\ Containing\ String\ Pattern\ (+subdirs)<tab>:Explore\ **// 内容包含指定字符串模式(含子目录)<tab>:Explore\ **//
menutrans Next\ Match<tab>:Nexplore 下一个匹配项<tab>:Nexplore
menutrans Prev\ Match<tab>:Pexplore 上一个匹配项<tab>:Pexplore
" }}}
menutrans Make\ Subdirectory<tab>d 新建子目录<tab>d
menutrans Marked\ Files 选定的(Marked)文件
" Netrw.Marked Files menuitems {{{2
menutrans Mark\ File<tab>mf 选定(Mark)/取消<tab>mf
menutrans Mark\ Files\ by\ Regexp<tab>mr 用正则表达式(Regexp)选定<tab>mr
menutrans Hide-Show-List\ Control<tab>a 隐藏/显示<tab>a
menutrans Copy\ To\ Target<tab>mc 复制到目标<tab>mc
menutrans Delete<tab>D 删除<tab>D
menutrans Diff<tab>md 差异(Diff)<tab>md
menutrans Edit<tab>me 编辑<tab>me
menutrans Exe\ Cmd<tab>mx 作为参数运行命令<tab>mx
menutrans Move\ To\ Target<tab>mm 移动到目标<tab>mm
menutrans Obtain<tab>O 获取<tab>O
menutrans Print<tab>mp 打印<tab>mp
menutrans Replace<tab>R 替换<tab>R
menutrans Set\ Target<tab>mt 设置目标<tab>mt
menutrans Tag<tab>mT 生成标记文件(Tags)<tab>mT
menutrans Zip/Unzip/Compress/Uncompress<tab>mz 压缩/解压缩<tab>mz
" }}}
menutrans Obtain\ File<tab>O 获取文件<tab>O
menutrans Style 显示风格
" Netrw.Style menuitems {{{2
menutrans Listing 列表形式
" Netrw.Style.Listing menuitems {{{3
menutrans thin<tab>i 紧凑<thin)<tab>i
menutrans long<tab>i 详细(long)<tab>i
menutrans wide<tab>i 多列(wide)<tab>i
menutrans tree<tab>i 树状(tree)<tab>i
" }}}
menutrans Normal-Hide-Show 显示/隐藏
" Netrw.Style.Normal-Hide_show menuitems {{{3
menutrans Show\ All<tab>a 显示全部
menutrans Normal<tab>a 不显示隐藏文件
menutrans Hidden\ Only<tab>a 只显示隐藏文件
" }}}
menutrans Reverse\ Sorting\ Order<tab>r 升序/降序<tab>r
menutrans Sorting\ Method 排序方式
" Netrw.Style.Sorting Method menuitems {{{3
menutrans Name<tab>s 文件名<tab>s
menutrans Time<tab>s 修改时间<tab>s
menutrans Size<tab>s 大小<tab>s
menutrans Exten<tab>s 扩展名<tab>s
" }}}
" }}}
menutrans Rename\ File/Directory<tab>R 重命名文件/目录<tab>R
menutrans Set\ Current\ Directory<tab>c 设置\ Vim\ 工作目录<tab>c
menutrans Targets 目标
" endif
" }}}
let &cpo = s:keepcpo
unlet s:keepcpo
" vim: set ts=4 sw=4 noet fdm=marker fdc=4 :

View File

@ -267,11 +267,13 @@ SynMenu HIJK.Hercules:hercules
SynMenu HIJK.Hex\ dump.XXD:xxd
SynMenu HIJK.Hex\ dump.Intel\ MCS51:hex
SynMenu HIJK.Hg\ commit:hgcommit
SynMenu HIJK.Hollywood:hollywood
SynMenu HIJK.HTML.HTML:html
SynMenu HIJK.HTML.HTML\ with\ M4:htmlm4
SynMenu HIJK.HTML.HTML\ with\ Ruby\ (eRuby):eruby
SynMenu HIJK.HTML.Cheetah\ HTML\ template:htmlcheetah
SynMenu HIJK.HTML.Django\ HTML\ template:htmldjango
SynMenu HIJK.HTML.Vue.js\ HTML\ template:vuejs
SynMenu HIJK.HTML.HTML/OS:htmlos
SynMenu HIJK.HTML.XHTML:xhtml
SynMenu HIJK.Host\.conf:hostconf

View File

@ -359,8 +359,8 @@ func! s:SetupColorSchemes() abort
let s:did_setup_color_schemes = 1
let n = globpath(&runtimepath, "colors/*.vim", 1, 1)
let n += globpath(&runtimepath, "pack/*/start/*/colors/*.vim", 1, 1)
let n += globpath(&runtimepath, "pack/*/opt/*/colors/*.vim", 1, 1)
let n += globpath(&packpath, "pack/*/start/*/colors/*.vim", 1, 1)
let n += globpath(&packpath, "pack/*/opt/*/colors/*.vim", 1, 1)
" Ignore case for VMS and windows, sort on name
let names = sort(map(n, 'substitute(v:val, "\\c.*[/\\\\:\\]]\\([^/\\\\:]*\\)\\.vim", "\\1", "")'), 1)

View File

@ -1,7 +1,7 @@
" These commands create the option window.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 May 25
" Last Change: 2019 Aug 20
" If there already is an option window, jump to that one.
let buf = bufnr('option-window')
@ -429,6 +429,9 @@ if has("syntax")
call append("$", "cursorline\thighlight the screen line of the cursor")
call append("$", "\t(local to window)")
call <SID>BinOptionL("cul")
call append("$", "cursorlineopt\tspecifies which area 'cursorline' highlights")
call append("$", "\t(local to window)")
call <SID>OptionL("culopt")
call append("$", "colorcolumn\tcolumns to highlight")
call append("$", "\t(local to window)")
call <SID>OptionL("cc")
@ -479,6 +482,8 @@ call append("$", " \tset wmw=" . &wmw)
call append("$", "helpheight\tinitial height of the help window")
call append("$", " \tset hh=" . &hh)
if has("quickfix")
call append("$", "previewpopup\tuse a popup window for preview")
call append("$", " \tset pvp=" . &pvp)
call append("$", "previewheight\tdefault height for the preview window")
call append("$", " \tset pvh=" . &pvh)
call append("$", "previewwindow\tidentifies the preview window")
@ -804,6 +809,10 @@ if has("insert_expand")
call <SID>OptionL("cpt")
call append("$", "completeopt\twhether to use a popup menu for Insert mode completion")
call <SID>OptionG("cot", &cot)
if exists("+completepopup")
call append("$", "completepopup\toptions for the Insert mode completion info popup")
call <SID>OptionG("cpp", &cpp)
endif
call append("$", "pumheight\tmaximum height of the popup menu")
call <SID>OptionG("ph", &ph)
call append("$", "pumwidth\tminimum width of the popup menu")
@ -1174,6 +1183,8 @@ if has("win32") || has("osfiletype")
if has("win32")
call append("$", "shellslash\tuse forward slashes in file names; for Unix-like shells")
call <SID>BinOptionG("ssl", &ssl)
call append("$", "completeslash\tspecifies slash/backslash used for completion")
call <SID>OptionG("csl", &csl)
endif
endif

View File

@ -225,10 +225,12 @@ func s:StartDebug_term(dict)
endif
let response = ''
for lnum in range(1,200)
if term_getline(s:gdbbuf, lnum) =~ 'new-ui mi '
for lnum in range(1, 200)
let line1 = term_getline(s:gdbbuf, lnum)
let line2 = term_getline(s:gdbbuf, lnum + 1)
if line1 =~ 'new-ui mi '
" response can be in the same line or the next line
let response = term_getline(s:gdbbuf, lnum) . term_getline(s:gdbbuf, lnum + 1)
let response = line1 . line2
if response =~ 'Undefined command'
echoerr 'Sorry, your gdb is too old, gdb 7.12 is required'
call s:CloseBuffers()
@ -238,6 +240,9 @@ func s:StartDebug_term(dict)
" Success!
break
endif
elseif line1 =~ 'Reading symbols from' && line2 !~ 'new-ui mi '
" Reading symbols might take a while, try more times
let try_count -= 1
endif
endfor
if response =~ 'New UI allocated'
@ -838,12 +843,12 @@ endfunc
" if there is any.
func TermDebugBalloonExpr()
if v:beval_winid != s:sourcewin
return
return ''
endif
if !s:stopped
" Only evaluate when stopped, otherwise setting a breakpoint using the
" mouse triggers a balloon.
return
return ''
endif
let s:evalFromBalloonExpr = 1
let s:evalFromBalloonExprResult = ''

View File

@ -20,7 +20,7 @@
if &cp || exists("g:loaded_netrwPlugin")
finish
endif
let g:loaded_netrwPlugin = "v156"
let g:loaded_netrwPlugin = "v165"
let s:keepcpo = &cpo
set cpo&vim
"DechoRemOn
@ -42,8 +42,8 @@ augroup END
" Network Browsing Reading Writing: {{{2
augroup Network
au!
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
au BufReadCmd file://* call netrw#FileUrlEdit(expand("<amatch>"))
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
@ -59,7 +59,7 @@ com! -count=1 -nargs=* Nread let s:svpos= winsaveview()<bar>call netrw#NetRead(
com! -range=% -nargs=* Nwrite let s:svpos= winsaveview()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call winrestview(s:svpos)
com! -nargs=* NetUserPass call NetUserPass(<f-args>)
com! -nargs=* Nsource let s:svpos= winsaveview()<bar>call netrw#NetSource(<f-args>)<bar>call winrestview(s:svpos)
com! -nargs=? Ntree call netrw#SetTreetop(<q-args>)
com! -nargs=? Ntree call netrw#SetTreetop(1,<q-args>)
" Commands: :Explore, :Sexplore, Hexplore, Vexplore, Lexplore {{{2
com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>)
@ -81,7 +81,7 @@ if !exists("g:netrw_nogx")
if !hasmapto('<Plug>NetrwBrowseX')
nmap <unique> gx <Plug>NetrwBrowseX
endif
nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(expand((exists("g:netrw_gx")? g:netrw_gx : '<cfile>')),netrw#CheckIfRemote())<cr>
nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(netrw#GX(),netrw#CheckIfRemote(netrw#GX()))<cr>
endif
if maparg('gx','v') == ""
if !hasmapto('<Plug>NetrwBrowseXVis')
@ -129,19 +129,15 @@ fun! s:LocalBrowse(dirname)
elseif isdirectory(a:dirname)
" call Decho("(LocalBrowse) dirname<".a:dirname."> ft=".&ft." (isdirectory, not amiga)")
" call Dredir("LocalBrowse ft last set: ","verbose set ft")
" call Decho("(s:LocalBrowse) COMBAK#23: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
sil! call netrw#LocalBrowseCheck(a:dirname)
" call Decho("(s:LocalBrowse) COMBAK#24: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
if exists("w:netrw_bannercnt") && line('.') < w:netrw_bannercnt
exe w:netrw_bannercnt
" call Decho("(s:LocalBrowse) COMBAK#25: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
endif
else
" not a directory, ignore it
" call Decho("(LocalBrowse) dirname<".a:dirname."> not a directory, ignoring...")
endif
" call Decho("(s:LocalBrowse) COMBAK#26: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
" call Dret("s:LocalBrowse")
endfun

View File

@ -1,580 +0,0 @@
*** de_DE.orig.aff 2019-01-19 18:45:26.132522538 +0100
--- de_DE.aff 2019-01-19 19:23:37.233297530 +0100
***************
*** 15,16 ****
--- 15,46 ----
+ FOL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ LOW <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ UPP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+
+ MIDWORD '
+
+ MAP 9
+ MAP a<><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ MAP e<><65><EFBFBD><EFBFBD>
+ MAP i<><69><EFBFBD><EFBFBD>
+ MAP o<><6F><EFBFBD><EFBFBD><EFBFBD>
+ MAP u<><75><EFBFBD><EFBFBD>
+ MAP n<>
+ MAP c<>
+ MAP y<><79>
+ MAP s<>
+
+ COMPOUNDRULE xy?z
+ #COMPOUNDBEGIN x
+ #COMPOUNDMIDDLE y
+ #COMPOUNDEND z
+
+ # Prefixes are allowed at the beginning of compounds,
+ # suffixes are allowed at the end of compounds by default:
+ # (prefix)?(root)+(affix)?
+ # Affixes with COMPOUNDPERMITFLAG may be inside of compounds.
+ COMPOUNDPERMITFLAG c
+
+ ONLYINCOMPOUND o
+
PFX U Y 1
***************
*** 536,553 ****
#LANG de_DE
! CHECKSHARPS
!
- COMPOUNDBEGIN x
- COMPOUNDMIDDLE y
- COMPOUNDEND z
FORBIDDENWORD d
- # Prefixes are allowed at the beginning of compounds,
- # suffixes are allowed at the end of compounds by default:
- # (prefix)?(root)+(affix)?
- # Affixes with COMPOUNDPERMITFLAG may be inside of compounds.
- COMPOUNDPERMITFLAG c
-
- ONLYINCOMPOUND o
-
# my PSEUDOROOT h(elper) flag
--- 566,571 ----
#LANG de_DE
! # CHECKSHARPS
FORBIDDENWORD d
# my PSEUDOROOT h(elper) flag
***************
*** 571,573 ****
! WORDCHARS <20>-.
--- 589,591 ----
! # WORDCHARS <20>-.
***************
*** 725,729 ****
# So enabling this is the lesser evil. No perfect solution found so far...
! BREAK 2
! BREAK -
! BREAK .
!
--- 743,1241 ----
# So enabling this is the lesser evil. No perfect solution found so far...
! # BREAK 2
! # BREAK -
! # BREAK .
!
! # German phonetic transformation rules for use with Aspell
! # Copyright (C) 2000 Bj<42>rn Jacke
! #
! # This library is free software; you can redistribute it and/or
! # modify it under the terms of the GNU Lesser General Public
! # License version 2.1 as published by the Free Software Foundation;
! #
! # This library is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY; without even the implied warranty of
! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
! # Lesser General Public License for more details.
! #
! # You should have received a copy of the GNU Lesser General Public
! # License along with this library; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
! #
! # Bj<42>rn Jacke may be reached by email at bjoern.jacke@gmx.de
! #
! # Changelog:
! #
! # 2000-01-05 Bj<42>rn Jacke <bjoern.jacke@gmx.de>
! # Initial Release
! # 2000-01-07 Kevin Atkinson <kevinatk@home.com>
! # Converted from header to data file.
! SAL followup 1
! SAL collapse_result 1
!
! SAL <20>ER- E
! SAL <20>U< EU
! SAL <20>< E
! SAL <20> E
! SAL <20>ER- <20>
! SAL <20> <20>
! SAL <20>BER^^ IPA
! SAL <20>ER- I
! SAL <20> I
! SAL <20> Z
! SAL ABELLE$ APL
! SAL ABELL$ APL
! SAL ABIENNE$ APIN
! SAL ACEY$ AZI
! SAL AEU< EU
! SAL AE2 E
! SAL AGNI-^ AKN
! SAL AGNIE- ANI
! SAL AGN(AEOU)-$ ANI
! SAL AIA2 AIA
! SAL AIE$ E
! SAL AILL(EOU)- ALI
! SAL AINE$ EN
! SAL AIRE$ ER
! SAL AIR- E
! SAL AISE$ EZ
! SAL AISSANCE$ EZANZ
! SAL AISSE$ EZ
! SAL AIX$ EX
! SAL AJ(A<>EIO<49>U<EFBFBD>)-- A
! SAL AKTIE AXIE
! SAL ALO(IY)^ ALUI
! SAL AMATEU(RS)- ANAT<41>
! SAL ANIELLE$ ANIL
! SAL ANTI^^ ANTI
! SAL ANVER^^ ANFA
! SAL ATIA$ ATIA
! SAL ATIA(NS)-- ATI
! SAL ATI(A<>O<EFBFBD>U<EFBFBD>)- AZI
! SAL AUAU-- _
! SAL AUER< AUA
! SAL AUF^^ AUF
! SAL AULT$ U
! SAL AUSSE$ UZ
! SAL AUS(ST)-^ AUZ
! SAL AUS^^ AUZ
! SAL AUTO^^ AUTU
! SAL AUX(IY)- AUX
! SAL AUX U
! SAL AU AU
! SAL AVIER$ AFIE
! SAL AYER--< EI
! SAL AY(A<>EIO<49>U<EFBFBD>)-- A
! SAL A(IJY)< EI
! SAL A A
! SAL BEA(BCMNRU)-^ PEA
! SAL BEAT(AEIMORU)-^ PEAT
! SAL BEIGE^$ PEZ
! SAL BE(LMNRST)-^ PE
! SAL BETTE$ PET
! SAL BIC$ PIZ
! SAL BOWL(EI)- PUL
! SAL BP(A<>EIO<49>RU<52>Y)- P
! SAL BUDGET7 PIKE
! SAL BUFFET7 PIFE
! SAL BYLLE$ PILE
! SAL BYLL$ PIL
! SAL BYTE< PEIT
! SAL B P
! SAL C<>- Z
! SAL C<>$ ZI
! SAL CACH(EI)-^ KEZ
! SAL CAE-- Z
! SAL CA(IY)$ ZEI
! SAL CCH Z
! SAL CCE- X
! SAL CE(EIJUY)-- Z
! SAL CENT< ZENT
! SAL CERST(EI)----^ KE
! SAL CER$ ZA
! SAL CE3 ZE
! SAL CHAO(ST)- KAU
! SAL CHAMPIO-^ ZENPI
! SAL CHAR(AI)-^ KAR
! SAL CHAU(CDFSVWXZ)- ZU
! SAL CHE(CF)- ZE
! SAL CHEM-^ KE
! SAL CHEQUE< ZEK
! SAL CHI(CFGPVW)- ZI
! SAL CH(AEUY)-<^ Z
! SAL CHK- _
! SAL CH(LOR)-<^ K
! SAL CHST- X
! SAL CH(S<>XZ)3 X
! SAL CH K
! SAL CIER$ ZIE
! SAL CYB-^ ZEI
! SAL CY9^ ZI
! SAL C(IJY)-3 Z
! SAL CKST XT
! SAL CK(S<>XZ)3 X
! SAL C(CK)- _
! SAL CLAUDET--- KLU
! SAL CLAUDINE^$ KLUTIN
! SAL COLE$ KUL
! SAL COUCH KAUZ
! SAL CQUES$ K
! SAL CQUE K
! SAL CREAT-^ KREA
! SAL CST XT
! SAL CS<^ Z
! SAL C(S<>X) X
! SAL CT(S<>XZ) X
! SAL CZ< Z
! SAL C< K
! SAL D'H^ T
! SAL D'S3$ Z
! SAL DAVO(NR)-^$ TAFU
! SAL DD(SZ)--< _
! SAL DEPOT7 TEPU
! SAL DESIGN TIZEIN
! SAL DE(LMNRST)-3^ TE
! SAL DETTE$ TET
! SAL DIC$ TIZ
! SAL DJ(AEIOU)-^ I
! SAL DS(CH)--< T
! SAL DST ZT
! SAL DT- _
! SAL DUIS-^ TI
! SAL DURCH^^ TURK
! SAL DZS(CH)-- T
! SAL D(S<>Z) Z
! SAL D T
! SAL EAULT$ U
! SAL EAUX$ U
! SAL EAU U
! SAL EAV IF
! SAL EA(A<>EIO<49><4F>Y)-3 EA
! SAL EA3$ EA
! SAL EA3 I
! SAL EBEN^^ EPN
! SAL EE9 E
! SAL EIEI-- _
! SAL EIH-- E
! SAL EILLE$ EI
! SAL EI EI
! SAL EJ$ EI
! SAL EL-^ E
! SAL EL(DKL)--1 E
! SAL EL(MNT)--1$ E
! SAL ELYNE$ ELINE
! SAL ELYN$ ELIN
! SAL EL(A<>EIO<49>U<EFBFBD>Y)-1 EL
! SAL EL-1 L
! SAL EM-^ E
! SAL EM(DFKMPQT)--1 E
! SAL EM(A<>EIO<49>U<EFBFBD>Y)--1 E
! SAL EM-1 N
! SAL EN-^ E
! SAL EN(CDGKQT)--1 E
! SAL ENZ(AEIOUY)--1 EN
! SAL EN(A<>EINO<4E>U<EFBFBD>Y)-1 EN
! SAL EN-<1 N
! SAL ERH(A<>EIO<49>U<EFBFBD>)-^ ER
! SAL ER-^ E
! SAL ER(A<>EIO<49>U<EFBFBD>Y)-1 A
! SAL ER1$ A
! SAL ER<1 A
! SAL ETI(A<>O<EFBFBD><4F>U)- EZI
! SAL EUEU-- _
! SAL EUILLE$ <20>
! SAL EUR$ <20>R
! SAL EUX <20>
! SAL EUYS$ EUZ
! SAL EU EU
! SAL EYER< EIA
! SAL EY< EI
! SAL E E
! SAL FANS--^$ FE
! SAL FAN-^$ FE
! SAL FAULT- FUL
! SAL FEE(DL)- FI
! SAL FEHLER FELA
! SAL FE(LMNRST)-3^ FE
! SAL FOND7 FUN
! SAL FRAIN$ FRA
! SAL FRISEU(RS)- FRIZ<49> # x
! SAL F F
! SAL G'S$ X
! SAL GAGS^$ KEX
! SAL GAG^$ KEK
! SAL GD KT
! SAL GEGEN^^ KEKN
! SAL GE(LMNRST)-3^ KE
! SAL GETTE$ KET
! SAL G(CK)- _
! SAL GG- _
! SAL GI(AO)-^ I
! SAL GION$ KIUN
! SAL GIUS-^ IU
! SAL GMBH^$ GMPH
! SAL GNAC$ NIAK
! SAL GNON$ NIUN
! SAL GN$ N
! SAL GONCAL-^ KUNZA
! SAL GS(CH)-- K
! SAL GST XT
! SAL G(S<>XZ) X
! SAL GUCK- KU
! SAL GUI-^ K
! SAL G K
! SAL HEAD- E
! SAL HE(LMNRST)-3^ E
! SAL HE(LMN)-1 E
! SAL HEUR1$ <20>R
! SAL H^ _
! SAL IEC$ IZ
! SAL IEI-3 _
! SAL IELL3 IEL
! SAL IENNE$ IN
! SAL IERRE$ IER
! SAL IETTE$ IT
! SAL IEU I<>
! SAL IE<4 I
! SAL IGHT3$ EIT
! SAL IGNI(EO)- INI
! SAL IGN(AEOU)-$ INI
! SAL IJ(AOU)- I
! SAL IJ$ I
! SAL IJ< EI
! SAL IKOLE$ IKUL
! SAL ILLAN(STZ)-- ILIA
! SAL ILLAR(DT)-- ILIA
! SAL INVER- INFE
! SAL ITI(A<>O<EFBFBD>U<EFBFBD>)- IZI
! SAL IVIER$ IFIE
! SAL I I
! SAL JAVIE---<^ ZA
! SAL JEAN^$ IA
! SAL JEAN-^ IA
! SAL JER-^ IE
! SAL JE(LMNST)- IE
! SAL JOR(GK)^$ I<>RK
! SAL J I
! SAL KC(<28>EIJ)- X
! SAL KE(LMNRST)-3^ KE
! SAL KH<^ K
! SAL KIC$ KIZ
! SAL KLE(LMNRST)-3^ KLE
! SAL KOTELE-^ KUTL
! SAL KREAT-^ KREA
! SAL KST XT
! SAL K(S<>XZ) X
! SAL KTI(AIOU)-3 XI
! SAL KT(S<>XZ) X
! SAL K K
! SAL LARVE- LARF
! SAL LEAND-^ LEAN
! SAL LEL- LE
! SAL LE(MNRST)-3^ LE
! SAL LETTE$ LET
! SAL LFGNAG- LFKAN
! SAL LIC$ LIZ
! SAL LIVE^$ LEIF
! SAL LUI(GS)-- LU
! SAL L L
! SAL MASSEU(RS)- NAZ<41>
! SAL MAURICE NURIZ
! SAL MBH^$ MPH
! SAL MB(S<>Z)- N
! SAL MC9^ NK
! SAL MEMOIR-^ NENUA
! SAL ME(LMNRST)-3^ NE
! SAL MIGUEL NIKL
! SAL MIKE^$ NEIK
! SAL MN N
! SAL MPJUTE- NPUT
! SAL MP(S<>Z)- N
! SAL MP(BDJLMNPQRTVW)- NP
! SAL M N
! SAL NACH^^ NAK
! SAL NADINE NATIN
! SAL NAIV-- NA
! SAL NAISE$ NEZE
! SAL NCOISE$ ZUA
! SAL NCOIS$ ZUA
! SAL NEBEN^^ NEPN
! SAL NE(LMNRST)-3^ NE
! SAL NEN-3 NE
! SAL NETTE$ NET
! SAL NG(BDFJLMNPQRTVW)- NK
! SAL NICHTS^^ NIX
! SAL NICHT^^ NIKT
! SAL NINE$ NIN
! SAL NON^^ NUN
! SAL NOT^^ NUT
! SAL NTI(AIOU)-3 NZI
! SAL NTIEL--3 NZI
! SAL NYLON NEILUN
! SAL ND(S<>Z)$ NZ
! SAL NT(S<>Z)$ NZ
! SAL ND'S$ NZ
! SAL NT'S$ NZ
! SAL NSTS$ NZ
! SAL N N
! SAL OBER^^ UPA
! SAL OE2 <20>
! SAL OGNIE- UNI
! SAL OGN(AEOU)-$ UNI
! SAL OIE$ <20>
! SAL OIR$ UAR
! SAL OIX UA
! SAL OI<3 EU
! SAL OJ(A<>EIO<49>U<EFBFBD>)-- U
! SAL OKAY^$ UKE
! SAL OLYN$ ULIN
! SAL OTI(A<>O<EFBFBD>U<EFBFBD>)- UZI
! SAL OUI^ FI
! SAL OUILLE$ ULIE
! SAL OU(DT)-^ AU
! SAL OUSE$ AUZ
! SAL OUT- AU
! SAL OU U
! SAL OWS$ UZ
! SAL OY(A<>EIO<49>U<EFBFBD>)-- U
! SAL O(JY)< EU
! SAL O U
! SAL PATIEN--^ PAZI
! SAL PENSIO-^ PANZI
! SAL PE(LMNRST)-3^ PE
! SAL PFER-^ FE
! SAL P(FH)< F
! SAL POLY^^ PULI
! SAL PORTRAIT7 PURTRE
! SAL PP(FH)--< P
! SAL PP- _
! SAL PRIX^$ PRI
! SAL P(S<>Z)^ Z
! SAL PTI(A<>O<EFBFBD>U<EFBFBD>)-3 PZI
! SAL PIC^$ PIK
! SAL P P
! SAL QUE(LMNRST)-3 KFE
! SAL QUE$ K
! SAL QUI(NS)$ KI
! SAL QU KF
! SAL Q< K
! SAL RCH RK
! SAL RECHERCH^ REZAZ
! SAL RER$ RA
! SAL RE(MNR)-4 RE
! SAL RETTE$ RET
! SAL RH<^ R
! SAL RJA(MN)-- RI
! SAL RTI(A<>O<EFBFBD>U<EFBFBD>)-3 RZI
! SAL RY(KN)-$ RI
! SAL R R
! SAL SAFE^$ ZEIF
! SAL SAUCE-^ ZUZ
! SAL SCHSCH---7 _
! SAL SCHTSCH Z
! SAL SC(HZ)< Z
! SAL SC ZK
! SAL SELBSTST--7^^ ZELP
! SAL SELBST7^^ ZELPZT
! SAL SERVICE7^ Z<>RFIZ
! SAL SE(LMNRST)-3^ ZE
! SAL SETTE$ ZET
! SAL SHP-^ Z
! SAL SHST ZT
! SAL SHTSH Z
! SAL SHT Z
! SAL SH3 Z
! SAL SIEGLI-^ ZIKL
! SAL SIGLI-^ ZIKL
! SAL SIGHT ZEIT
! SAL SIGN ZEIN
! SAL SKI(NPZ)- ZKI
! SAL SKI<^ ZI
! SAL SOUND- ZAUN
! SAL STAATS^^ ZTAZ
! SAL STADT^^ ZTAT
! SAL START^^ ZTART
! SAL STAURANT7 ZTURAN
! SAL STEAK- ZTE
! SAL STRAF^^ ZTRAF
! SAL ST'S$ Z
! SAL STST-- _
! SAL STS(ACEHIOU<4F><55><EFBFBD>)-- ZT
! SAL ST(SZ) Z
! SAL STYN(AE)-$ ZTIN
! SAL ST ZT
! SAL SZE(NPT)-^ ZE
! SAL SZI(ELN)-^ ZI
! SAL SZCZ< Z
! SAL SZT< ZT
! SAL SZ<3 Z
! SAL S Z
! SAL T'S3$ Z
! SAL TCH Z
! SAL TEAT-^ TEA
! SAL TE(LMNRST)-3^ TE
! SAL TH< T
! SAL TIC$ TIZ
! SAL TOAS-^ TU
! SAL TOILET- TULE
! SAL TOIN- TUA
! SAL TRAINI- TREN
! SAL TSCH Z
! SAL TSH Z
! SAL TST ZT
! SAL T(S<>) Z
! SAL TT(SZ)--< _
! SAL TT9 T
! SAL TZ- _
! SAL T T
! SAL UEBER^^ IPA
! SAL UE2 I
! SAL UIE$ I
! SAL UM^^ UN
! SAL UNTERE-- UNTE
! SAL UNTER^^ UNTA
! SAL UNVER^^ UNFA
! SAL UN^^ UN
! SAL UTI(A<>O<EFBFBD>U<EFBFBD>)- UZI
! SAL U U
! SAL VACL-^ FAZ
! SAL VAC$ FAZ
! SAL VEDD-^ FE
! SAL VEREIN FAEIN
! SAL VERSEN^ FAZN
! SAL VER^^ FA
! SAL VER FA
! SAL VET(HT)-^ FET
! SAL VETTE$ FET
! SAL VIC$ FIZ
! SAL VIEL FIL
! SAL VIEW FIU
! SAL VOR^^ FUR
! SAL VY9^ FI
! SAL V< F
! SAL WE(LMNRST)-3^ FE
! SAL WIC$ FIZ
! SAL WIEDER^^ FITA
! SAL WY9^ FI
! SAL W F
! SAL XE(LMNRST)-3^ XE
! SAL X<^ Z
! SAL X(CSZ) X
! SAL XTS(CH)-- XT
! SAL XT(SZ) Z
! SAL X X
! SAL YE(LMNRST)-3^ IE
! SAL YE-3 I
! SAL YOR(GK)^$ I<>RK
! SAL Y(AOU)-<7 I
! SAL YVES^$ IF
! SAL YVONNE^$ IFUN
! SAL Y I
! SAL ZC(AOU)- ZK
! SAL ZE(LMNRST)-3^ ZE
! SAL ZH< Z
! SAL ZS(CHT)-- _
! SAL ZS Z
! SAL ZUERST ZUERZT
! SAL ZUR<55>CK^^ ZURIK
! SAL ZUVER^^ ZUFA # x
! SAL Z Z

View File

@ -1,573 +0,0 @@
*** de_AT.orig.aff 2019-01-19 19:16:46.616026157 +0100
--- de_AT.aff 2019-01-19 19:24:24.524983269 +0100
***************
*** 15,16 ****
--- 15,47 ----
+ FOL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ LOW <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ UPP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+
+ MIDWORD '
+
+ MAP 9
+ MAP a<><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ MAP e<><65><EFBFBD><EFBFBD>
+ MAP i<><69><EFBFBD><EFBFBD>
+ MAP o<><6F><EFBFBD><EFBFBD><EFBFBD>
+ MAP u<><75><EFBFBD><EFBFBD>
+ MAP n<>
+ MAP c<>
+ MAP y<><79>
+ MAP s<>
+
+ COMPOUNDRULE xy?z
+ #COMPOUNDBEGIN x
+ #COMPOUNDMIDDLE y
+ #COMPOUNDEND z
+
+ # Prefixes are allowed at the beginning of compounds,
+ # suffixes are allowed at the end of compounds by default:
+ # (prefix)?(root)+(affix)?
+ # Affixes with COMPOUNDPERMITFLAG may be inside of compounds.
+ COMPOUNDPERMITFLAG c
+
+ ONLYINCOMPOUND o
+
+
PFX U Y 1
***************
*** 538,553 ****
-
- COMPOUNDBEGIN x
- COMPOUNDMIDDLE y
- COMPOUNDEND z
FORBIDDENWORD d
- # Prefixes are allowed at the beginning of compounds,
- # suffixes are allowed at the end of compounds by default:
- # (prefix)?(root)+(affix)?
- # Affixes with COMPOUNDPERMITFLAG may be inside of compounds.
- COMPOUNDPERMITFLAG c
-
- ONLYINCOMPOUND o
-
# my PSEUDOROOT h(elper) flag
--- 569,572 ----
***************
*** 571,573 ****
! WORDCHARS <20>-.
--- 590,592 ----
! # WORDCHARS <20>-.
***************
*** 725,729 ****
# So enabling this is the lesser evil. No perfect solution found so far...
! BREAK 2
! BREAK -
! BREAK .
!
--- 744,1242 ----
# So enabling this is the lesser evil. No perfect solution found so far...
! # BREAK 2
! # BREAK -
! # BREAK .
!
! # German phonetic transformation rules for use with Aspell
! # Copyright (C) 2000 Bj<42>rn Jacke
! #
! # This library is free software; you can redistribute it and/or
! # modify it under the terms of the GNU Lesser General Public
! # License version 2.1 as published by the Free Software Foundation;
! #
! # This library is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY; without even the implied warranty of
! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
! # Lesser General Public License for more details.
! #
! # You should have received a copy of the GNU Lesser General Public
! # License along with this library; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
! #
! # Bj<42>rn Jacke may be reached by email at bjoern.jacke@gmx.de
! #
! # Changelog:
! #
! # 2000-01-05 Bj<42>rn Jacke <bjoern.jacke@gmx.de>
! # Initial Release
! # 2000-01-07 Kevin Atkinson <kevinatk@home.com>
! # Converted from header to data file.
! SAL followup 1
! SAL collapse_result 1
!
! SAL <20>ER- E
! SAL <20>U< EU
! SAL <20>< E
! SAL <20> E
! SAL <20>ER- <20>
! SAL <20> <20>
! SAL <20>BER^^ IPA
! SAL <20>ER- I
! SAL <20> I
! SAL <20> Z
! SAL ABELLE$ APL
! SAL ABELL$ APL
! SAL ABIENNE$ APIN
! SAL ACEY$ AZI
! SAL AEU< EU
! SAL AE2 E
! SAL AGNI-^ AKN
! SAL AGNIE- ANI
! SAL AGN(AEOU)-$ ANI
! SAL AIA2 AIA
! SAL AIE$ E
! SAL AILL(EOU)- ALI
! SAL AINE$ EN
! SAL AIRE$ ER
! SAL AIR- E
! SAL AISE$ EZ
! SAL AISSANCE$ EZANZ
! SAL AISSE$ EZ
! SAL AIX$ EX
! SAL AJ(A<>EIO<49>U<EFBFBD>)-- A
! SAL AKTIE AXIE
! SAL ALO(IY)^ ALUI
! SAL AMATEU(RS)- ANAT<41>
! SAL ANIELLE$ ANIL
! SAL ANTI^^ ANTI
! SAL ANVER^^ ANFA
! SAL ATIA$ ATIA
! SAL ATIA(NS)-- ATI
! SAL ATI(A<>O<EFBFBD>U<EFBFBD>)- AZI
! SAL AUAU-- _
! SAL AUER< AUA
! SAL AUF^^ AUF
! SAL AULT$ U
! SAL AUSSE$ UZ
! SAL AUS(ST)-^ AUZ
! SAL AUS^^ AUZ
! SAL AUTO^^ AUTU
! SAL AUX(IY)- AUX
! SAL AUX U
! SAL AU AU
! SAL AVIER$ AFIE
! SAL AYER--< EI
! SAL AY(A<>EIO<49>U<EFBFBD>)-- A
! SAL A(IJY)< EI
! SAL A A
! SAL BEA(BCMNRU)-^ PEA
! SAL BEAT(AEIMORU)-^ PEAT
! SAL BEIGE^$ PEZ
! SAL BE(LMNRST)-^ PE
! SAL BETTE$ PET
! SAL BIC$ PIZ
! SAL BOWL(EI)- PUL
! SAL BP(A<>EIO<49>RU<52>Y)- P
! SAL BUDGET7 PIKE
! SAL BUFFET7 PIFE
! SAL BYLLE$ PILE
! SAL BYLL$ PIL
! SAL BYTE< PEIT
! SAL B P
! SAL C<>- Z
! SAL C<>$ ZI
! SAL CACH(EI)-^ KEZ
! SAL CAE-- Z
! SAL CA(IY)$ ZEI
! SAL CCH Z
! SAL CCE- X
! SAL CE(EIJUY)-- Z
! SAL CENT< ZENT
! SAL CERST(EI)----^ KE
! SAL CER$ ZA
! SAL CE3 ZE
! SAL CHAO(ST)- KAU
! SAL CHAMPIO-^ ZENPI
! SAL CHAR(AI)-^ KAR
! SAL CHAU(CDFSVWXZ)- ZU
! SAL CHE(CF)- ZE
! SAL CHEM-^ KE
! SAL CHEQUE< ZEK
! SAL CHI(CFGPVW)- ZI
! SAL CH(AEUY)-<^ Z
! SAL CHK- _
! SAL CH(LOR)-<^ K
! SAL CHST- X
! SAL CH(S<>XZ)3 X
! SAL CH K
! SAL CIER$ ZIE
! SAL CYB-^ ZEI
! SAL CY9^ ZI
! SAL C(IJY)-3 Z
! SAL CKST XT
! SAL CK(S<>XZ)3 X
! SAL C(CK)- _
! SAL CLAUDET--- KLU
! SAL CLAUDINE^$ KLUTIN
! SAL COLE$ KUL
! SAL COUCH KAUZ
! SAL CQUES$ K
! SAL CQUE K
! SAL CREAT-^ KREA
! SAL CST XT
! SAL CS<^ Z
! SAL C(S<>X) X
! SAL CT(S<>XZ) X
! SAL CZ< Z
! SAL C< K
! SAL D'H^ T
! SAL D'S3$ Z
! SAL DAVO(NR)-^$ TAFU
! SAL DD(SZ)--< _
! SAL DEPOT7 TEPU
! SAL DESIGN TIZEIN
! SAL DE(LMNRST)-3^ TE
! SAL DETTE$ TET
! SAL DIC$ TIZ
! SAL DJ(AEIOU)-^ I
! SAL DS(CH)--< T
! SAL DST ZT
! SAL DT- _
! SAL DUIS-^ TI
! SAL DURCH^^ TURK
! SAL DZS(CH)-- T
! SAL D(S<>Z) Z
! SAL D T
! SAL EAULT$ U
! SAL EAUX$ U
! SAL EAU U
! SAL EAV IF
! SAL EA(A<>EIO<49><4F>Y)-3 EA
! SAL EA3$ EA
! SAL EA3 I
! SAL EBEN^^ EPN
! SAL EE9 E
! SAL EIEI-- _
! SAL EIH-- E
! SAL EILLE$ EI
! SAL EI EI
! SAL EJ$ EI
! SAL EL-^ E
! SAL EL(DKL)--1 E
! SAL EL(MNT)--1$ E
! SAL ELYNE$ ELINE
! SAL ELYN$ ELIN
! SAL EL(A<>EIO<49>U<EFBFBD>Y)-1 EL
! SAL EL-1 L
! SAL EM-^ E
! SAL EM(DFKMPQT)--1 E
! SAL EM(A<>EIO<49>U<EFBFBD>Y)--1 E
! SAL EM-1 N
! SAL EN-^ E
! SAL EN(CDGKQT)--1 E
! SAL ENZ(AEIOUY)--1 EN
! SAL EN(A<>EINO<4E>U<EFBFBD>Y)-1 EN
! SAL EN-<1 N
! SAL ERH(A<>EIO<49>U<EFBFBD>)-^ ER
! SAL ER-^ E
! SAL ER(A<>EIO<49>U<EFBFBD>Y)-1 A
! SAL ER1$ A
! SAL ER<1 A
! SAL ETI(A<>O<EFBFBD><4F>U)- EZI
! SAL EUEU-- _
! SAL EUILLE$ <20>
! SAL EUR$ <20>R
! SAL EUX <20>
! SAL EUYS$ EUZ
! SAL EU EU
! SAL EYER< EIA
! SAL EY< EI
! SAL E E
! SAL FANS--^$ FE
! SAL FAN-^$ FE
! SAL FAULT- FUL
! SAL FEE(DL)- FI
! SAL FEHLER FELA
! SAL FE(LMNRST)-3^ FE
! SAL FOND7 FUN
! SAL FRAIN$ FRA
! SAL FRISEU(RS)- FRIZ<49> # x
! SAL F F
! SAL G'S$ X
! SAL GAGS^$ KEX
! SAL GAG^$ KEK
! SAL GD KT
! SAL GEGEN^^ KEKN
! SAL GE(LMNRST)-3^ KE
! SAL GETTE$ KET
! SAL G(CK)- _
! SAL GG- _
! SAL GI(AO)-^ I
! SAL GION$ KIUN
! SAL GIUS-^ IU
! SAL GMBH^$ GMPH
! SAL GNAC$ NIAK
! SAL GNON$ NIUN
! SAL GN$ N
! SAL GONCAL-^ KUNZA
! SAL GS(CH)-- K
! SAL GST XT
! SAL G(S<>XZ) X
! SAL GUCK- KU
! SAL GUI-^ K
! SAL G K
! SAL HEAD- E
! SAL HE(LMNRST)-3^ E
! SAL HE(LMN)-1 E
! SAL HEUR1$ <20>R
! SAL H^ _
! SAL IEC$ IZ
! SAL IEI-3 _
! SAL IELL3 IEL
! SAL IENNE$ IN
! SAL IERRE$ IER
! SAL IETTE$ IT
! SAL IEU I<>
! SAL IE<4 I
! SAL IGHT3$ EIT
! SAL IGNI(EO)- INI
! SAL IGN(AEOU)-$ INI
! SAL IJ(AOU)- I
! SAL IJ$ I
! SAL IJ< EI
! SAL IKOLE$ IKUL
! SAL ILLAN(STZ)-- ILIA
! SAL ILLAR(DT)-- ILIA
! SAL INVER- INFE
! SAL ITI(A<>O<EFBFBD>U<EFBFBD>)- IZI
! SAL IVIER$ IFIE
! SAL I I
! SAL JAVIE---<^ ZA
! SAL JEAN^$ IA
! SAL JEAN-^ IA
! SAL JER-^ IE
! SAL JE(LMNST)- IE
! SAL JOR(GK)^$ I<>RK
! SAL J I
! SAL KC(<28>EIJ)- X
! SAL KE(LMNRST)-3^ KE
! SAL KH<^ K
! SAL KIC$ KIZ
! SAL KLE(LMNRST)-3^ KLE
! SAL KOTELE-^ KUTL
! SAL KREAT-^ KREA
! SAL KST XT
! SAL K(S<>XZ) X
! SAL KTI(AIOU)-3 XI
! SAL KT(S<>XZ) X
! SAL K K
! SAL LARVE- LARF
! SAL LEAND-^ LEAN
! SAL LEL- LE
! SAL LE(MNRST)-3^ LE
! SAL LETTE$ LET
! SAL LFGNAG- LFKAN
! SAL LIC$ LIZ
! SAL LIVE^$ LEIF
! SAL LUI(GS)-- LU
! SAL L L
! SAL MASSEU(RS)- NAZ<41>
! SAL MAURICE NURIZ
! SAL MBH^$ MPH
! SAL MB(S<>Z)- N
! SAL MC9^ NK
! SAL MEMOIR-^ NENUA
! SAL ME(LMNRST)-3^ NE
! SAL MIGUEL NIKL
! SAL MIKE^$ NEIK
! SAL MN N
! SAL MPJUTE- NPUT
! SAL MP(S<>Z)- N
! SAL MP(BDJLMNPQRTVW)- NP
! SAL M N
! SAL NACH^^ NAK
! SAL NADINE NATIN
! SAL NAIV-- NA
! SAL NAISE$ NEZE
! SAL NCOISE$ ZUA
! SAL NCOIS$ ZUA
! SAL NEBEN^^ NEPN
! SAL NE(LMNRST)-3^ NE
! SAL NEN-3 NE
! SAL NETTE$ NET
! SAL NG(BDFJLMNPQRTVW)- NK
! SAL NICHTS^^ NIX
! SAL NICHT^^ NIKT
! SAL NINE$ NIN
! SAL NON^^ NUN
! SAL NOT^^ NUT
! SAL NTI(AIOU)-3 NZI
! SAL NTIEL--3 NZI
! SAL NYLON NEILUN
! SAL ND(S<>Z)$ NZ
! SAL NT(S<>Z)$ NZ
! SAL ND'S$ NZ
! SAL NT'S$ NZ
! SAL NSTS$ NZ
! SAL N N
! SAL OBER^^ UPA
! SAL OE2 <20>
! SAL OGNIE- UNI
! SAL OGN(AEOU)-$ UNI
! SAL OIE$ <20>
! SAL OIR$ UAR
! SAL OIX UA
! SAL OI<3 EU
! SAL OJ(A<>EIO<49>U<EFBFBD>)-- U
! SAL OKAY^$ UKE
! SAL OLYN$ ULIN
! SAL OTI(A<>O<EFBFBD>U<EFBFBD>)- UZI
! SAL OUI^ FI
! SAL OUILLE$ ULIE
! SAL OU(DT)-^ AU
! SAL OUSE$ AUZ
! SAL OUT- AU
! SAL OU U
! SAL OWS$ UZ
! SAL OY(A<>EIO<49>U<EFBFBD>)-- U
! SAL O(JY)< EU
! SAL O U
! SAL PATIEN--^ PAZI
! SAL PENSIO-^ PANZI
! SAL PE(LMNRST)-3^ PE
! SAL PFER-^ FE
! SAL P(FH)< F
! SAL POLY^^ PULI
! SAL PORTRAIT7 PURTRE
! SAL PP(FH)--< P
! SAL PP- _
! SAL PRIX^$ PRI
! SAL P(S<>Z)^ Z
! SAL PTI(A<>O<EFBFBD>U<EFBFBD>)-3 PZI
! SAL PIC^$ PIK
! SAL P P
! SAL QUE(LMNRST)-3 KFE
! SAL QUE$ K
! SAL QUI(NS)$ KI
! SAL QU KF
! SAL Q< K
! SAL RCH RK
! SAL RECHERCH^ REZAZ
! SAL RER$ RA
! SAL RE(MNR)-4 RE
! SAL RETTE$ RET
! SAL RH<^ R
! SAL RJA(MN)-- RI
! SAL RTI(A<>O<EFBFBD>U<EFBFBD>)-3 RZI
! SAL RY(KN)-$ RI
! SAL R R
! SAL SAFE^$ ZEIF
! SAL SAUCE-^ ZUZ
! SAL SCHSCH---7 _
! SAL SCHTSCH Z
! SAL SC(HZ)< Z
! SAL SC ZK
! SAL SELBSTST--7^^ ZELP
! SAL SELBST7^^ ZELPZT
! SAL SERVICE7^ Z<>RFIZ
! SAL SE(LMNRST)-3^ ZE
! SAL SETTE$ ZET
! SAL SHP-^ Z
! SAL SHST ZT
! SAL SHTSH Z
! SAL SHT Z
! SAL SH3 Z
! SAL SIEGLI-^ ZIKL
! SAL SIGLI-^ ZIKL
! SAL SIGHT ZEIT
! SAL SIGN ZEIN
! SAL SKI(NPZ)- ZKI
! SAL SKI<^ ZI
! SAL SOUND- ZAUN
! SAL STAATS^^ ZTAZ
! SAL STADT^^ ZTAT
! SAL START^^ ZTART
! SAL STAURANT7 ZTURAN
! SAL STEAK- ZTE
! SAL STRAF^^ ZTRAF
! SAL ST'S$ Z
! SAL STST-- _
! SAL STS(ACEHIOU<4F><55><EFBFBD>)-- ZT
! SAL ST(SZ) Z
! SAL STYN(AE)-$ ZTIN
! SAL ST ZT
! SAL SZE(NPT)-^ ZE
! SAL SZI(ELN)-^ ZI
! SAL SZCZ< Z
! SAL SZT< ZT
! SAL SZ<3 Z
! SAL S Z
! SAL T'S3$ Z
! SAL TCH Z
! SAL TEAT-^ TEA
! SAL TE(LMNRST)-3^ TE
! SAL TH< T
! SAL TIC$ TIZ
! SAL TOAS-^ TU
! SAL TOILET- TULE
! SAL TOIN- TUA
! SAL TRAINI- TREN
! SAL TSCH Z
! SAL TSH Z
! SAL TST ZT
! SAL T(S<>) Z
! SAL TT(SZ)--< _
! SAL TT9 T
! SAL TZ- _
! SAL T T
! SAL UEBER^^ IPA
! SAL UE2 I
! SAL UIE$ I
! SAL UM^^ UN
! SAL UNTERE-- UNTE
! SAL UNTER^^ UNTA
! SAL UNVER^^ UNFA
! SAL UN^^ UN
! SAL UTI(A<>O<EFBFBD>U<EFBFBD>)- UZI
! SAL U U
! SAL VACL-^ FAZ
! SAL VAC$ FAZ
! SAL VEDD-^ FE
! SAL VEREIN FAEIN
! SAL VERSEN^ FAZN
! SAL VER^^ FA
! SAL VER FA
! SAL VET(HT)-^ FET
! SAL VETTE$ FET
! SAL VIC$ FIZ
! SAL VIEL FIL
! SAL VIEW FIU
! SAL VOR^^ FUR
! SAL VY9^ FI
! SAL V< F
! SAL WE(LMNRST)-3^ FE
! SAL WIC$ FIZ
! SAL WIEDER^^ FITA
! SAL WY9^ FI
! SAL W F
! SAL XE(LMNRST)-3^ XE
! SAL X<^ Z
! SAL X(CSZ) X
! SAL XTS(CH)-- XT
! SAL XT(SZ) Z
! SAL X X
! SAL YE(LMNRST)-3^ IE
! SAL YE-3 I
! SAL YOR(GK)^$ I<>RK
! SAL Y(AOU)-<7 I
! SAL YVES^$ IF
! SAL YVONNE^$ IFUN
! SAL Y I
! SAL ZC(AOU)- ZK
! SAL ZE(LMNRST)-3^ ZE
! SAL ZH< Z
! SAL ZS(CHT)-- _
! SAL ZS Z
! SAL ZUERST ZUERZT
! SAL ZUR<55>CK^^ ZURIK
! SAL ZUVER^^ ZUFA # x
! SAL Z Z

View File

@ -1,574 +0,0 @@
*** de_CH.orig.aff 2019-01-19 18:45:30.400494173 +0100
--- de_CH.aff 2019-01-19 19:24:48.064826847 +0100
***************
*** 15,16 ****
--- 15,48 ----
+ FOL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ LOW <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ UPP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+
+ MIDWORD '
+
+ MAP 9
+ MAP a<><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ MAP e<><65><EFBFBD><EFBFBD>
+ MAP i<><69><EFBFBD><EFBFBD>
+ MAP o<><6F><EFBFBD><EFBFBD><EFBFBD>
+ MAP u<><75><EFBFBD><EFBFBD>
+ MAP n<>
+ MAP c<>
+ MAP y<><79>
+ MAP s<>
+
+
+ COMPOUNDRULE xy?z
+ #COMPOUNDBEGIN x
+ #COMPOUNDMIDDLE y
+ #COMPOUNDEND z
+
+ # Prefixes are allowed at the beginning of compounds,
+ # suffixes are allowed at the end of compounds by default:
+ # (prefix)?(root)+(affix)?
+ # Affixes with COMPOUNDPERMITFLAG may be inside of compounds.
+ COMPOUNDPERMITFLAG c
+
+ ONLYINCOMPOUND o
+
+
PFX U Y 1
***************
*** 538,553 ****
-
- COMPOUNDBEGIN x
- COMPOUNDMIDDLE y
- COMPOUNDEND z
FORBIDDENWORD d
- # Prefixes are allowed at the beginning of compounds,
- # suffixes are allowed at the end of compounds by default:
- # (prefix)?(root)+(affix)?
- # Affixes with COMPOUNDPERMITFLAG may be inside of compounds.
- COMPOUNDPERMITFLAG c
-
- ONLYINCOMPOUND o
-
# my PSEUDOROOT h(elper) flag
--- 570,573 ----
***************
*** 571,573 ****
! WORDCHARS <20>-.
--- 591,593 ----
! # WORDCHARS <20>-.
***************
*** 725,729 ****
# So enabling this is the lesser evil. No perfect solution found so far...
! BREAK 2
! BREAK -
! BREAK .
!
--- 745,1243 ----
# So enabling this is the lesser evil. No perfect solution found so far...
! # BREAK 2
! # BREAK -
! # BREAK .
!
! # German phonetic transformation rules for use with Aspell
! # Copyright (C) 2000 Bj<42>rn Jacke
! #
! # This library is free software; you can redistribute it and/or
! # modify it under the terms of the GNU Lesser General Public
! # License version 2.1 as published by the Free Software Foundation;
! #
! # This library is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY; without even the implied warranty of
! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
! # Lesser General Public License for more details.
! #
! # You should have received a copy of the GNU Lesser General Public
! # License along with this library; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
! #
! # Bj<42>rn Jacke may be reached by email at bjoern.jacke@gmx.de
! #
! # Changelog:
! #
! # 2000-01-05 Bj<42>rn Jacke <bjoern.jacke@gmx.de>
! # Initial Release
! # 2000-01-07 Kevin Atkinson <kevinatk@home.com>
! # Converted from header to data file.
! SAL followup 1
! SAL collapse_result 1
!
! SAL <20>ER- E
! SAL <20>U< EU
! SAL <20>< E
! SAL <20> E
! SAL <20>ER- <20>
! SAL <20> <20>
! SAL <20>BER^^ IPA
! SAL <20>ER- I
! SAL <20> I
! SAL <20> Z
! SAL ABELLE$ APL
! SAL ABELL$ APL
! SAL ABIENNE$ APIN
! SAL ACEY$ AZI
! SAL AEU< EU
! SAL AE2 E
! SAL AGNI-^ AKN
! SAL AGNIE- ANI
! SAL AGN(AEOU)-$ ANI
! SAL AIA2 AIA
! SAL AIE$ E
! SAL AILL(EOU)- ALI
! SAL AINE$ EN
! SAL AIRE$ ER
! SAL AIR- E
! SAL AISE$ EZ
! SAL AISSANCE$ EZANZ
! SAL AISSE$ EZ
! SAL AIX$ EX
! SAL AJ(A<>EIO<49>U<EFBFBD>)-- A
! SAL AKTIE AXIE
! SAL ALO(IY)^ ALUI
! SAL AMATEU(RS)- ANAT<41>
! SAL ANIELLE$ ANIL
! SAL ANTI^^ ANTI
! SAL ANVER^^ ANFA
! SAL ATIA$ ATIA
! SAL ATIA(NS)-- ATI
! SAL ATI(A<>O<EFBFBD>U<EFBFBD>)- AZI
! SAL AUAU-- _
! SAL AUER< AUA
! SAL AUF^^ AUF
! SAL AULT$ U
! SAL AUSSE$ UZ
! SAL AUS(ST)-^ AUZ
! SAL AUS^^ AUZ
! SAL AUTO^^ AUTU
! SAL AUX(IY)- AUX
! SAL AUX U
! SAL AU AU
! SAL AVIER$ AFIE
! SAL AYER--< EI
! SAL AY(A<>EIO<49>U<EFBFBD>)-- A
! SAL A(IJY)< EI
! SAL A A
! SAL BEA(BCMNRU)-^ PEA
! SAL BEAT(AEIMORU)-^ PEAT
! SAL BEIGE^$ PEZ
! SAL BE(LMNRST)-^ PE
! SAL BETTE$ PET
! SAL BIC$ PIZ
! SAL BOWL(EI)- PUL
! SAL BP(A<>EIO<49>RU<52>Y)- P
! SAL BUDGET7 PIKE
! SAL BUFFET7 PIFE
! SAL BYLLE$ PILE
! SAL BYLL$ PIL
! SAL BYTE< PEIT
! SAL B P
! SAL C<>- Z
! SAL C<>$ ZI
! SAL CACH(EI)-^ KEZ
! SAL CAE-- Z
! SAL CA(IY)$ ZEI
! SAL CCH Z
! SAL CCE- X
! SAL CE(EIJUY)-- Z
! SAL CENT< ZENT
! SAL CERST(EI)----^ KE
! SAL CER$ ZA
! SAL CE3 ZE
! SAL CHAO(ST)- KAU
! SAL CHAMPIO-^ ZENPI
! SAL CHAR(AI)-^ KAR
! SAL CHAU(CDFSVWXZ)- ZU
! SAL CHE(CF)- ZE
! SAL CHEM-^ KE
! SAL CHEQUE< ZEK
! SAL CHI(CFGPVW)- ZI
! SAL CH(AEUY)-<^ Z
! SAL CHK- _
! SAL CH(LOR)-<^ K
! SAL CHST- X
! SAL CH(S<>XZ)3 X
! SAL CH K
! SAL CIER$ ZIE
! SAL CYB-^ ZEI
! SAL CY9^ ZI
! SAL C(IJY)-3 Z
! SAL CKST XT
! SAL CK(S<>XZ)3 X
! SAL C(CK)- _
! SAL CLAUDET--- KLU
! SAL CLAUDINE^$ KLUTIN
! SAL COLE$ KUL
! SAL COUCH KAUZ
! SAL CQUES$ K
! SAL CQUE K
! SAL CREAT-^ KREA
! SAL CST XT
! SAL CS<^ Z
! SAL C(S<>X) X
! SAL CT(S<>XZ) X
! SAL CZ< Z
! SAL C< K
! SAL D'H^ T
! SAL D'S3$ Z
! SAL DAVO(NR)-^$ TAFU
! SAL DD(SZ)--< _
! SAL DEPOT7 TEPU
! SAL DESIGN TIZEIN
! SAL DE(LMNRST)-3^ TE
! SAL DETTE$ TET
! SAL DIC$ TIZ
! SAL DJ(AEIOU)-^ I
! SAL DS(CH)--< T
! SAL DST ZT
! SAL DT- _
! SAL DUIS-^ TI
! SAL DURCH^^ TURK
! SAL DZS(CH)-- T
! SAL D(S<>Z) Z
! SAL D T
! SAL EAULT$ U
! SAL EAUX$ U
! SAL EAU U
! SAL EAV IF
! SAL EA(A<>EIO<49><4F>Y)-3 EA
! SAL EA3$ EA
! SAL EA3 I
! SAL EBEN^^ EPN
! SAL EE9 E
! SAL EIEI-- _
! SAL EIH-- E
! SAL EILLE$ EI
! SAL EI EI
! SAL EJ$ EI
! SAL EL-^ E
! SAL EL(DKL)--1 E
! SAL EL(MNT)--1$ E
! SAL ELYNE$ ELINE
! SAL ELYN$ ELIN
! SAL EL(A<>EIO<49>U<EFBFBD>Y)-1 EL
! SAL EL-1 L
! SAL EM-^ E
! SAL EM(DFKMPQT)--1 E
! SAL EM(A<>EIO<49>U<EFBFBD>Y)--1 E
! SAL EM-1 N
! SAL EN-^ E
! SAL EN(CDGKQT)--1 E
! SAL ENZ(AEIOUY)--1 EN
! SAL EN(A<>EINO<4E>U<EFBFBD>Y)-1 EN
! SAL EN-<1 N
! SAL ERH(A<>EIO<49>U<EFBFBD>)-^ ER
! SAL ER-^ E
! SAL ER(A<>EIO<49>U<EFBFBD>Y)-1 A
! SAL ER1$ A
! SAL ER<1 A
! SAL ETI(A<>O<EFBFBD><4F>U)- EZI
! SAL EUEU-- _
! SAL EUILLE$ <20>
! SAL EUR$ <20>R
! SAL EUX <20>
! SAL EUYS$ EUZ
! SAL EU EU
! SAL EYER< EIA
! SAL EY< EI
! SAL E E
! SAL FANS--^$ FE
! SAL FAN-^$ FE
! SAL FAULT- FUL
! SAL FEE(DL)- FI
! SAL FEHLER FELA
! SAL FE(LMNRST)-3^ FE
! SAL FOND7 FUN
! SAL FRAIN$ FRA
! SAL FRISEU(RS)- FRIZ<49> # x
! SAL F F
! SAL G'S$ X
! SAL GAGS^$ KEX
! SAL GAG^$ KEK
! SAL GD KT
! SAL GEGEN^^ KEKN
! SAL GE(LMNRST)-3^ KE
! SAL GETTE$ KET
! SAL G(CK)- _
! SAL GG- _
! SAL GI(AO)-^ I
! SAL GION$ KIUN
! SAL GIUS-^ IU
! SAL GMBH^$ GMPH
! SAL GNAC$ NIAK
! SAL GNON$ NIUN
! SAL GN$ N
! SAL GONCAL-^ KUNZA
! SAL GS(CH)-- K
! SAL GST XT
! SAL G(S<>XZ) X
! SAL GUCK- KU
! SAL GUI-^ K
! SAL G K
! SAL HEAD- E
! SAL HE(LMNRST)-3^ E
! SAL HE(LMN)-1 E
! SAL HEUR1$ <20>R
! SAL H^ _
! SAL IEC$ IZ
! SAL IEI-3 _
! SAL IELL3 IEL
! SAL IENNE$ IN
! SAL IERRE$ IER
! SAL IETTE$ IT
! SAL IEU I<>
! SAL IE<4 I
! SAL IGHT3$ EIT
! SAL IGNI(EO)- INI
! SAL IGN(AEOU)-$ INI
! SAL IJ(AOU)- I
! SAL IJ$ I
! SAL IJ< EI
! SAL IKOLE$ IKUL
! SAL ILLAN(STZ)-- ILIA
! SAL ILLAR(DT)-- ILIA
! SAL INVER- INFE
! SAL ITI(A<>O<EFBFBD>U<EFBFBD>)- IZI
! SAL IVIER$ IFIE
! SAL I I
! SAL JAVIE---<^ ZA
! SAL JEAN^$ IA
! SAL JEAN-^ IA
! SAL JER-^ IE
! SAL JE(LMNST)- IE
! SAL JOR(GK)^$ I<>RK
! SAL J I
! SAL KC(<28>EIJ)- X
! SAL KE(LMNRST)-3^ KE
! SAL KH<^ K
! SAL KIC$ KIZ
! SAL KLE(LMNRST)-3^ KLE
! SAL KOTELE-^ KUTL
! SAL KREAT-^ KREA
! SAL KST XT
! SAL K(S<>XZ) X
! SAL KTI(AIOU)-3 XI
! SAL KT(S<>XZ) X
! SAL K K
! SAL LARVE- LARF
! SAL LEAND-^ LEAN
! SAL LEL- LE
! SAL LE(MNRST)-3^ LE
! SAL LETTE$ LET
! SAL LFGNAG- LFKAN
! SAL LIC$ LIZ
! SAL LIVE^$ LEIF
! SAL LUI(GS)-- LU
! SAL L L
! SAL MASSEU(RS)- NAZ<41>
! SAL MAURICE NURIZ
! SAL MBH^$ MPH
! SAL MB(S<>Z)- N
! SAL MC9^ NK
! SAL MEMOIR-^ NENUA
! SAL ME(LMNRST)-3^ NE
! SAL MIGUEL NIKL
! SAL MIKE^$ NEIK
! SAL MN N
! SAL MPJUTE- NPUT
! SAL MP(S<>Z)- N
! SAL MP(BDJLMNPQRTVW)- NP
! SAL M N
! SAL NACH^^ NAK
! SAL NADINE NATIN
! SAL NAIV-- NA
! SAL NAISE$ NEZE
! SAL NCOISE$ ZUA
! SAL NCOIS$ ZUA
! SAL NEBEN^^ NEPN
! SAL NE(LMNRST)-3^ NE
! SAL NEN-3 NE
! SAL NETTE$ NET
! SAL NG(BDFJLMNPQRTVW)- NK
! SAL NICHTS^^ NIX
! SAL NICHT^^ NIKT
! SAL NINE$ NIN
! SAL NON^^ NUN
! SAL NOT^^ NUT
! SAL NTI(AIOU)-3 NZI
! SAL NTIEL--3 NZI
! SAL NYLON NEILUN
! SAL ND(S<>Z)$ NZ
! SAL NT(S<>Z)$ NZ
! SAL ND'S$ NZ
! SAL NT'S$ NZ
! SAL NSTS$ NZ
! SAL N N
! SAL OBER^^ UPA
! SAL OE2 <20>
! SAL OGNIE- UNI
! SAL OGN(AEOU)-$ UNI
! SAL OIE$ <20>
! SAL OIR$ UAR
! SAL OIX UA
! SAL OI<3 EU
! SAL OJ(A<>EIO<49>U<EFBFBD>)-- U
! SAL OKAY^$ UKE
! SAL OLYN$ ULIN
! SAL OTI(A<>O<EFBFBD>U<EFBFBD>)- UZI
! SAL OUI^ FI
! SAL OUILLE$ ULIE
! SAL OU(DT)-^ AU
! SAL OUSE$ AUZ
! SAL OUT- AU
! SAL OU U
! SAL OWS$ UZ
! SAL OY(A<>EIO<49>U<EFBFBD>)-- U
! SAL O(JY)< EU
! SAL O U
! SAL PATIEN--^ PAZI
! SAL PENSIO-^ PANZI
! SAL PE(LMNRST)-3^ PE
! SAL PFER-^ FE
! SAL P(FH)< F
! SAL POLY^^ PULI
! SAL PORTRAIT7 PURTRE
! SAL PP(FH)--< P
! SAL PP- _
! SAL PRIX^$ PRI
! SAL P(S<>Z)^ Z
! SAL PTI(A<>O<EFBFBD>U<EFBFBD>)-3 PZI
! SAL PIC^$ PIK
! SAL P P
! SAL QUE(LMNRST)-3 KFE
! SAL QUE$ K
! SAL QUI(NS)$ KI
! SAL QU KF
! SAL Q< K
! SAL RCH RK
! SAL RECHERCH^ REZAZ
! SAL RER$ RA
! SAL RE(MNR)-4 RE
! SAL RETTE$ RET
! SAL RH<^ R
! SAL RJA(MN)-- RI
! SAL RTI(A<>O<EFBFBD>U<EFBFBD>)-3 RZI
! SAL RY(KN)-$ RI
! SAL R R
! SAL SAFE^$ ZEIF
! SAL SAUCE-^ ZUZ
! SAL SCHSCH---7 _
! SAL SCHTSCH Z
! SAL SC(HZ)< Z
! SAL SC ZK
! SAL SELBSTST--7^^ ZELP
! SAL SELBST7^^ ZELPZT
! SAL SERVICE7^ Z<>RFIZ
! SAL SE(LMNRST)-3^ ZE
! SAL SETTE$ ZET
! SAL SHP-^ Z
! SAL SHST ZT
! SAL SHTSH Z
! SAL SHT Z
! SAL SH3 Z
! SAL SIEGLI-^ ZIKL
! SAL SIGLI-^ ZIKL
! SAL SIGHT ZEIT
! SAL SIGN ZEIN
! SAL SKI(NPZ)- ZKI
! SAL SKI<^ ZI
! SAL SOUND- ZAUN
! SAL STAATS^^ ZTAZ
! SAL STADT^^ ZTAT
! SAL START^^ ZTART
! SAL STAURANT7 ZTURAN
! SAL STEAK- ZTE
! SAL STRAF^^ ZTRAF
! SAL ST'S$ Z
! SAL STST-- _
! SAL STS(ACEHIOU<4F><55><EFBFBD>)-- ZT
! SAL ST(SZ) Z
! SAL STYN(AE)-$ ZTIN
! SAL ST ZT
! SAL SZE(NPT)-^ ZE
! SAL SZI(ELN)-^ ZI
! SAL SZCZ< Z
! SAL SZT< ZT
! SAL SZ<3 Z
! SAL S Z
! SAL T'S3$ Z
! SAL TCH Z
! SAL TEAT-^ TEA
! SAL TE(LMNRST)-3^ TE
! SAL TH< T
! SAL TIC$ TIZ
! SAL TOAS-^ TU
! SAL TOILET- TULE
! SAL TOIN- TUA
! SAL TRAINI- TREN
! SAL TSCH Z
! SAL TSH Z
! SAL TST ZT
! SAL T(S<>) Z
! SAL TT(SZ)--< _
! SAL TT9 T
! SAL TZ- _
! SAL T T
! SAL UEBER^^ IPA
! SAL UE2 I
! SAL UIE$ I
! SAL UM^^ UN
! SAL UNTERE-- UNTE
! SAL UNTER^^ UNTA
! SAL UNVER^^ UNFA
! SAL UN^^ UN
! SAL UTI(A<>O<EFBFBD>U<EFBFBD>)- UZI
! SAL U U
! SAL VACL-^ FAZ
! SAL VAC$ FAZ
! SAL VEDD-^ FE
! SAL VEREIN FAEIN
! SAL VERSEN^ FAZN
! SAL VER^^ FA
! SAL VER FA
! SAL VET(HT)-^ FET
! SAL VETTE$ FET
! SAL VIC$ FIZ
! SAL VIEL FIL
! SAL VIEW FIU
! SAL VOR^^ FUR
! SAL VY9^ FI
! SAL V< F
! SAL WE(LMNRST)-3^ FE
! SAL WIC$ FIZ
! SAL WIEDER^^ FITA
! SAL WY9^ FI
! SAL W F
! SAL XE(LMNRST)-3^ XE
! SAL X<^ Z
! SAL X(CSZ) X
! SAL XTS(CH)-- XT
! SAL XT(SZ) Z
! SAL X X
! SAL YE(LMNRST)-3^ IE
! SAL YE-3 I
! SAL YOR(GK)^$ I<>RK
! SAL Y(AOU)-<7 I
! SAL YVES^$ IF
! SAL YVONNE^$ IFUN
! SAL Y I
! SAL ZC(AOU)- ZK
! SAL ZE(LMNRST)-3^ ZE
! SAL ZH< Z
! SAL ZS(CHT)-- _
! SAL ZS Z
! SAL ZUERST ZUERZT
! SAL ZUR<55>CK^^ ZURIK
! SAL ZUVER^^ ZUFA # x
! SAL Z Z

View File

@ -1,580 +0,0 @@
*** de_DE.orig.aff 2019-01-19 18:45:26.132522538 +0100
--- de_DE.aff 2019-01-19 19:23:37.233297530 +0100
***************
*** 15,16 ****
--- 15,46 ----
+ FOL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ LOW <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ UPP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+
+ MIDWORD '
+
+ MAP 9
+ MAP a<><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ MAP e<><65><EFBFBD><EFBFBD>
+ MAP i<><69><EFBFBD><EFBFBD>
+ MAP o<><6F><EFBFBD><EFBFBD><EFBFBD>
+ MAP u<><75><EFBFBD><EFBFBD>
+ MAP n<>
+ MAP c<>
+ MAP y<><79>
+ MAP s<>
+
+ COMPOUNDRULE xy?z
+ #COMPOUNDBEGIN x
+ #COMPOUNDMIDDLE y
+ #COMPOUNDEND z
+
+ # Prefixes are allowed at the beginning of compounds,
+ # suffixes are allowed at the end of compounds by default:
+ # (prefix)?(root)+(affix)?
+ # Affixes with COMPOUNDPERMITFLAG may be inside of compounds.
+ COMPOUNDPERMITFLAG c
+
+ ONLYINCOMPOUND o
+
PFX U Y 1
***************
*** 536,553 ****
#LANG de_DE
! CHECKSHARPS
!
- COMPOUNDBEGIN x
- COMPOUNDMIDDLE y
- COMPOUNDEND z
FORBIDDENWORD d
- # Prefixes are allowed at the beginning of compounds,
- # suffixes are allowed at the end of compounds by default:
- # (prefix)?(root)+(affix)?
- # Affixes with COMPOUNDPERMITFLAG may be inside of compounds.
- COMPOUNDPERMITFLAG c
-
- ONLYINCOMPOUND o
-
# my PSEUDOROOT h(elper) flag
--- 566,571 ----
#LANG de_DE
! # CHECKSHARPS
FORBIDDENWORD d
# my PSEUDOROOT h(elper) flag
***************
*** 571,573 ****
! WORDCHARS <20>-.
--- 589,591 ----
! # WORDCHARS <20>-.
***************
*** 725,729 ****
# So enabling this is the lesser evil. No perfect solution found so far...
! BREAK 2
! BREAK -
! BREAK .
!
--- 743,1241 ----
# So enabling this is the lesser evil. No perfect solution found so far...
! # BREAK 2
! # BREAK -
! # BREAK .
!
! # German phonetic transformation rules for use with Aspell
! # Copyright (C) 2000 Bj<42>rn Jacke
! #
! # This library is free software; you can redistribute it and/or
! # modify it under the terms of the GNU Lesser General Public
! # License version 2.1 as published by the Free Software Foundation;
! #
! # This library is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY; without even the implied warranty of
! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
! # Lesser General Public License for more details.
! #
! # You should have received a copy of the GNU Lesser General Public
! # License along with this library; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
! #
! # Bj<42>rn Jacke may be reached by email at bjoern.jacke@gmx.de
! #
! # Changelog:
! #
! # 2000-01-05 Bj<42>rn Jacke <bjoern.jacke@gmx.de>
! # Initial Release
! # 2000-01-07 Kevin Atkinson <kevinatk@home.com>
! # Converted from header to data file.
! SAL followup 1
! SAL collapse_result 1
!
! SAL <20>ER- E
! SAL <20>U< EU
! SAL <20>< E
! SAL <20> E
! SAL <20>ER- <20>
! SAL <20> <20>
! SAL <20>BER^^ IPA
! SAL <20>ER- I
! SAL <20> I
! SAL <20> Z
! SAL ABELLE$ APL
! SAL ABELL$ APL
! SAL ABIENNE$ APIN
! SAL ACEY$ AZI
! SAL AEU< EU
! SAL AE2 E
! SAL AGNI-^ AKN
! SAL AGNIE- ANI
! SAL AGN(AEOU)-$ ANI
! SAL AIA2 AIA
! SAL AIE$ E
! SAL AILL(EOU)- ALI
! SAL AINE$ EN
! SAL AIRE$ ER
! SAL AIR- E
! SAL AISE$ EZ
! SAL AISSANCE$ EZANZ
! SAL AISSE$ EZ
! SAL AIX$ EX
! SAL AJ(A<>EIO<49>U<EFBFBD>)-- A
! SAL AKTIE AXIE
! SAL ALO(IY)^ ALUI
! SAL AMATEU(RS)- ANAT<41>
! SAL ANIELLE$ ANIL
! SAL ANTI^^ ANTI
! SAL ANVER^^ ANFA
! SAL ATIA$ ATIA
! SAL ATIA(NS)-- ATI
! SAL ATI(A<>O<EFBFBD>U<EFBFBD>)- AZI
! SAL AUAU-- _
! SAL AUER< AUA
! SAL AUF^^ AUF
! SAL AULT$ U
! SAL AUSSE$ UZ
! SAL AUS(ST)-^ AUZ
! SAL AUS^^ AUZ
! SAL AUTO^^ AUTU
! SAL AUX(IY)- AUX
! SAL AUX U
! SAL AU AU
! SAL AVIER$ AFIE
! SAL AYER--< EI
! SAL AY(A<>EIO<49>U<EFBFBD>)-- A
! SAL A(IJY)< EI
! SAL A A
! SAL BEA(BCMNRU)-^ PEA
! SAL BEAT(AEIMORU)-^ PEAT
! SAL BEIGE^$ PEZ
! SAL BE(LMNRST)-^ PE
! SAL BETTE$ PET
! SAL BIC$ PIZ
! SAL BOWL(EI)- PUL
! SAL BP(A<>EIO<49>RU<52>Y)- P
! SAL BUDGET7 PIKE
! SAL BUFFET7 PIFE
! SAL BYLLE$ PILE
! SAL BYLL$ PIL
! SAL BYTE< PEIT
! SAL B P
! SAL C<>- Z
! SAL C<>$ ZI
! SAL CACH(EI)-^ KEZ
! SAL CAE-- Z
! SAL CA(IY)$ ZEI
! SAL CCH Z
! SAL CCE- X
! SAL CE(EIJUY)-- Z
! SAL CENT< ZENT
! SAL CERST(EI)----^ KE
! SAL CER$ ZA
! SAL CE3 ZE
! SAL CHAO(ST)- KAU
! SAL CHAMPIO-^ ZENPI
! SAL CHAR(AI)-^ KAR
! SAL CHAU(CDFSVWXZ)- ZU
! SAL CHE(CF)- ZE
! SAL CHEM-^ KE
! SAL CHEQUE< ZEK
! SAL CHI(CFGPVW)- ZI
! SAL CH(AEUY)-<^ Z
! SAL CHK- _
! SAL CH(LOR)-<^ K
! SAL CHST- X
! SAL CH(S<>XZ)3 X
! SAL CH K
! SAL CIER$ ZIE
! SAL CYB-^ ZEI
! SAL CY9^ ZI
! SAL C(IJY)-3 Z
! SAL CKST XT
! SAL CK(S<>XZ)3 X
! SAL C(CK)- _
! SAL CLAUDET--- KLU
! SAL CLAUDINE^$ KLUTIN
! SAL COLE$ KUL
! SAL COUCH KAUZ
! SAL CQUES$ K
! SAL CQUE K
! SAL CREAT-^ KREA
! SAL CST XT
! SAL CS<^ Z
! SAL C(S<>X) X
! SAL CT(S<>XZ) X
! SAL CZ< Z
! SAL C< K
! SAL D'H^ T
! SAL D'S3$ Z
! SAL DAVO(NR)-^$ TAFU
! SAL DD(SZ)--< _
! SAL DEPOT7 TEPU
! SAL DESIGN TIZEIN
! SAL DE(LMNRST)-3^ TE
! SAL DETTE$ TET
! SAL DIC$ TIZ
! SAL DJ(AEIOU)-^ I
! SAL DS(CH)--< T
! SAL DST ZT
! SAL DT- _
! SAL DUIS-^ TI
! SAL DURCH^^ TURK
! SAL DZS(CH)-- T
! SAL D(S<>Z) Z
! SAL D T
! SAL EAULT$ U
! SAL EAUX$ U
! SAL EAU U
! SAL EAV IF
! SAL EA(A<>EIO<49><4F>Y)-3 EA
! SAL EA3$ EA
! SAL EA3 I
! SAL EBEN^^ EPN
! SAL EE9 E
! SAL EIEI-- _
! SAL EIH-- E
! SAL EILLE$ EI
! SAL EI EI
! SAL EJ$ EI
! SAL EL-^ E
! SAL EL(DKL)--1 E
! SAL EL(MNT)--1$ E
! SAL ELYNE$ ELINE
! SAL ELYN$ ELIN
! SAL EL(A<>EIO<49>U<EFBFBD>Y)-1 EL
! SAL EL-1 L
! SAL EM-^ E
! SAL EM(DFKMPQT)--1 E
! SAL EM(A<>EIO<49>U<EFBFBD>Y)--1 E
! SAL EM-1 N
! SAL EN-^ E
! SAL EN(CDGKQT)--1 E
! SAL ENZ(AEIOUY)--1 EN
! SAL EN(A<>EINO<4E>U<EFBFBD>Y)-1 EN
! SAL EN-<1 N
! SAL ERH(A<>EIO<49>U<EFBFBD>)-^ ER
! SAL ER-^ E
! SAL ER(A<>EIO<49>U<EFBFBD>Y)-1 A
! SAL ER1$ A
! SAL ER<1 A
! SAL ETI(A<>O<EFBFBD><4F>U)- EZI
! SAL EUEU-- _
! SAL EUILLE$ <20>
! SAL EUR$ <20>R
! SAL EUX <20>
! SAL EUYS$ EUZ
! SAL EU EU
! SAL EYER< EIA
! SAL EY< EI
! SAL E E
! SAL FANS--^$ FE
! SAL FAN-^$ FE
! SAL FAULT- FUL
! SAL FEE(DL)- FI
! SAL FEHLER FELA
! SAL FE(LMNRST)-3^ FE
! SAL FOND7 FUN
! SAL FRAIN$ FRA
! SAL FRISEU(RS)- FRIZ<49> # x
! SAL F F
! SAL G'S$ X
! SAL GAGS^$ KEX
! SAL GAG^$ KEK
! SAL GD KT
! SAL GEGEN^^ KEKN
! SAL GE(LMNRST)-3^ KE
! SAL GETTE$ KET
! SAL G(CK)- _
! SAL GG- _
! SAL GI(AO)-^ I
! SAL GION$ KIUN
! SAL GIUS-^ IU
! SAL GMBH^$ GMPH
! SAL GNAC$ NIAK
! SAL GNON$ NIUN
! SAL GN$ N
! SAL GONCAL-^ KUNZA
! SAL GS(CH)-- K
! SAL GST XT
! SAL G(S<>XZ) X
! SAL GUCK- KU
! SAL GUI-^ K
! SAL G K
! SAL HEAD- E
! SAL HE(LMNRST)-3^ E
! SAL HE(LMN)-1 E
! SAL HEUR1$ <20>R
! SAL H^ _
! SAL IEC$ IZ
! SAL IEI-3 _
! SAL IELL3 IEL
! SAL IENNE$ IN
! SAL IERRE$ IER
! SAL IETTE$ IT
! SAL IEU I<>
! SAL IE<4 I
! SAL IGHT3$ EIT
! SAL IGNI(EO)- INI
! SAL IGN(AEOU)-$ INI
! SAL IJ(AOU)- I
! SAL IJ$ I
! SAL IJ< EI
! SAL IKOLE$ IKUL
! SAL ILLAN(STZ)-- ILIA
! SAL ILLAR(DT)-- ILIA
! SAL INVER- INFE
! SAL ITI(A<>O<EFBFBD>U<EFBFBD>)- IZI
! SAL IVIER$ IFIE
! SAL I I
! SAL JAVIE---<^ ZA
! SAL JEAN^$ IA
! SAL JEAN-^ IA
! SAL JER-^ IE
! SAL JE(LMNST)- IE
! SAL JOR(GK)^$ I<>RK
! SAL J I
! SAL KC(<28>EIJ)- X
! SAL KE(LMNRST)-3^ KE
! SAL KH<^ K
! SAL KIC$ KIZ
! SAL KLE(LMNRST)-3^ KLE
! SAL KOTELE-^ KUTL
! SAL KREAT-^ KREA
! SAL KST XT
! SAL K(S<>XZ) X
! SAL KTI(AIOU)-3 XI
! SAL KT(S<>XZ) X
! SAL K K
! SAL LARVE- LARF
! SAL LEAND-^ LEAN
! SAL LEL- LE
! SAL LE(MNRST)-3^ LE
! SAL LETTE$ LET
! SAL LFGNAG- LFKAN
! SAL LIC$ LIZ
! SAL LIVE^$ LEIF
! SAL LUI(GS)-- LU
! SAL L L
! SAL MASSEU(RS)- NAZ<41>
! SAL MAURICE NURIZ
! SAL MBH^$ MPH
! SAL MB(S<>Z)- N
! SAL MC9^ NK
! SAL MEMOIR-^ NENUA
! SAL ME(LMNRST)-3^ NE
! SAL MIGUEL NIKL
! SAL MIKE^$ NEIK
! SAL MN N
! SAL MPJUTE- NPUT
! SAL MP(S<>Z)- N
! SAL MP(BDJLMNPQRTVW)- NP
! SAL M N
! SAL NACH^^ NAK
! SAL NADINE NATIN
! SAL NAIV-- NA
! SAL NAISE$ NEZE
! SAL NCOISE$ ZUA
! SAL NCOIS$ ZUA
! SAL NEBEN^^ NEPN
! SAL NE(LMNRST)-3^ NE
! SAL NEN-3 NE
! SAL NETTE$ NET
! SAL NG(BDFJLMNPQRTVW)- NK
! SAL NICHTS^^ NIX
! SAL NICHT^^ NIKT
! SAL NINE$ NIN
! SAL NON^^ NUN
! SAL NOT^^ NUT
! SAL NTI(AIOU)-3 NZI
! SAL NTIEL--3 NZI
! SAL NYLON NEILUN
! SAL ND(S<>Z)$ NZ
! SAL NT(S<>Z)$ NZ
! SAL ND'S$ NZ
! SAL NT'S$ NZ
! SAL NSTS$ NZ
! SAL N N
! SAL OBER^^ UPA
! SAL OE2 <20>
! SAL OGNIE- UNI
! SAL OGN(AEOU)-$ UNI
! SAL OIE$ <20>
! SAL OIR$ UAR
! SAL OIX UA
! SAL OI<3 EU
! SAL OJ(A<>EIO<49>U<EFBFBD>)-- U
! SAL OKAY^$ UKE
! SAL OLYN$ ULIN
! SAL OTI(A<>O<EFBFBD>U<EFBFBD>)- UZI
! SAL OUI^ FI
! SAL OUILLE$ ULIE
! SAL OU(DT)-^ AU
! SAL OUSE$ AUZ
! SAL OUT- AU
! SAL OU U
! SAL OWS$ UZ
! SAL OY(A<>EIO<49>U<EFBFBD>)-- U
! SAL O(JY)< EU
! SAL O U
! SAL PATIEN--^ PAZI
! SAL PENSIO-^ PANZI
! SAL PE(LMNRST)-3^ PE
! SAL PFER-^ FE
! SAL P(FH)< F
! SAL POLY^^ PULI
! SAL PORTRAIT7 PURTRE
! SAL PP(FH)--< P
! SAL PP- _
! SAL PRIX^$ PRI
! SAL P(S<>Z)^ Z
! SAL PTI(A<>O<EFBFBD>U<EFBFBD>)-3 PZI
! SAL PIC^$ PIK
! SAL P P
! SAL QUE(LMNRST)-3 KFE
! SAL QUE$ K
! SAL QUI(NS)$ KI
! SAL QU KF
! SAL Q< K
! SAL RCH RK
! SAL RECHERCH^ REZAZ
! SAL RER$ RA
! SAL RE(MNR)-4 RE
! SAL RETTE$ RET
! SAL RH<^ R
! SAL RJA(MN)-- RI
! SAL RTI(A<>O<EFBFBD>U<EFBFBD>)-3 RZI
! SAL RY(KN)-$ RI
! SAL R R
! SAL SAFE^$ ZEIF
! SAL SAUCE-^ ZUZ
! SAL SCHSCH---7 _
! SAL SCHTSCH Z
! SAL SC(HZ)< Z
! SAL SC ZK
! SAL SELBSTST--7^^ ZELP
! SAL SELBST7^^ ZELPZT
! SAL SERVICE7^ Z<>RFIZ
! SAL SE(LMNRST)-3^ ZE
! SAL SETTE$ ZET
! SAL SHP-^ Z
! SAL SHST ZT
! SAL SHTSH Z
! SAL SHT Z
! SAL SH3 Z
! SAL SIEGLI-^ ZIKL
! SAL SIGLI-^ ZIKL
! SAL SIGHT ZEIT
! SAL SIGN ZEIN
! SAL SKI(NPZ)- ZKI
! SAL SKI<^ ZI
! SAL SOUND- ZAUN
! SAL STAATS^^ ZTAZ
! SAL STADT^^ ZTAT
! SAL START^^ ZTART
! SAL STAURANT7 ZTURAN
! SAL STEAK- ZTE
! SAL STRAF^^ ZTRAF
! SAL ST'S$ Z
! SAL STST-- _
! SAL STS(ACEHIOU<4F><55><EFBFBD>)-- ZT
! SAL ST(SZ) Z
! SAL STYN(AE)-$ ZTIN
! SAL ST ZT
! SAL SZE(NPT)-^ ZE
! SAL SZI(ELN)-^ ZI
! SAL SZCZ< Z
! SAL SZT< ZT
! SAL SZ<3 Z
! SAL S Z
! SAL T'S3$ Z
! SAL TCH Z
! SAL TEAT-^ TEA
! SAL TE(LMNRST)-3^ TE
! SAL TH< T
! SAL TIC$ TIZ
! SAL TOAS-^ TU
! SAL TOILET- TULE
! SAL TOIN- TUA
! SAL TRAINI- TREN
! SAL TSCH Z
! SAL TSH Z
! SAL TST ZT
! SAL T(S<>) Z
! SAL TT(SZ)--< _
! SAL TT9 T
! SAL TZ- _
! SAL T T
! SAL UEBER^^ IPA
! SAL UE2 I
! SAL UIE$ I
! SAL UM^^ UN
! SAL UNTERE-- UNTE
! SAL UNTER^^ UNTA
! SAL UNVER^^ UNFA
! SAL UN^^ UN
! SAL UTI(A<>O<EFBFBD>U<EFBFBD>)- UZI
! SAL U U
! SAL VACL-^ FAZ
! SAL VAC$ FAZ
! SAL VEDD-^ FE
! SAL VEREIN FAEIN
! SAL VERSEN^ FAZN
! SAL VER^^ FA
! SAL VER FA
! SAL VET(HT)-^ FET
! SAL VETTE$ FET
! SAL VIC$ FIZ
! SAL VIEL FIL
! SAL VIEW FIU
! SAL VOR^^ FUR
! SAL VY9^ FI
! SAL V< F
! SAL WE(LMNRST)-3^ FE
! SAL WIC$ FIZ
! SAL WIEDER^^ FITA
! SAL WY9^ FI
! SAL W F
! SAL XE(LMNRST)-3^ XE
! SAL X<^ Z
! SAL X(CSZ) X
! SAL XTS(CH)-- XT
! SAL XT(SZ) Z
! SAL X X
! SAL YE(LMNRST)-3^ IE
! SAL YE-3 I
! SAL YOR(GK)^$ I<>RK
! SAL Y(AOU)-<7 I
! SAL YVES^$ IF
! SAL YVONNE^$ IFUN
! SAL Y I
! SAL ZC(AOU)- ZK
! SAL ZE(LMNRST)-3^ ZE
! SAL ZH< Z
! SAL ZS(CHT)-- _
! SAL ZS Z
! SAL ZUERST ZUERZT
! SAL ZUR<55>CK^^ ZURIK
! SAL ZUVER^^ ZUFA # x
! SAL Z Z

View File

@ -35,7 +35,11 @@ FILE_CH_DIC = de_CH_frami.dic
ZIPFILE_19 = de_OLDSPELL.zip # unmaintained
DICT_FILES = $FILE_20_AFF $FILE_20_DIC $FILE_AT_AFF $FILE_AT_DIC $FILE_CH_AFF $FILE_CH_DIC
READMES = README_de_DE_frami.txt README_extension_owner.txt
# frami files adjusted for Vim are found here
YAMAGIDIR = https://raw.githubusercontent.com/Yamagi/vim-german-dictionaries/master
READMES = README.md
:attr {fetch = $YAMAGIDIR/%file%} $READMES
all: $SPELLDIR/de.latin1.spl $SPELLDIR/de.utf-8.spl ../README_de.txt
@ -49,36 +53,22 @@ $SPELLDIR/de.utf-8.spl : $FILES
../README_de.txt: $READMES
:fetch $READMES
:print de_DE_frami.txt >! $target
:cat README_de_DE_frami.txt >> $target
:print =================================================== >>$target
:print extension_owner >> $target
:cat README_extension_owner.txt >> $target
:print README.md >! $target
:cat README.md >> $target
#
# Fetching the files from the LibreOffices github repository.
# The OLDSPELL file comes from elsewhere
#
OODIR = https://github.com/LibreOffice/dictionaries/raw/master/de
DEDIR = http://www.j3e.de/myspell
:attr {fetch = $OODIR/%file%} $DICT_FILES
:attr {fetch = $OODIR/%file%} $READMES
:attr {fetch = $YAMAGIDIR/src/%file%} $DICT_FILES
:attr {fetch = $DEDIR/%file%} $ZIPFILE_19
# The files don't depend on the .zip file so that we can delete it.
# Only download the zip file if the targets don't exist.
de_DE.aff de_DE.dic de_20.aff de_20.dic: {buildcheck=}
:assertpkg patch
:fetch $FILE_DE_AFF
:fetch $FILE_DE_DIC
:move de_DE_frami.aff de_DE.aff
:move de_DE_frami.dic de_DE.dic
@if not os.path.exists('de_DE.orig.aff'):
:copy de_DE.aff de_DE.orig.aff
@if not os.path.exists('de_DE.orig.dic'):
:copy de_DE.dic de_DE.orig.dic
@if os.path.exists('de_DE.diff'):
:sys patch <de_DE.diff
:copy de_DE.aff de_20.aff
:copy de_DE.dic de_20.dic
@ -97,80 +87,16 @@ de_19.aff de_19.dic: {buildcheck=}
:sys patch <de_19.diff
de_AT.aff de_AT.dic: {buildcheck=}
:assertpkg patch
:fetch $FILE_AT_AFF
:fetch $FILE_AT_DIC
:move $FILE_AT_AFF de_AT.aff
:move $FILE_AT_DIC de_AT.dic
@if not os.path.exists('de_AT.orig.aff'):
:copy de_AT.aff de_AT.orig.aff
@if not os.path.exists('de_AT.orig.dic'):
:copy de_AT.dic de_AT.orig.dic
@if os.path.exists('de_AT.diff'):
:sys patch <de_AT.diff
de_CH.aff de_CH.dic: {buildcheck=}
:assertpkg patch
:fetch $FILE_CH_AFF
:fetch $FILE_CH_DIC
:move $FILE_CH_AFF de_CH.aff
:move $FILE_CH_DIC de_CH.dic
@if not os.path.exists('de_CH.orig.aff'):
:copy de_CH.aff de_CH.orig.aff
@if not os.path.exists('de_CH.orig.dic'):
:copy de_CH.dic de_CH.orig.dic
@if os.path.exists('de_CH.diff'):
:sys patch <de_CH.diff
# Generate diff files, so that others can get the OpenOffice files and apply
# the diffs to get the Vim versions.
diff:
:assertpkg diff
:sys {force} diff -a -C 1 de_DE.orig.aff de_DE.aff >de_DE.diff
:sys {force} diff -a -C 1 de_DE.orig.dic de_DE.dic >>de_DE.diff
:sys {force} diff -a -C 1 de_19.orig.aff de_19.aff >de_19.diff
:sys {force} diff -a -C 1 de_19.orig.dic de_19.dic >>de_19.diff
:sys {force} diff -a -C 1 de_AT.orig.aff de_AT.aff >de_AT.diff
:sys {force} diff -a -C 1 de_AT.orig.dic de_AT.dic >>de_AT.diff
:sys {force} diff -a -C 1 de_CH.orig.aff de_CH.aff >de_CH.diff
:sys {force} diff -a -C 1 de_CH.orig.dic de_CH.dic >>de_CH.diff
:copy de_DE.diff de_20.diff
# Check for updated OpenOffice spell files. When there are changes the
# ".new.aff" and ".new.dic" files are left behind for manual inspection.
check:
:assertpkg unzip patch
:fetch $ZIPFILE_19
:fetch $DICT_FILES
@try:
:mkdir tmp
:cd tmp
:sys $UNZIP ../$ZIPFILE_19
:copy ../*.aff .
:copy ../*.dic .
:move de_OLDSPELL.aff de_19.aff
:move de_OLDSPELL.dic de_19.dic
:move de_DE_frami.aff de_DE.aff
:move de_DE_frami.dic de_DE.dic
:move de_AT_frami.dic de_AT.dic
:move de_AT_frami.aff de_AT.aff
:move de_CH_frami.dic de_CH.dic
:move de_CH_frami.aff de_CH.aff
:copy de_DE.dic de_20.dic
:copy de_DE.aff de_20.aff
@import stat
@for nm in ['de_DE', 'de_19', 'de_20', 'de_AT', 'de_CH']:
@for ext in ['aff', 'dic']:
:sys {force} diff ../$(nm).orig.$ext $(nm).$ext >d
@if os.stat('d')[stat.ST_SIZE] > 0:
:copy $(nm).$ext ../$(nm).new.$ext
:sys {force} diff ../README_$(nm).txt README_$(nm).txt >d
@finally:
:cd ..
:delete {r}{f}{q} tmp
# vim: set sts=4 sw=4 :

View File

@ -247,53 +247,55 @@ an 50.50.170 &Syntax.HIJK.Hercules :cal SetSyn("hercules")<CR>
an 50.50.180 &Syntax.HIJK.Hex\ dump.XXD :cal SetSyn("xxd")<CR>
an 50.50.190 &Syntax.HIJK.Hex\ dump.Intel\ MCS51 :cal SetSyn("hex")<CR>
an 50.50.200 &Syntax.HIJK.Hg\ commit :cal SetSyn("hgcommit")<CR>
an 50.50.210 &Syntax.HIJK.HTML.HTML :cal SetSyn("html")<CR>
an 50.50.220 &Syntax.HIJK.HTML.HTML\ with\ M4 :cal SetSyn("htmlm4")<CR>
an 50.50.230 &Syntax.HIJK.HTML.HTML\ with\ Ruby\ (eRuby) :cal SetSyn("eruby")<CR>
an 50.50.240 &Syntax.HIJK.HTML.Cheetah\ HTML\ template :cal SetSyn("htmlcheetah")<CR>
an 50.50.250 &Syntax.HIJK.HTML.Django\ HTML\ template :cal SetSyn("htmldjango")<CR>
an 50.50.260 &Syntax.HIJK.HTML.HTML/OS :cal SetSyn("htmlos")<CR>
an 50.50.270 &Syntax.HIJK.HTML.XHTML :cal SetSyn("xhtml")<CR>
an 50.50.280 &Syntax.HIJK.Host\.conf :cal SetSyn("hostconf")<CR>
an 50.50.290 &Syntax.HIJK.Hosts\ access :cal SetSyn("hostsaccess")<CR>
an 50.50.300 &Syntax.HIJK.Hyper\ Builder :cal SetSyn("hb")<CR>
an 50.50.320 &Syntax.HIJK.Icewm\ menu :cal SetSyn("icemenu")<CR>
an 50.50.330 &Syntax.HIJK.Icon :cal SetSyn("icon")<CR>
an 50.50.340 &Syntax.HIJK.IDL\Generic\ IDL :cal SetSyn("idl")<CR>
an 50.50.350 &Syntax.HIJK.IDL\Microsoft\ IDL :cal SetSyn("msidl")<CR>
an 50.50.360 &Syntax.HIJK.Indent\ profile :cal SetSyn("indent")<CR>
an 50.50.370 &Syntax.HIJK.Inform :cal SetSyn("inform")<CR>
an 50.50.380 &Syntax.HIJK.Informix\ 4GL :cal SetSyn("fgl")<CR>
an 50.50.390 &Syntax.HIJK.Initng :cal SetSyn("initng")<CR>
an 50.50.400 &Syntax.HIJK.Inittab :cal SetSyn("inittab")<CR>
an 50.50.410 &Syntax.HIJK.Inno\ setup :cal SetSyn("iss")<CR>
an 50.50.420 &Syntax.HIJK.Innovation\ Data\ Processing.Upstream\ dat :cal SetSyn("upstreamdat")<CR>
an 50.50.430 &Syntax.HIJK.Innovation\ Data\ Processing.Upstream\ log :cal SetSyn("upstreamlog")<CR>
an 50.50.440 &Syntax.HIJK.Innovation\ Data\ Processing.Upstream\ rpt :cal SetSyn("upstreamrpt")<CR>
an 50.50.450 &Syntax.HIJK.Innovation\ Data\ Processing.Upstream\ Install\ log :cal SetSyn("upstreaminstalllog")<CR>
an 50.50.460 &Syntax.HIJK.Innovation\ Data\ Processing.Usserver\ log :cal SetSyn("usserverlog")<CR>
an 50.50.470 &Syntax.HIJK.Innovation\ Data\ Processing.USW2KAgt\ log :cal SetSyn("usw2kagtlog")<CR>
an 50.50.480 &Syntax.HIJK.InstallShield\ script :cal SetSyn("ishd")<CR>
an 50.50.490 &Syntax.HIJK.Interactive\ Data\ Lang :cal SetSyn("idlang")<CR>
an 50.50.500 &Syntax.HIJK.IPfilter :cal SetSyn("ipfilter")<CR>
an 50.50.520 &Syntax.HIJK.J :cal SetSyn("j")<CR>
an 50.50.530 &Syntax.HIJK.JAL :cal SetSyn("jal")<CR>
an 50.50.540 &Syntax.HIJK.JAM :cal SetSyn("jam")<CR>
an 50.50.550 &Syntax.HIJK.Jargon :cal SetSyn("jargon")<CR>
an 50.50.560 &Syntax.HIJK.Java.Java :cal SetSyn("java")<CR>
an 50.50.570 &Syntax.HIJK.Java.JavaCC :cal SetSyn("javacc")<CR>
an 50.50.580 &Syntax.HIJK.Java.Java\ Server\ Pages :cal SetSyn("jsp")<CR>
an 50.50.590 &Syntax.HIJK.Java.Java\ Properties :cal SetSyn("jproperties")<CR>
an 50.50.600 &Syntax.HIJK.JavaScript :cal SetSyn("javascript")<CR>
an 50.50.610 &Syntax.HIJK.Jess :cal SetSyn("jess")<CR>
an 50.50.620 &Syntax.HIJK.Jgraph :cal SetSyn("jgraph")<CR>
an 50.50.630 &Syntax.HIJK.Jovial :cal SetSyn("jovial")<CR>
an 50.50.640 &Syntax.HIJK.JSON :cal SetSyn("json")<CR>
an 50.50.660 &Syntax.HIJK.Kconfig :cal SetSyn("kconfig")<CR>
an 50.50.670 &Syntax.HIJK.KDE\ script :cal SetSyn("kscript")<CR>
an 50.50.680 &Syntax.HIJK.Kimwitu++ :cal SetSyn("kwt")<CR>
an 50.50.690 &Syntax.HIJK.Kivy :cal SetSyn("kivy")<CR>
an 50.50.700 &Syntax.HIJK.KixTart :cal SetSyn("kix")<CR>
an 50.50.210 &Syntax.HIJK.Hollywood :cal SetSyn("hollywood")<CR>
an 50.50.220 &Syntax.HIJK.HTML.HTML :cal SetSyn("html")<CR>
an 50.50.230 &Syntax.HIJK.HTML.HTML\ with\ M4 :cal SetSyn("htmlm4")<CR>
an 50.50.240 &Syntax.HIJK.HTML.HTML\ with\ Ruby\ (eRuby) :cal SetSyn("eruby")<CR>
an 50.50.250 &Syntax.HIJK.HTML.Cheetah\ HTML\ template :cal SetSyn("htmlcheetah")<CR>
an 50.50.260 &Syntax.HIJK.HTML.Django\ HTML\ template :cal SetSyn("htmldjango")<CR>
an 50.50.270 &Syntax.HIJK.HTML.Vue.js\ HTML\ template :cal SetSyn("vuejs")<CR>
an 50.50.280 &Syntax.HIJK.HTML.HTML/OS :cal SetSyn("htmlos")<CR>
an 50.50.290 &Syntax.HIJK.HTML.XHTML :cal SetSyn("xhtml")<CR>
an 50.50.300 &Syntax.HIJK.Host\.conf :cal SetSyn("hostconf")<CR>
an 50.50.310 &Syntax.HIJK.Hosts\ access :cal SetSyn("hostsaccess")<CR>
an 50.50.320 &Syntax.HIJK.Hyper\ Builder :cal SetSyn("hb")<CR>
an 50.50.330 &Syntax.HIJK.Icewm\ menu :cal SetSyn("icemenu")<CR>
an 50.50.340 &Syntax.HIJK.Icon :cal SetSyn("icon")<CR>
an 50.50.350 &Syntax.HIJK.IDL\Generic\ IDL :cal SetSyn("idl")<CR>
an 50.50.360 &Syntax.HIJK.IDL\Microsoft\ IDL :cal SetSyn("msidl")<CR>
an 50.50.370 &Syntax.HIJK.Indent\ profile :cal SetSyn("indent")<CR>
an 50.50.380 &Syntax.HIJK.Inform :cal SetSyn("inform")<CR>
an 50.50.390 &Syntax.HIJK.Informix\ 4GL :cal SetSyn("fgl")<CR>
an 50.50.400 &Syntax.HIJK.Initng :cal SetSyn("initng")<CR>
an 50.50.410 &Syntax.HIJK.Inittab :cal SetSyn("inittab")<CR>
an 50.50.420 &Syntax.HIJK.Inno\ setup :cal SetSyn("iss")<CR>
an 50.50.430 &Syntax.HIJK.Innovation\ Data\ Processing.Upstream\ dat :cal SetSyn("upstreamdat")<CR>
an 50.50.440 &Syntax.HIJK.Innovation\ Data\ Processing.Upstream\ log :cal SetSyn("upstreamlog")<CR>
an 50.50.450 &Syntax.HIJK.Innovation\ Data\ Processing.Upstream\ rpt :cal SetSyn("upstreamrpt")<CR>
an 50.50.460 &Syntax.HIJK.Innovation\ Data\ Processing.Upstream\ Install\ log :cal SetSyn("upstreaminstalllog")<CR>
an 50.50.470 &Syntax.HIJK.Innovation\ Data\ Processing.Usserver\ log :cal SetSyn("usserverlog")<CR>
an 50.50.480 &Syntax.HIJK.Innovation\ Data\ Processing.USW2KAgt\ log :cal SetSyn("usw2kagtlog")<CR>
an 50.50.490 &Syntax.HIJK.InstallShield\ script :cal SetSyn("ishd")<CR>
an 50.50.500 &Syntax.HIJK.Interactive\ Data\ Lang :cal SetSyn("idlang")<CR>
an 50.50.510 &Syntax.HIJK.IPfilter :cal SetSyn("ipfilter")<CR>
an 50.50.530 &Syntax.HIJK.J :cal SetSyn("j")<CR>
an 50.50.540 &Syntax.HIJK.JAL :cal SetSyn("jal")<CR>
an 50.50.550 &Syntax.HIJK.JAM :cal SetSyn("jam")<CR>
an 50.50.560 &Syntax.HIJK.Jargon :cal SetSyn("jargon")<CR>
an 50.50.570 &Syntax.HIJK.Java.Java :cal SetSyn("java")<CR>
an 50.50.580 &Syntax.HIJK.Java.JavaCC :cal SetSyn("javacc")<CR>
an 50.50.590 &Syntax.HIJK.Java.Java\ Server\ Pages :cal SetSyn("jsp")<CR>
an 50.50.600 &Syntax.HIJK.Java.Java\ Properties :cal SetSyn("jproperties")<CR>
an 50.50.610 &Syntax.HIJK.JavaScript :cal SetSyn("javascript")<CR>
an 50.50.620 &Syntax.HIJK.Jess :cal SetSyn("jess")<CR>
an 50.50.630 &Syntax.HIJK.Jgraph :cal SetSyn("jgraph")<CR>
an 50.50.640 &Syntax.HIJK.Jovial :cal SetSyn("jovial")<CR>
an 50.50.650 &Syntax.HIJK.JSON :cal SetSyn("json")<CR>
an 50.50.670 &Syntax.HIJK.Kconfig :cal SetSyn("kconfig")<CR>
an 50.50.680 &Syntax.HIJK.KDE\ script :cal SetSyn("kscript")<CR>
an 50.50.690 &Syntax.HIJK.Kimwitu++ :cal SetSyn("kwt")<CR>
an 50.50.700 &Syntax.HIJK.Kivy :cal SetSyn("kivy")<CR>
an 50.50.710 &Syntax.HIJK.KixTart :cal SetSyn("kix")<CR>
an 50.60.100 &Syntax.L.Lace :cal SetSyn("lace")<CR>
an 50.60.110 &Syntax.L.LamdaProlog :cal SetSyn("lprolog")<CR>
an 50.60.120 &Syntax.L.Latte :cal SetSyn("latte")<CR>

View File

@ -3,7 +3,7 @@
" Maintainer: Nick Jensen <nickspoon@gmail.com>
" Former Maintainers: Anduin Withers <awithers@anduin.com>
" Johannes Zellner <johannes@zellner.org>
" Last Change: 2018-11-26
" Last Change: 2019-08-01
" Filenames: *.cs
" License: Vim (see :h license)
" Repository: https://github.com/nickspoons/vim-cs
@ -51,9 +51,11 @@ syn region csTypeOfStatement start="typeof(" end=")" contains=csType, csTypeOf
" Punctuation
syn match csBraces "[{}\[\]]" display
syn match csParens "[()]" display
syn match csOpSymbols "[+\-=]\{1,2}" display
syn match csOpSymbols "[><]\{2}" display
syn match csOpSymbols "\s\zs[><]\ze\_s" display
syn match csOpSymbols "+\{1,2}" display
syn match csOpSymbols "-\{1,2}" display
syn match csOpSymbols "=\{1,2}" display
syn match csOpSymbols ">\{1,2}" display
syn match csOpSymbols "<\{1,2}" display
syn match csOpSymbols "[!><+\-*/]=" display
syn match csOpSymbols "[!*/^]" display
syn match csOpSymbols "=>" display
@ -63,6 +65,9 @@ syn match csLogicSymbols "||" display
syn match csLogicSymbols "?" display
syn match csLogicSymbols ":" display
" Generics
syn region csGeneric matchgroup=csGenericBraces start="<" end=">" oneline contains=csType,csGeneric,csUserType,csUserIdentifier,csUserInterface,csUserMethod
" Comments
"
" PROVIDES: @csCommentHook
@ -87,8 +92,8 @@ syn keyword csXmlTag contained list listheader item term description altcomplian
syn cluster xmlTagHook add=csXmlTag
syn match csXmlCommentLeader +\/\/\/+ contained
syn match csXmlComment +\/\/\/.*$+ contains=csXmlCommentLeader,@csXml,@Spell
syn match csXmlCommentLeader "///" contained
syn match csXmlComment "///.*$" contains=csXmlCommentLeader,@csXml,@Spell keepend
syn include @csXml syntax/xml.vim
hi def link xmlRegion Comment
@ -100,7 +105,8 @@ syn region csSummary start="^\s*/// <summary" end="^\%\(\s*///\)\@!" transparent
syn region csClassType start="@\@1<!\<class\>"hs=s+6 end="[:\n{]"me=e-1 contains=csClass
syn region csNewType start="@\@1<!\<new\>"hs=s+4 end="[;\n{(<\[]"me=e-1 contains=csNew contains=csNewType
" csUserType may be defined by user scripts/plugins - it should be contained in csNewType
syn region csNewType start="@\@1<!\<new\>"hs=s+4 end="[;\n{(<\[]"me=e-1 contains=csNew,csUserType
syn region csIsType start=" is "hs=s+4 end="[A-Za-z0-9]\+" oneline contains=csIsAs
syn region csIsType start=" as "hs=s+4 end="[A-Za-z0-9]\+" oneline contains=csIsAs
syn keyword csNew new contained
@ -146,7 +152,7 @@ syn region csInterVerbString matchgroup=csQuote start=+\$@"+ end=+"+ skip=+""+ e
syn region csBracketed matchgroup=csParens start=+(+ end=+)+ contained transparent contains=@csAll,csBracketed
syn cluster csAll contains=csCharacter,csClassType,csComment,csContextualStatement,csEndColon,csInterpolatedString,csIsType,csLabel,csLogicSymbols,csNewType,csConstant,csNumber,csOpSymbols,csOperatorError,csParens,csPreCondit,csRegion,csString,csSummary,csUnicodeNumber,csUnicodeSpecifier,csVerbatimString
syn cluster csAll contains=csCharacter,csClassType,csComment,csContextualStatement,csEndColon,csInterpolatedString,csIsType,csLabel,csLogicSymbols,csNewType,csConstant,csNumber,csOpSymbols,csOperatorError,csParens,csPreCondit,csRegion,csString,csSummary,csType,csUnicodeNumber,csUnicodeSpecifier,csVerbatimString,csUserType,csUserIdentifier,csUserInterface,csUserMethod
" The default highlighting.
hi def link csType Type
@ -160,7 +166,7 @@ hi def link csLabel Label
hi def link csModifier StorageClass
hi def link csConstant Constant
hi def link csException Exception
hi def link csTypeOf Operator
hi def link csTypeOf Keyword
hi def link csTypeOfStatement Typedef
hi def link csUnspecifiedStatement Statement
hi def link csUnsupportedStatement Statement
@ -198,6 +204,8 @@ hi def link csInterpolationAlignDel csInterpolationDelimiter
hi def link csInterpolationFormat csInterpolationDelimiter
hi def link csInterpolationFormatDel csInterpolationDelimiter
hi def link csGenericBraces csBraces
" xml markup
hi def link csXmlCommentLeader Comment
hi def link csXmlComment Comment

View File

@ -6,8 +6,7 @@
" Nikolai Weibull (Add CSS2 support)
" URL: https://github.com/JulesWang/css.vim
" Maintainer: Jules Wang <w.jq0722@gmail.com>
" Last Change: 2018 Feb. 27
" cssClassName updated by Ryuichi Hayashida Jan 2016
" Last Change: 2019 Jul. 29
" quit when a syntax file was already loaded
if !exists("main_syntax")
@ -69,7 +68,7 @@ endtry
" digits
syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators
syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)\>" contains=cssUnitDecorators
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|vw\|vh\|vmin\|vmax\)\>" contains=cssUnitDecorators
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators
syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators
syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators
@ -114,6 +113,7 @@ syn keyword cssColor contained ActiveBorder ActiveCaption AppWorkspace ButtonFac
syn case ignore
syn match cssImportant contained "!\s*important\>"
syn match cssCustomProp contained "--[a-zA-Z0-9-_]*"
syn match cssColor contained "\<transparent\>"
syn match cssColor contained "\<currentColor\>"
@ -123,6 +123,7 @@ syn match cssColor contained "#\x\{6\}\>" contains=cssUnitDecorators
syn match cssColor contained "#\x\{8\}\>" contains=cssUnitDecorators
syn region cssURL contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(var\|calc\)\s*(" end=")" contains=cssCustomProp,cssValue.*,cssFunction,cssColor,cssStringQ,cssStringQQ oneline
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma
@ -193,6 +194,9 @@ syn match cssBoxProp contained "\<rotation\(-point\)\=\>"
syn keyword cssBoxAttr contained visible hidden scroll auto
syn match cssBoxAttr contained "\<no-\(display\|content\)\>"
syn keyword cssCascadeProp contained all
syn keyword cssCascadeAttr contained initial unset revert
syn keyword cssColorProp contained opacity
syn match cssColorProp contained "\<color-profile\>"
syn match cssColorProp contained "\<rendering-intent\>"
@ -273,10 +277,10 @@ syn match cssGeneratedContentAttr contained "\<\(no-\)\=\(open\|close\)-quote\>"
" https://www.w3.org/TR/css-grid-1/
syn match cssGridProp contained "\<grid\>"
syn match cssGridProp contained "\<grid\(-\(template\|auto\)\)\=\(-\(columns\|rows\|areas\)\)\>"
syn match cssGridProp contained "\<grid-template\(-\(columns\|rows\|areas\)\)\=\>"
syn match cssGridProp contained "\<grid-\(column\|row\)\(-\(start\|end\|gap\)\)\=\>"
syn match cssGridProp contained "\<grid-\(area\|gap\)\>"
syn match cssGridProp contained "\<grid-auto-flow\>"
syn match cssGridProp contained "\<grid-auto-\(flow\|rows\|columns\)\>"
syn match cssHyerlinkProp contained "\<target\(-\(name\|new\|position\)\)\=\>"
@ -295,6 +299,7 @@ syn match cssPositioningAttr contained "\<table\(-\(row-group\|\(header\|footer\
syn keyword cssPositioningAttr contained left right both
syn match cssPositioningAttr contained "\<list-item\>"
syn match cssPositioningAttr contained "\<inline\(-\(block\|box\|table\|grid\|flex\)\)\=\>"
syn match cssPositioningAttr contained "\<flow\(-root\)\=\>"
syn keyword cssPositioningAttr contained static relative absolute fixed subgrid
syn keyword cssPrintAttr contained landscape portrait crop cross always
@ -303,12 +308,13 @@ syn match cssTableProp contained "\<\(caption-side\|table-layout\|border-collaps
syn keyword cssTableAttr contained fixed collapse separate show hide once always
syn keyword cssTextProp contained color direction
syn keyword cssTextProp contained color direction hyphens
syn match cssTextProp "\<\(\(word\|letter\)-spacing\|text\(-\(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>"
syn match cssTextProp contained "\<text-\(justify\|outline\|warp\|align-last\|size-adjust\|rendering\|stroke\|indent\)\>"
syn match cssTextProp contained "\<word-\(break\|\wrap\)\>"
syn match cssTextProp contained "\<\(word\|line\)-break\|\(overflow\|word\)-wrap\>"
syn match cssTextProp contained "\<white-space\>"
syn match cssTextProp contained "\<hanging-punctuation\>"
syn match cssTextProp contained "\<tab-size\>"
syn match cssTextProp contained "\<punctuation-trim\>"
syn match cssTextAttr contained "\<line-through\>"
syn match cssTextAttr contained "\<\(text-\)\=\(top\|bottom\)\>"
@ -316,7 +322,7 @@ syn keyword cssTextAttr contained ltr rtl embed nowrap
syn keyword cssTextAttr contained underline overline blink sub super middle
syn keyword cssTextAttr contained capitalize uppercase lowercase
syn keyword cssTextAttr contained justify baseline sub super
syn keyword cssTextAttr contained optimizeLegibility optimizeSpeed
syn keyword cssTextAttr contained optimizeLegibility optimizeSpeed geometricPrecision
syn match cssTextAttr contained "\<pre\(-\(line\|wrap\)\)\=\>"
syn match cssTextAttr contained "\<\(allow\|force\)-end\>"
syn keyword cssTextAttr contained start end adjacent
@ -325,7 +331,7 @@ syn keyword cssTextAttr contained distribute kashida first last
syn keyword cssTextAttr contained clip ellipsis unrestricted suppress
syn match cssTextAttr contained "\<break-all\>"
syn match cssTextAttr contained "\<break-word\>"
syn keyword cssTextAttr contained hyphenate
syn keyword cssTextAttr contained manual
syn match cssTextAttr contained "\<bidi-override\>"
syn match cssTransformProp contained "\<transform\(-\(origin\|style\)\)\=\>"
@ -408,13 +414,13 @@ syn keyword cssAuralAttr contained male female child code digits continuous
" mobile text
syn match cssMobileTextProp contained "\<text-size-adjust\>"
syn keyword cssMediaProp contained width height orientation scan grid
syn keyword cssMediaProp contained width height orientation scan
syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(\(device\)-\)\=aspect-ratio/
syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/
syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/
syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/
syn keyword cssMediaAttr contained portrait landscape progressive interlace
syn match cssKeyFrameProp /\d*%\|from\|to/ contained nextgroup=cssDefinition
syn match cssKeyFrameProp contained /\(\d\+\(\.\d\+\)\?%\|\(\<from\|to\>\)\)/ nextgroup=cssDefinition
syn match cssPageMarginProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained nextgroup=cssDefinition
syn keyword cssPageProp contained content size
syn keyword cssPageProp contained orphans widows
@ -426,7 +432,7 @@ syn match cssFontDescriptorAttr contained "U+\x\+-\x\+"
syn match cssBraces contained "[{}]"
syn match cssError contained "{@<>"
syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssTagName,cssAttributeSelector,cssClassName,cssIdentifier,cssAtRule,cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold
syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssTagName,cssAttributeSelector,cssClassName,cssIdentifier,cssAtRule,cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssCustomProp,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold
syn match cssBraceError "}"
syn match cssAttrComma ","
@ -437,7 +443,7 @@ syn keyword cssPseudoClassId contained link visited active hover before after le
syn keyword cssPseudoClassId contained root empty target enable disabled checked invalid
syn match cssPseudoClassId contained "\<first-\(line\|letter\)\>"
syn match cssPseudoClassId contained "\<\(first\|last\|only\)-\(of-type\|child\)\>"
syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\(not\|lang\|\(nth\|nth-last\)-\(of-type\|child\)\)(" end=")"
syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\(not\|lang\|\(nth\|nth-last\)-\(of-type\|child\)\)(" end=")" contains=cssStringQ,cssStringQQ
" ------------------------------------
" Vendor specific properties
syn match cssPseudoClassId contained "\<selection\>"
@ -470,19 +476,20 @@ syn match cssHacks contained /\(_\|*\)/
" Attr Enhance
" Some keywords are both Prop and Attr, so we have to handle them
syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
" cssPseudoClassId is hidden by cssAttrRegion, so we add it here. see #69
syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\|{\)/ contained contains=cssPseudoClassId,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
" Hack for transition
" 'transition' has Props after ':'.
syn region cssAttrRegion start=/transition\s*:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
syn match cssAtKeyword /@\(font-face\|media\|keyframes\|import\|charset\|namespace\|page\|supports\)/ contained
syn match cssAtKeyword /@\(font-face\|media\|keyframes\|import\|charset\|namespace\|page\|supports\)/
syn keyword cssAtRuleLogical only not and contained
" @media
" Reference: http://www.w3.org/TR/css3-mediaqueries/
syn region cssAtRule start=/@media\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssComment nextgroup=cssDefinition
syn region cssAtRule start=/@media\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssComment,cssCustomProp,cssFunctionName nextgroup=cssDefinition
syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained
" @page
@ -497,9 +504,6 @@ syn region cssAtRule start=/@import\>/ end=/\ze;/ contains=cssStringQ,cssStri
syn region cssAtRule start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword
syn region cssAtRule start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword
" @font-face
" http://www.w3.org/TR/css3-fonts/#at-font-face-rule
syn match cssAtRule "@font-face\>" nextgroup=cssFontDescriptorBlock
" @supports
" https://www.w3.org/TR/css3-conditional/#at-supports
syn region cssAtRule start=/@supports\>/ end=/\ze{/ skipwhite skipnl contains=cssAtRuleLogical,cssAttrRegion,css.*Prop,cssValue.*,cssVendor,cssAtKeyword,cssComment nextgroup=cssDefinition
@ -525,6 +529,7 @@ hi def link cssAnimationProp cssProp
hi def link cssBackgroundProp cssProp
hi def link cssBorderProp cssProp
hi def link cssBoxProp cssProp
hi def link cssCascadeProp cssProp
hi def link cssColorProp cssProp
hi def link cssContentForPagedMediaProp cssProp
hi def link cssDimensionProp cssProp
@ -585,6 +590,7 @@ hi def link cssUIAttr cssAttr
hi def link cssIEUIAttr cssAttr
hi def link cssAuralAttr cssAttr
hi def link cssRenderAttr cssAttr
hi def link cssCascadeAttr cssAttr
hi def link cssCommonAttr cssAttr
hi def link cssPseudoClassId PreProc
@ -604,6 +610,7 @@ hi def link cssIdentifier Function
hi def link cssAtRule Include
hi def link cssAtKeyword PreProc
hi def link cssImportant Special
hi def link cssCustomProp Special
hi def link cssBraces Function
hi def link cssBraceError Error
hi def link cssError Error

View File

@ -3,7 +3,7 @@
" Maintainer: Debian Vim Maintainers
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.org>
" Last Change: 2019 Apr 21
" Last Change: 2019 Sep 07
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim
" Standard syntax initialization
@ -21,7 +21,7 @@ let s:binNMU='binary-only=yes'
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
exe 'syn match debchangelogFirstKV contained "; \('.s:urgency.'\|'.s:binNMU.'\)"'
exe 'syn match debchangelogOtherKV contained ", \('.s:urgency.'\|'.s:binNMU.'\)"'
syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(squeeze|wheezy|jessie)-%(backports%(-sloppy)=|lts|security)|stretch%(-backports%(-sloppy)=|-security)=|buster%(-backports|-security)=|bullseye|%(devel|precise|trusty|vivid|wily|xenial|yakkety|zesty|artful|bionic|cosmic|disco|eoan)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(squeeze|wheezy|jessie)-%(backports%(-sloppy)=|lts|security)|stretch%(-backports%(-sloppy)=|-security)=|buster%(-backports|-security)=|bullseye|bookworm|%(devel|precise|trusty|vivid|wily|xenial|yakkety|zesty|artful|bionic|cosmic|disco|eoan)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
syn match debchangelogVersion contained "(.\{-})"
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"

View File

@ -1,7 +1,7 @@
" Vim syntax file
" Language: Debian copyright file
" Maintainer: Debian Vim Maintainers
" Last Change: 2018 Feb 05
" Last Change: 2019 Sep 07
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debcopyright.vim
" Standard syntax initialization
@ -15,7 +15,7 @@ set cpo&vim
syn case match
syn match debcopyrightUrl "\vhttps?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
syn match debcopyrightKey "^\%(Format\|Upstream-Name\|Upstream-Contact\|Disclaimer\|Source\|Comment\|Files\|Copyright\|License\): *"
syn match debcopyrightKey "^\%(Format\|Upstream-Name\|Upstream-Contact\|Disclaimer\|Source\|Comment\|Files\|Copyright\|License\|Files-Excluded\%(-[-a-zA-Z0-9]\+\)\=\): *"
syn match debcopyrightEmail "[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+"
syn match debcopyrightEmail "<.\{-}>"
syn match debcopyrightComment "^#.*$" contains=@Spell

View File

@ -2,7 +2,7 @@
" Language: Debian sources.list
" Maintainer: Debian Vim Maintainers
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
" Last Change: 2019 Apr 21
" Last Change: 2019 Sep 07
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debsources.vim
" Standard syntax initialization
@ -26,7 +26,7 @@ let s:supported = [
\ 'wheezy', 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
\ 'sid', 'rc-buggy',
\
\ 'trusty', 'xenial', 'bionic', 'cosmic', 'disco', 'eoan', 'devel'
\ 'trusty', 'xenial', 'bionic', 'disco', 'eoan', 'devel'
\ ]
let s:unsupported = [
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
@ -35,7 +35,7 @@ let s:unsupported = [
\ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty',
\ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
\ 'maverick', 'natty', 'oneiric', 'precise', 'quantal', 'raring', 'saucy',
\ 'utopic', 'vivid', 'wily', 'yakkety', 'zesty', 'artful'
\ 'utopic', 'vivid', 'wily', 'yakkety', 'zesty', 'artful', 'cosmic'
\ ]
let &cpo=s:cpo

View File

@ -1,7 +1,7 @@
" dockerfile.vim - Syntax highlighting for Dockerfiles
" Maintainer: Honza Pokorny <https://honza.ca>
" Version: 0.6
" Last Change: 2016 Aug 9
" Last Change: 2019 Aug 16
" License: BSD
@ -15,6 +15,8 @@ syntax case ignore
syntax match dockerfileKeyword /\v^\s*(ONBUILD\s+)?(ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)\s/
syntax match dockerfileKeyword /\v(AS)/
syntax region dockerfileString start=/\v"/ skip=/\v\\./ end=/\v"/
syntax match dockerfileComment "\v^\s*#.*$"

View File

@ -1,12 +1,13 @@
" Vim syntax file
" Language: FreeBasic
" Maintainer: Mark Manning <markem@airmail.net>
" Updated: 10/22/2006
" Maintainer: Mark Manning <markem@sim1.us>
" Updated: 10/9/2019
" Version: 7.0b
"
" Description:
"
" Based originally on the work done by Allan Kelly <Allan.Kelly@ed.ac.uk>
" Updated by Mark Manning <markem@airmail.net>
" Updated by Mark Manning <markem@sim1.us>
" Applied FreeBasic support to the already excellent support
" for standard basic syntax (like QB).
"
@ -138,7 +139,7 @@ syn keyword freebasicUserInput GETJOYSTICK GETKEY GETMOUSE INKEY INPUT MULTIKEY
" types of identifiers like functions, basic commands and
" such. MEM 9/9/2006
"
syn match freebasicIdentifier "\<[a-zA-Z_][a-zA-Z0-9_]*\>"
syn match freebasicIdentifier "\<[a-zA-Z_][a-zA-Z0-9_]*\>"
syn match freebasicGenericFunction "\<[a-zA-Z_][a-zA-Z0-9_]*\>\s*("me=e-1,he=e-1
"
" Function list
@ -154,9 +155,13 @@ syn cluster freebasicParenGroup contains=freebasicParenError,freebasicSpecial,fr
"
" Integer number, or floating point number without a dot and with "f".
"
syn region freebasicHex start="&h" end="\W"
syn region freebasicHexError start="&h\x*[g-zG-Z]" end="\W"
syn match freebasicInteger "\<\d\+\(u\=l\=\|lu\|f\)\>"
syn region freebasicHex start="&h" end="\W"
syn region freebasicHexError start="&h\x*[g-zG-Z]" end="\W"
syn region freebasicOctal start="&o" end="\W"
syn region freebasicOctalError start="&o[0-7]*[89a-zA-Z]" end="\W"
syn region freebasicBinary start="&b" end="\W"
syn region freebasicBinaryError start="&b[01]*[2-9a-zA-Z]" end="\W"
syn match freebasicInteger "\<\d\+\(u\=l\=\|lu\|f\)\>"
"
" Floating point number, with dot, optional exponent
"
@ -170,11 +175,11 @@ syn match freebasicFloat "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
"
syn match freebasicFloat "\<\d\+e[-+]\=\d\+[fl]\=\>"
"
" Hex number
" Octal number
"
syn case match
syn match freebasicOctal "\<0\o*\>"
syn match freebasicOctalError "\<0\o*[89]"
syn match freebasicOctal2 "\<0\o*\>"
syn match freebasicOctal2Error "\<0\o*[89a-zA-Z]"
"
" String and Character contstants
"
@ -183,7 +188,7 @@ syn region freebasicString start="'" end="'" contains=freebasicSpecial,freebasi
"
" Comments
"
syn match freebasicSpecial contained "\\."
syn match freebasicSpecial contained "\\\\."
syn region freebasicComment start="^rem" end="$" contains=freebasicSpecial,freebasicTodo
syn region freebasicComment start=":\s*rem" end="$" contains=freebasicSpecial,freebasicTodo
syn region freebasicComment start="\s*'" end="$" contains=freebasicSpecial,freebasicTodo
@ -197,12 +202,12 @@ syn region freebasicLineNumber start="^\d" end="\s"
"
" Create the clusters
"
syn cluster freebasicNumber contains=freebasicHex,freebasicOctal,freebasicInteger,freebasicFloat
syn cluster freebasicError contains=freebasicHexError,freebasicOctalError
syn cluster freebasicNumber contains=freebasicHex,freebasicOctal,freebasicOctal2,freebasicBinary,freebasicInteger,freebasicFloat
syn cluster freebasicError contains=freebasicHexError,freebasicOctalError,freebasicOctal2,freebasicBinary
"
" Used with OPEN statement
"
syn match freebasicFilenumber "#\d\+"
syn match freebasicFilenumber "#\d\+"
syn match freebasicMathOperator "[\+\-\=\|\*\/\>\<\%\()[\]]" contains=freebasicParen
"
" The default methods for highlighting. Can be overridden later

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More