Compare commits

...

151 Commits

Author SHA1 Message Date
Yee Cheng Chin f24dd52b3f MacVim Snapshot 160
Vim patch 8.1.2224

General:

- MacVim **now requires macOS 10.9**, up from 10.8.
- MacVim binary is now notaraized by Apple. This should make it open
  properly without a security warning in macOS 10.15 Catalina. #959 #825

Features:

- Make mouse cursor higher contrast under macOS 10.13 or older. #910

Fixes:

- Fix OS appearance (dark vs light mode) detection not working. See
  `:help OSAppearanceChanged` for more info on the feature.  #973
- Fix spell checker flagging first words in line. #971 (Vim 8.1.2172)
- Fix wrong highlighting color scheme. #960 (Vim 8.1.2176)

Misc:

- Sparkle updater has been updated to 1.22.00. #963

Targets macOS 10.9+

Script interfaces have compatibility with these versions:

- Lua 5.3
- Perl 5.18
- Python2 2.7
- Python3 3.7
- Ruby 2.6
2019-10-28 04:27:35 -07:00
Yee Cheng Chin ad80be723b Fix Travis CI build scripts to deploy correctly
In order for build cache to work, both deploy and test stages have to
use the same env vars.
2019-10-28 04:27:35 -07:00
Yee Cheng Chin a4b3a5f23d Merge pull request #975 from ychin/custom-ibeam-cursor-for-old-os
Use a custom I-beam mouse cursor for pre-Mojave OS versions
2019-10-28 01:36:01 -07:00
Yee Cheng Chin f2ef091b2c Use a custom I-beam mouse cursor for pre-Mojave OS versions
Prevoiusly, #859 removed the custom high-contrast I-beam mouse cursor in
favor of using the system-default I-beam cursor. However, it mostly
worked well on 10.14 Mojave or above, as the cursor is designed with
dark mode in mind and works well on both bright and dark backgrounds.
Since this doesn't work well on older macOS versions, add back the
custom cursor and only enable it on those older macOS versions.

Fix #910.
2019-10-28 01:28:59 -07:00
Yee Cheng Chin 491433d93b Merge remote-tracking branch 'vim/master' 2019-10-26 13:16:46 -07:00
Bram Moolenaar dfded98f87 patch 8.1.2224: cannot build Amiga version
Problem:    Cannot build Amiga version.
Solution:   Add dummy mch_setmouse(). (Ola Söder, closes #5126)
2019-10-26 21:33:19 +02:00
Bram Moolenaar cb86893114 patch 8.1.2223: cannot see what buffer an ml_get error is for
Problem:    Cannot see what buffer an ml_get error is for.
Solution:   Add the buffer number and name in the message
2019-10-26 20:56:21 +02:00
Bram Moolenaar 7ab5d77666 patch 8.1.2222: accessing invalid memory
Problem:    Accessing invalid memory. (Dominique Pelle)
Solution:   Reset highlight_match every time.  (closes #5125)
2019-10-26 20:45:24 +02:00
Bram Moolenaar 96f45c0b6f Update runtime files 2019-10-26 19:53:45 +02:00
Bram Moolenaar 8fc4296436 patch 8.1.2221: cannot filter :disp output
Problem:    Cannot filter :disp output.
Solution:   Support filtereing :disp output. (Andi Massimino, closes #5117)
2019-10-26 17:33:13 +02:00
Bram Moolenaar 6a0cc916bd patch 8.1.2220: :cfile does not abort like other quickfix commands
Problem:    :cfile does not abort like other quickfix commands.
Solution:   Abort when desired. Add tests for aborting. (Yegappan Lakshmanan,
            closes #5121)
2019-10-26 16:48:44 +02:00
Bram Moolenaar 28ed4dfe1f patch 8.1.2219: no autocommand for open window with terminal
Problem:    No autocommand for open window with terminal.
Solution:   Add TerminalWinOpen. (Christian Brabandt)
2019-10-26 16:21:40 +02:00
Bram Moolenaar 453c19257f patch 8.1.2218: "gN" is off by one in Visual mode
Problem:    "gN" is off by one in Visual mode.
Solution:   Check moving forward. (Christian Brabandt, #5075)
2019-10-26 14:42:09 +02:00
Bram Moolenaar c7488a7fc8 patch 8.1.2217: compiler warning for unused variable
Problem:    Compiler warning for unused variable.
Solution:   Move variable inside #ifdef. (John Marriott)
2019-10-26 12:23:04 +02:00
Yee Cheng Chin e0f0d5cde9 Merge pull request #882 from ichizok/fix/travis
Refactor CI script
2019-10-26 03:04:13 -07:00
Bram Moolenaar 1fd30d7bae patch 8.1.2216: text property in wrong place after :substitute
Problem:    Text property in wrong place after :substitute.
Solution:   Pass the new column instead of the old one. (Christian Brabandt,
            closes #4427)
2019-10-25 22:13:29 +02:00
Bram Moolenaar 7aee6876eb patch 8.1.2215: unreachable code in adjusting text prop columns
Problem:    Unreachable code in adjusting text prop columns.
Solution:   Remove the code. (Christian Brabandt)
2019-10-25 21:49:38 +02:00
ichizok 35cdbcc27a Workaround: Omit 'fullscreen' option test
Doing 'set fullscreen' and 'set nofullscreen' at once doesn't work
properly: the values of "&lines" and "&columns" are restored, but the
fullscreen is kept on actually and thus affects 'writedelay' test
performance.
2019-10-25 13:16:02 +09:00
ichizok c91441d8f4 Refactor CI script
* Cache Homebrew taps
* Colorize stage messages
* Simplify if_xxx tests
* Improve if_ruby build config
* Make build stages to separate build and deploy jobs
2019-10-25 13:16:02 +09:00
Bram Moolenaar 11a58af66f patch 8.1.2214: too much is redrawn when 'cursorline' is set
Problem:    Too much is redrawn when 'cursorline' is set.
Solution:   Don't do a complete redraw. (closes #5079)
2019-10-24 22:32:31 +02:00
Bram Moolenaar aa1f04d092 patch 8.1.2213: popup_textprop tests fail
Problem:    Popup_textprop tests fail.
Solution:   Adjust the column and line positioning.
2019-10-24 22:12:54 +02:00
Bram Moolenaar 3691f1ee72 patch 8.1.2212: cannot see the selection type in :reg output
Problem:    Cannot see the selection type in :reg output. (Ayberk Aydın)
Solution:   Add c/l/b. (Christian Brabandt, closes #5110, closes #4546)
2019-10-24 20:17:00 +02:00
Bram Moolenaar 336bf2b8b2 patch 8.1.2211: listener callback "added" argument is not the total
Problem:    Listener callback "added" argument is not the total. (Andy
            Massimino)
Solution:   Compute the total. (closes #5105)
2019-10-24 20:07:07 +02:00
Bram Moolenaar b754b5bf6d patch 8.1.2210: using negative offset for popup_create() does not work
Problem:    Using negative offset for popup_create() does not work.
Solution:   Use -1 instead of zero. (closes #5111)
2019-10-24 19:25:00 +02:00
Bram Moolenaar ec6f735012 patch 8.1.2209: LF in escape codes may be expanded to CR-LF
Problem:    LF in escape codes may be expanded to CR-LF.
Solution:   Do not expand LF in escape codes to CR-LF. (closes #5107)
2019-10-24 17:49:27 +02:00
Bram Moolenaar faf626e5d1 patch 8.1.2208: Unix: Tabs in output might be expanded to spaces
Problem:    Unix: Tabs in output might be expanded to spaces.
Solution:   Reset the XTABS flag. (closes #5108)
2019-10-24 17:43:25 +02:00
Bram Moolenaar edaad6e0a0 patch 8.1.2207: "gn" doesn't work quite right
Problem:    "gn" doesn't work quite right. (Jaehwang Jerry Jung)
Solution:   Improve and simplify the search logic. (Christian Brabandt,
            closes #5103, closes #5075)
2019-10-24 15:23:37 +02:00
Bram Moolenaar 28686682e7 patch 8.1.2206: no test for fixed issue #3893
Problem:    No test for fixed issue #3893.
Solution:   Add a test. (Christian Brabandt, #3893)
2019-10-24 15:12:37 +02:00
Bram Moolenaar 6656c2ec4c patch 8.1.2205: sign entry structure has confusing name
Problem:    Sign entry structure has confusing name.
Solution:   Rename signlist_T to sign_entry_T and prefix se_ to the fields.
2019-10-24 15:00:04 +02:00
Yee Cheng Chin ee73f16b4e Merge pull request #974 from ychin/fix-os-appearance-macos-14
Fix v:os_appearance to work when building against older SDKs
2019-10-24 01:23:08 -07:00
Yee Cheng Chin b82ceda0b8 Fix v:os_appearance to work when building against older SDKs
Use the correct macros to do SDK ifdefs.

Fix #973.
2019-10-24 00:39:39 -07:00
Yee Cheng Chin 53372da42b Merge pull request #972 from ychin/travis-ci-draft-release
Switch Travis CI release to use Github release drafts
2019-10-24 00:29:09 -07:00
Bram Moolenaar 8f7ab4bd1e patch 8.1.2204: crash on exit when closing terminals
Problem:    Crash on exit when closing terminals. (Corey Hickey)
Solution:   Actually wait for the job to stop. (closes #5100)
2019-10-23 23:16:45 +02:00
Bram Moolenaar 823edd1eed patch 8.1.2203: running libvterm tests without the +terminal feature
Problem:    Running libvterm tests without the +terminal feature.
Solution:   Only add the libvterm test target when building libvterm.
2019-10-23 22:35:36 +02:00
Bram Moolenaar 93bbf33ceb patch 8.1.2202: MS-Windows: build failure with GUI and small features
Problem:    MS-Windows: build failure with GUI and small features.
Solution:   Add #ifdef. (Michael Soyka, closes #5097)
2019-10-23 21:43:16 +02:00
Bram Moolenaar 13a1f3fb0c patch 8.1.2201: cannot build with dynamically linked Python 3.8
Problem:    Cannot build with dynamically linked Python 3.8.
Solution:   Implement py3__Py_DECREF() and py3__Py_XDECREF(). (Ken Takata,
            closes #4080)
2019-10-23 21:37:25 +02:00
Bram Moolenaar 1cac70953d patch 8.1.2200: crash when memory allocation fails
Problem:    Crash when memory allocation fails.
Solution:   Check for NULL curwin and curbuf. (Christian Brabandt,
            closes #4839)
2019-10-22 21:54:31 +02:00
Bram Moolenaar a720be78d7 patch 8.1.2199: build failure when using normal features without GUI
Problem:    Build failure when using normal features without GUI and EXITFREE
            defined.
Solution:   Add #ifdef. (Dominique Pelle, closes #5106)
2019-10-22 21:45:19 +02:00
Yee Cheng Chin 3ee30fe9ae Switch Travis CI release to use Github release drafts
This is necessary because with the new macOS requirements to use code
signing and app notarization, there's a set of additional steps after
Travis CI has built the app to be done. Using drafts would upload the
built app to a non-release location to give time to finish the remaining
signing and notarization steps without creating an incomplete Github
release.
2019-10-22 05:41:12 -07:00
Yee Cheng Chin d3519c21e3 Merge pull request #965 from ychin/update-binary-release-10.9
Update binary release to target 10.9 (used to be 10.8)
2019-10-22 04:18:39 -07:00
Yee Cheng Chin 1597180de3 Merge pull request #966 from ychin/revert-hardened-runtime
Revert "Enable hardened runtime"
2019-10-22 04:18:12 -07:00
Yee Cheng Chin d206d6ee94 Revert "Enable hardened runtime"
The hardened runtime was causing issues with misc unsigned frameworks
and failing CI, and also making it hard to locally debug code. Because
we currently perform code signing outside of Xcode anyway by using the
`codesign` utility, it's not particularly useful to embed hardened
runtime in the project file itself. We just need to sign the app with
`-o runtime` flag when signing it before sending over to notarization
service.

This reverts commit 76cb94be7d.
2019-10-22 02:31:18 -07:00
Yee Cheng Chin 2c6414be2e Merge remote-tracking branch 'vim/master' 2019-10-22 01:37:59 -07:00
Yee Cheng Chin a202ae7996 Merge pull request #964 from ychin/hardened-runtime
Enable hardened runtime
2019-10-22 00:09:15 -07:00
Yee Cheng Chin ba77a78209 Merge pull request #963 from ychin/update-sparkle-1.22
Update Sparkle to 1.22.00
2019-10-22 00:08:46 -07:00
Bram Moolenaar 396b7c78c0 patch 8.1.2198: crash when using :center in autocommand
Problem:    Crash when using :center in autocommand.
Solution:   Bail out early for an empty line. (Dominique pelle, closes #5095)
2019-10-21 23:08:59 +02:00
Yee Cheng Chin 926c789fde Update binary release to target 10.9 (used to be 10.8)
This is mostly to satisfy Apple's notarization requirements as 10.9 is
the minium. Given how currently macOS is at 10.14, there should have
been ample time for people to have upgraded. People can still manually
build MacVim for 10.8 if they so wish.
2019-10-21 05:42:43 -07:00
Yee Cheng Chin b4a4a2211c Merge pull request #956 from ychin/fix-configure-macos-sdk
Fix configure macos sdk
2019-10-21 05:39:00 -07:00
Yee Cheng Chin 76cb94be7d Enable hardened runtime 2019-10-21 05:17:41 -07:00
Yee Cheng Chin e77679fc85 Update Sparkle to 1.22.00 2019-10-21 03:16:27 -07:00
Bram Moolenaar 34ba06b6e6 patch 8.1.2197: ExitPre autocommand may cause accessing freed memory
Problem:    ExitPre autocommand may cause accessing freed memory.
Solution:   Check the window pointer is still valid. (closes #5093)
2019-10-20 22:27:10 +02:00
Bram Moolenaar d53ebfc624 patch 8.1.2196: MS-Windows: running tests with MSVC lacks updates
Problem:    MS-Windows: running tests with MSVC lacks updates.
Solution:   Improve running individual tests on MS-Windows. (closes #4922)
2019-10-20 21:47:20 +02:00
Bram Moolenaar 4d14bac8e7 patch 8.1.2195: Vim does not exit when the terminal window is last window
Problem:    Vim does not exit when closing a terminal window and it is the
            last window.
Solution:   Exit Vim if the closed terminal window is the last one.
            (closes #4539)
2019-10-20 21:15:15 +02:00
Bram Moolenaar 4b57018ee4 patch 8.1.2194: modifyOtherKeys is not enabled by default
Problem:    ModifyOtherKeys is not enabled by default.
Solution:   Add t_TI and t_TE to the builtin xterm termcap.
2019-10-20 19:53:22 +02:00
Bram Moolenaar a13961536e patch 8.1.2193: popup_setoptions(popup_getoptions()) does not work
Problem:    Popup_setoptions(popup_getoptions()) does not work.
Solution:   Also accept a list with three entries for "moved" and
            "mousemoved". (closes #5081)
2019-10-20 18:46:05 +02:00
Bram Moolenaar dca7abe79c patch 8.1.2192: cannot easily fill the info popup asynchronously
Problem:    Cannot easily fill the info popup asynchronously.
Solution:   Add the "popuphidden" value to 'completeopt'. (closes #4924)
2019-10-20 18:17:57 +02:00
Bram Moolenaar 88d3d09e07 patch 8.1.2191: when using modifyOtherKeys CTRL-X mode may not work
Problem:    When using modifyOtherKeys CTRL-X mode may not work.
Solution:   Recognize a control character also in the form with a modifier.
2019-10-20 16:00:47 +02:00
Bram Moolenaar 83e9a1ce75 patch 8.1.2190: syntax test fails on Mac
Problem:    Syntax test fails on Mac.
Solution:   Limit the window size to 20 rows.
2019-10-20 14:51:23 +02:00
Bram Moolenaar 82260afb0e patch 8.1.2189: syntax highlighting wrong for tab
Problem:    Syntax highlighting wrong for tab.
Solution:   Don't clear syntax attribute n_extra is non-zero.
2019-10-20 13:16:22 +02:00
Yee Cheng Chin 70cba308d8 Fix env var MACOSX_DEPLOYMENT_TARGET to work properly in configure script
Also update Travis to build Xcode 11, and remove Xcode 8 to keep number
of targets limited.
2019-10-19 23:16:04 -07:00
Bram Moolenaar 2b78ab5d0c patch 8.1.2188: build error for missing define
Problem:    Build error for missing define.
Solution:   Add missing change.
2019-10-19 22:50:20 +02:00
Bram Moolenaar b40c2576d4 patch 8.1.2187: error for bad regexp even though regexp is not used
Problem:    Error for bad regexp even though regexp is not used when writing
            a file. (Arseny Nasokin)
Solution:   Ignore regexp errors. (closes #5059)
2019-10-19 21:01:05 +02:00
Bram Moolenaar 7eed964b41 patch 8.1.2186: error for bad regexp even though regexp is not used
Problem:    Error for bad regexp even though regexp is not used, when writing
            a file. (Arseny Nasokin)
Solution:   Ignore regexp errors. (closes #5059)
2019-10-19 20:57:28 +02:00
Bram Moolenaar bbfd1562ae patch 8.1.2185: syntax test fails
Problem:    Syntax test fails.
Solution:   Add missing file patch.
2019-10-19 20:38:15 +02:00
Bram Moolenaar cfb381421f patch 8.1.2184: option context is not copied when splitting a window
Problem:    Option context is not copied when splitting a window. (Daniel
            Hahler)
Solution:   Copy the option context, so that ":verbose set" works.
            (closes #5066)
2019-10-19 20:18:47 +02:00
Bram Moolenaar ba089307bb patch 8.1.2183: running a test is a bit verbose
Problem:    Running a test is a bit verbose.
Solution:   Silence some messages. (Daniel Hahler, closes #5070)
2019-10-19 18:56:58 +02:00
Bram Moolenaar 5b39d7adb0 patch 8.1.2182: test42 seen as binary by git diff
Problem:    Test42 seen as binary by git diff.
Solution:   Add .gitattributes file.  Make explicit that 'cpo' does not
            contain 'S'. (Daniel Hahler, closes #5072)
2019-10-19 18:37:53 +02:00
Bram Moolenaar a74fda6f4d patch 8.1.2181: highlighting wrong when item follows tab
Problem:    Highlighting wrong when item follows tab.
Solution:   Don't use syntax attribute when n_extra is non-zero.
            (Christian Brabandt, closes #5076)
2019-10-19 17:38:03 +02:00
Bram Moolenaar 00e192becd patch 8.1.2180: Error E303 is not useful when 'directory' is empty
Problem:    Error E303 is not useful when 'directory' is empty.
Solution:   Skip the error message. (Daniel Hahler, #5067)
2019-10-19 17:01:28 +02:00
Bram Moolenaar b98678a974 patch 8.1.2179: pressing "q" at the more prompt doesn't stop Python output
Problem:    Pressing "q" at the more prompt doesn't stop Python output. (Daniel
            Hahler)
Solution:   Check for got_int in writer(). (closes #5053)
            Also do this for Lua.
2019-10-19 15:18:44 +02:00
Bram Moolenaar 15ee567809 patch 8.1.2178: accessing uninitialized memory in test
Problem:    Accessing uninitialized memory in test.
Solution:   Check if there was a match before using the match position.
            (Dominique Pelle, closes #5088)
2019-10-19 14:35:02 +02:00
Bram Moolenaar afbdb905c3 patch 8.1.2177: Dart files are not recognized
Problem:    Dart files are not recognized.
Solution:   Add a filetype rule. (Eugene Ciurana, closes #5087)
2019-10-19 14:10:21 +02:00
Bram Moolenaar 8459006af5 patch 8.1.2176: syntax attributes not combined with Visual highlighting
Problem:    Syntax attributes not combined with Visual highlighting. (Arseny
            Nasokin)
Solution:   Combine the attributes. (closes #5083)
2019-10-18 23:12:20 +02:00
Bram Moolenaar c3bf7b56f2 patch 8.1.2175: meson files are not recognized
Problem:    Meson files are not recognized.
Solution:   Add the meson filetype. (Liam Beguin , Nirbheek Chauhan,
            closes #5056)  Also recognize hollywood.
2019-10-18 22:09:34 +02:00
Bram Moolenaar 89577b3b3e patch 8.1.2174: screen not recognized as supporting "sgr" mouse codes
Problem:    Screen not recognized as supporting "sgr" mouse codes.
Solution:   Recognize screen 4.7. (Jordan Christiansen, closes #5042)
2019-10-18 21:26:05 +02:00
Bram Moolenaar 92ea26b925 patch 8.1.2173: searchit() has too many arguments
Problem:    Searchit() has too many arguments.
Solution:   Move optional arguments to a struct.  Add the "wrapped" argument.
2019-10-18 20:53:34 +02:00
Bram Moolenaar 7751d1d1a3 patch 8.1.2172: spell highlight is wrong at start of the line
Problem:    Spell highlight is wrong at start of the line.
Solution:   Fix setting the "v" variable. (closes #5078)
2019-10-18 20:37:08 +02:00
Bram Moolenaar a1cb1d1dce patch 8.1.2171: mouse support not always available
Problem:    Mouse support not always available.
Solution:   Enable mouse support also in tiny version.  Do not define
            FEAT_MOUSE_XTERM on MS-Windows (didn't really work).
2019-10-17 23:00:07 +02:00
Bram Moolenaar 0d2c4bf171 patch 8.1.2170: cannot build without the +termresponse feature
Problem:    Cannot build without the +termresponse feature.
Solution:   Add #ifdef.
2019-10-17 22:17:02 +02:00
Bram Moolenaar 3cea8a9a51 patch 8.1.2169: terminal flags are never reset
Problem:    Terminal flags are never reset.
Solution:   Reset the flags when setting 'term'.
2019-10-17 21:55:24 +02:00
Yee Cheng Chin ae238e048d MacVim Snapshot 159
Vim patch 8.1.2168

Features:

- Can now use autocommand to detect an OS appearance change (dark vs
  light mode). See `:help OSAppearanceChanged`. #766

Fixes:

- Fix text being clipped in macOS Catalina. #905
- Fix "E432: Tags file not sorted" issue in macOS Catalina. #953. (Vim
  8.1.2152)

Targets macOS 10.8+

Script interfaces have compatibility with these versions:

- Lua 5.3
- Perl 5.18
- Python2 2.7
- Python3 3.7
- Ruby 2.6
2019-10-17 00:11:44 -07:00
Yee Cheng Chin 89b629700f Update doc tags 2019-10-17 00:11:44 -07:00
Yee Cheng Chin 037c17b77b Fix MMBackend to compile with new Vim modifier key functions 2019-10-16 23:53:43 -07:00
Yee Cheng Chin 7089f4219e Merge remote-tracking branch 'vim/master' 2019-10-16 23:41:19 -07:00
Bram Moolenaar b1ba9abcb3 patch 8.1.2168: heredoc assignment not skipped in if block
Problem:    Heredoc assignment not skipped in if block.
Solution:   Check if "skip" is set. (closes #5063)
2019-10-16 23:34:42 +02:00
Bram Moolenaar 2559a47823 patch 8.1.2167: mapping test fails on MS-Windows
Problem:    Mapping test fails on MS-Windows.
Solution:   Remove all the existing Insert-mode mappings.
2019-10-16 23:33:12 +02:00
Bram Moolenaar 4a4981b7cd patch 8.1.2166: rubyeval() not tested as a method
Problem:    Rubyeval() not tested as a method.
Solution:   Change a test case.
2019-10-16 22:36:11 +02:00
Bram Moolenaar 2e693a88b2 Update runtime files. 2019-10-16 22:35:02 +02:00
Bram Moolenaar 4f2f61a014 patch 8.1.2165: mapping test fails on Mac
Problem:    Mapping test fails on Mac.
Solution:   Remove the default Mac mapping.
2019-10-16 22:27:49 +02:00
Bram Moolenaar 7b3d939667 patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Problem:    Stuck when using "j" in a popupwin with popup_filter_menu if a
            line wraps.
Solution:   Check the cursor line is visible. (closes #4577)
2019-10-16 22:17:07 +02:00
Bram Moolenaar b2fe1d676f patch 8.1.2163: cannot build with +spell but without +syntax
Problem:    Cannot build with +spell but without +syntax.
Solution:   Add #ifdef. (John Marriott)
2019-10-16 21:33:40 +02:00
Bram Moolenaar 4e03933726 patch 8.1.2162: popup resize test is flaky
Problem:    Popup resize test is flaky. (Christian Brabandt)
Solution:   Add the function to the list of flaky tests.
2019-10-16 21:13:35 +02:00
Bram Moolenaar 4bd88d568a patch 8.1.2161: mapping test fails
Problem:    Mapping test fails.
Solution:   Run the test separately.
2019-10-16 19:27:26 +02:00
Bram Moolenaar a6cc5beb17 patch 8.1.2160: cannot build with +syntax but without +terminal
Problem:    Cannot build with +syntax but without +terminal.
Solution:   Add #ifdef.
2019-10-16 18:42:26 +02:00
Bram Moolenaar fafb4b18cd patch 8.1.2159: some mappings are listed twice
Problem:    Some mappings are listed twice.
Solution:   Skip mappings duplicated for modifyOtherKeys. (closes #5064)
2019-10-16 18:34:57 +02:00
Bram Moolenaar 17efc7fa05 patch 8.1.2158: terminal attributes missing in Terminal-normal mode
Problem:    Terminal attributes missing in Terminal-normal mode.
Solution:   Use "syntax_attr".
2019-10-16 18:11:31 +02:00
Bram Moolenaar 8f7b29f033 patch 8.1.2157: libvterm source files missing from distribution
Problem:    Libvterm source files missing from distribution.
Solution:   Rename source files. (closes #5065)
2019-10-16 17:15:18 +02:00
Bram Moolenaar 9115c611db patch 8.1.2156: first character after Tab is not highlighted
Problem:    First character after Tab is not highlighted.
Solution:   Remember the syntax attribute for a column.
2019-10-16 16:57:06 +02:00
Bram Moolenaar a3817730c0 patch 8.1.2155: in a terminal window 'cursorlineopt' does not work properly
Problem:    In a terminal window 'cursorlineopt' does not work properly.
Solution:   Check the 'cursorlineopt' value. (closes #5055)
2019-10-16 16:31:44 +02:00
Bram Moolenaar 1142a31b8c patch 8.1.2154: quickfix window height wrong when there is a tabline
Problem:    Quickfix window height wrong when there is a tabline. (Daniel
            Hahler)
Solution:   Take the tabline height into account. (closes #5058)
2019-10-16 14:51:39 +02:00
Bram Moolenaar 3439028c89 patch 8.1.2153: combining text property and syntax highlight is wrong
Problem:    Combining text property and syntax highlight is wrong. (Nick
            Jensen)
Solution:   Compute the syntax highlight attribute much earlier.
            (closes #5057)
2019-10-16 14:38:26 +02:00
Bram Moolenaar 27fc8cab22 patch 8.1.2152: problems navigating tags file on MacOS Catalina
Problem:    Problems navigating tags file on MacOS Catalina.
Solution:   Use fseek instead of lseek. (John Lamb, fixes #5061)
2019-10-15 22:23:37 +02:00
Bram Moolenaar 3c8cd4a1dc patch 8.1.2151: state test is a bit flaky
Problem:    State test is a bit flaky.
Solution:   Add to the list of flaky tests.
2019-10-14 22:26:20 +02:00
Bram Moolenaar 03b00476ee patch 8.1.2150: no test for 'ttymouse' set from xterm version response
Problem:    No test for 'ttymouse' set from xterm version response.
Solution:   Test the three possible values.
2019-10-14 22:22:03 +02:00
Bram Moolenaar e3a22cb1ba patch 8.1.2149: crash when running out of memory very early
Problem:    Crash when running out of memory very early.
Solution:   Do not use IObuff when it's NULL. (closes #5052)
2019-10-14 22:01:57 +02:00
Bram Moolenaar 6aa7523b96 patch 8.1.2148: no test for right click extending Visual area
Problem:    No test for right click extending Visual area.
Solution:   Add a test. (Dominique Pelle, closes #5018)
2019-10-13 21:01:34 +02:00
Bram Moolenaar 53efb18530 patch 8.1.2147: crash when allocating memory fails
Problem:    Crash when allocating memory fails. (Zu-Ming Jiang)
Solution:   Check that 'spellcapcheck' is not NULL. (closes #5048)
2019-10-13 19:49:26 +02:00
Bram Moolenaar 1e7b52ad8a patch 8.1.2146: build failure
Problem:    Build failure.
Solution:   Include omitted changed file.
2019-10-13 16:59:08 +02:00
Bram Moolenaar 459fd785e4 patch 8.1.2145: cannot map <C-H> when modifyOtherKeys is enabled
Problem:    Cannot map <C-H> when modifyOtherKeys is enabled.
Solution:   Add the <C-H> mapping twice, both with modifier and as 0x08.  Use
            only the first one when modifyOtherKeys has been detected.
2019-10-13 16:43:39 +02:00
Bram Moolenaar 171a921b51 patch 8.1.2144: side effects when using t_ti to enable modifyOtherKeys
Problem:    Side effects when using t_ti to enable modifyOtherKeys.
Solution:   Add t_TI and t_TE.
2019-10-12 21:08:59 +02:00
Bram Moolenaar 4facea310c patch 8.1.2143: cannot see each command even when 'verbose' is set
Problem:    Cannot see each command even when 'verbose' is set.
Solution:   List each command when 'verbose' is at least 16.
2019-10-12 20:17:40 +02:00
Bram Moolenaar d1e2f3984a patch 8.1.2142: some key mappings do not work with modifyOtherKeys
Problem:    Some key mappings do not work with modifyOtherKeys.
Solution:   Remove the Shift modifier if it is already included in the key.
2019-10-12 18:22:50 +02:00
Bram Moolenaar e8070987c6 patch 8.1.2141: :tselect has an extra hit-enter prompt
Problem:    :tselect has an extra hit-enter prompt.
Solution:   Do not set need_wait_return when only moving the cursor.
            (closes #5040)
2019-10-12 17:07:06 +02:00
Bram Moolenaar ceba3dd518 patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Problem:    "gk" and "gj" do not work correctly in number column.
Solution:   Allow for a negative "curswant". (Zach Wegner, closes #4969)
2019-10-12 16:12:54 +02:00
Bram Moolenaar 18a79a6841 patch 8.1.2139: the modifyOtherKeys codes are not tested
Problem:    The modifyOtherKeys codes are not tested.
Solution:   Add a test case.
2019-10-12 15:36:11 +02:00
Bram Moolenaar 4cdbed33e4 patch 8.1.2138: including the build number in the Win32 binary is confusing
Problem:    Including the build number in the Win32 binary is confusing.
Solution:   Only use the patchlevel.
2019-10-12 15:02:47 +02:00
Bram Moolenaar 1a4cbb19de patch 8.1.2137: parsing the termresponse is not tested
Problem:    Parsing the termresponse is not tested.
Solution:   Add a first test. (related to #5042)
2019-10-12 13:25:44 +02:00
Bram Moolenaar ec66c41d84 patch 8.1.2136: using freed memory with autocmd from fuzzer
Problem:    using freed memory with autocmd from fuzzer. (Dhiraj Mishra,
            Dominique Pelle)
Solution:   Avoid using "wp" after autocommands. (closes #5041)
2019-10-11 21:19:13 +02:00
Bram Moolenaar 00eab7f128 patch 8.1.2135: with modifyOtherKeys Alt-a does not work properly
Problem:    With modifyOtherKeys Alt-a does not work properly.
Solution:   Remove the ALT modifier.  Get multi-byte after applying ALT.
2019-10-10 21:49:28 +02:00
Bram Moolenaar 6a0299d8f4 patch 8.1.2134: modifier keys are not always recognized
Problem:    Modifier keys are not always recognized.
Solution:   Handle key codes generated by xterm with modifyOtherKeys set.
            Add this to libvterm so we can debug it.
2019-10-10 21:14:03 +02:00
Bram Moolenaar 07282f01da patch 8.1.2133: some tests fail when run as root
Problem:    Some tests fail when run as root.
Solution:   Add CheckNotRoot and use it. (James McCoy, closes #5020)
2019-10-10 16:46:17 +02:00
Bram Moolenaar a129974bc7 patch 8.1.2132: MS-Windows: screen mess when not recognizing insider build
Problem:    MS-Windows: screen mess when not recognizing insider build.
Solution:   Always move the cursor to the first column first. (Nobuhiro
            Takasaki, closes #5036)
2019-10-10 16:36:00 +02:00
Bram Moolenaar c25e702dee patch 8.1.2131: MSVC tests fail
Problem:    MSVC tests fail.
Solution:   Replace backslashes with slashes.
2019-10-10 14:08:26 +02:00
Bram Moolenaar 073e779640 patch 8.1.2130: MSVC build fails
Problem:    MSVC build fails.
Solution:   Add the source file name explicitly.
2019-10-10 13:39:08 +02:00
Bram Moolenaar 1ac41a5c13 patch 8.1.2129: using hard coded executable path in test
Problem:    Using hard coded executable path in test.
Solution:   Use v:progpath. Use $VIMRUNTIME instead of "runtime". (James
            McCoy, closes #5025)
2019-10-10 13:30:12 +02:00
Bram Moolenaar 9326805442 patch 8.1.2128: renamed libvterm sources makes merging difficult
Problem:    Renamed libvterm sources makes merging difficult.
Solution:   Rename back to the original name and only rename the .o files.
            Also clean the libvterm build artifacts. (James McCoy,
            closes #5027)
2019-10-10 13:22:54 +02:00
Bram Moolenaar 14c01f8348 patch 8.1.2127: the indent.c file is a bit big
Problem:    The indent.c file is a bit big.
Solution:   Move C-indent code a a new cindent.c file.  Move other
            indent-related code to indent.c. (Yegappan Lakshmanan,
            closes #5031)
2019-10-09 22:53:08 +02:00
Bram Moolenaar 6bd1d77067 patch 8.1.2126: viminfo not sufficiently tested
Problem:    Viminfo not sufficiently tested.
Solution:   Add more test cases.  Clean up comments. (Yegappan Lakshmanan,
            closes #5032)
2019-10-09 22:01:25 +02:00
Bram Moolenaar b189295b72 patch 8.1.2125: fnamemodify() fails when repeating :e
Problem:    Fnamemodify() fails when repeating :e.
Solution:   Do not go before the tail. (Rob Pilling, closes #5024)
2019-10-08 23:26:50 +02:00
Bram Moolenaar 345f28df54 patch 8.1.2124: ruler is not updated if win_execute() moves cursor
Problem:    Ruler is not updated if win_execute() moves cursor.
Solution:   Update the status line. (closes #5022)
2019-10-08 22:20:35 +02:00
Bram Moolenaar c3e555b22f patch 8.1.2123: parsing CSI sequence is messy
Problem:    Parsing CSI sequence is messy.
Solution:   Generalize parsing a CSI sequence.
2019-10-08 20:15:39 +02:00
Bram Moolenaar fbbd102be0 patch 8.1.2122: cannot build without terminal feature
Problem:    Cannot build without terminal feature.
Solution:   Add #ifdef.
2019-10-07 22:38:58 +02:00
Bram Moolenaar a27e1dcddc patch 8.1.2121: mode is not updated when switching to terminal
Problem:    Mode is not updated when switching to terminal in Insert mode.
Solution:   Redraw the mode when entering a terminal window. (Jason Franklin)
2019-10-07 22:27:36 +02:00
Bram Moolenaar 1614a14901 patch 8.1.2120: some MB_ macros are more complicated than necessary
Problem:    Some MB_ macros are more complicated than necessary. (Dominique
            Pelle)
Solution:   Simplify the macros.  Expand inline.
2019-10-06 22:00:13 +02:00
Bram Moolenaar 524f3b19ae patch 8.1.2119: memory access error for empty string
Problem:    memory access error for empty string when 'encoding' is a single
            byte encoding.
Solution:   Check for empty string when getting the length. (Dominique Pelle,
            closes #5021, closes #5007)
2019-10-06 20:08:38 +02:00
Bram Moolenaar eb66328bd7 patch 8.1.2118: termcodes test fails when $TERM is "dumb"
Problem:    Termcodes test fails when $TERM is "dumb".
Solution:   Skip the test. (James McCoy, closes #5019)
2019-10-06 12:02:15 +02:00
Bram Moolenaar 49474ca122 patch 8.1.2117: CursorLine highlight used while 'cursorline' is off
Problem:    CursorLine highlight used while 'cursorline' is off.
Solution:   Check 'cursorline' is set. (cloes #5017)
2019-10-05 21:57:12 +02:00
Bram Moolenaar 1671de3098 patch 8.1.2116: no check for out of memory
Problem:    No check for out of memory.
Solution:   Check for NULL pointer.
2019-10-05 21:35:16 +02:00
Bram Moolenaar 2efc44b3f0 patch 8.1.2115: MS-Windows: shell commands fail if &shell contains a space
Problem:    MS-Windows: shell commands fail if &shell contains a space.
Solution:   Use quotes instead of escaping. (closes #4920)
2019-10-05 12:09:32 +02:00
Bram Moolenaar fd00c042af patch 8.1.2114: when a popup is closed with CTRL-C the callback aborts
Problem:    When a popup is closed with CTRL-C the callback aborts.
Solution:   Reset got_int when invoking the callback. (closes #5008)
2019-10-05 11:56:54 +02:00
Bram Moolenaar 9ca250855b patch 8.1.2113: ":help expr-!~?" only works after searching
Problem:    ":help expr-!~?" only works after searching.
Solution:   Escape "~" after "expr-". (closes #5015)
2019-10-05 11:30:09 +02:00
Bram Moolenaar 4c063dde73 patch 8.1.2112: build number for ConPTY is outdated
Problem:    Build number for ConPTY is outdated.
Solution:   Update to new build number. (Nobuhiro Takasaki, closes #5014)
2019-10-04 21:29:12 +02:00
Bram Moolenaar 2a8d3b8997 patch 8.1.2111: viminfo file not sufficiently tested
Problem:    Viminfo file not sufficiently tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5009)
2019-10-04 21:20:25 +02:00
Bram Moolenaar e8a7dfedfc patch 8.1.2110: CTRL-C closes two popups instead of one
Problem:    CTRL-C closes two popups instead of one.
Solution:   Reset got_int when the filter consumed the key.
2019-10-03 22:35:52 +02:00
Bram Moolenaar 1824f45883 patch 8.1.2109: popup_getoptions() hangs with tab-local popup
Problem:    popup_getoptions() hangs with tab-local popup.
Solution:   Correct pointer name. (Marko Mahnič, closes #5006)
2019-10-02 23:06:46 +02:00
Bram Moolenaar 23324a0b35 patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Problem:    Cannot close the cmdline window from CmdWinEnter. (George Brown)
Solution:   Reset cmdwin_result earlier. (Christian Brabandt, closes #4980)
2019-10-01 17:39:04 +02:00
Bram Moolenaar 8617348e21 patch 8.1.2107: various memory leaks reported by asan
Problem:    Various memory leaks reported by asan.
Solution:   Free the memory. (Ozaki Kiichi, closes #5003)
2019-10-01 17:02:16 +02:00
Bram Moolenaar b4367b7fb6 patch 8.1.2106: no tests for dragging the mouse beyond the window
Problem:    No tests for dragging the mouse beyond the window.
Solution:   Add a test. (Dominique Pelle, closes #5004)
2019-10-01 14:19:07 +02:00
Bram Moolenaar 2886dcceba patch 8.1.2105: MS-Windows: system() may crash
Problem:    MS-Windows: system() may crash.
Solution:   Do not use "itmp" when it is NULL. (Yasuhiro Matsumoto,
            closes #5005)
2019-10-01 12:10:25 +02:00
Bram Moolenaar 792cf5e1be patch 8.1.2104: the normal.c file is too big
Problem:    The normal.c file is too big.
Solution:   Move do_pending_operator() to ops.c. (Yegappan Lakshmanan,
            closes #4999).
2019-09-30 23:12:16 +02:00
Bram Moolenaar 18223a592e patch 8.1.2103: wrong error message if "termdebugger" is not executable
Problem:    wrong error message if "termdebugger" is not executable.
Solution:   Check if "termdebugger" is executable and give a clear error
            message. (Ozaki Kiichi, closes #5000)  Fix indents.
2019-09-30 20:47:54 +02:00
434 changed files with 27174 additions and 10504 deletions
+1
View File
@@ -0,0 +1 @@
src/testdir/test42.in diff
+96 -66
View File
@@ -1,84 +1,114 @@
language: c
dist: trusty
os:
- osx
os: osx
osx_image:
- xcode7.3
- xcode8.3
- xcode9.4
- xcode10.2
compiler:
- clang
addons:
homebrew:
packages:
- lua
- ruby
- python3
update: true
compiler: clang
env:
- MACOSX_DEPLOYMENT_TARGET=10.8
XCODEFLAGS="MACOSX_DEPLOYMENT_TARGET=10.8"
VERSIONER_PERL_VERSION=5.18
VERSIONER_PYTHON_VERSION=2.7
vi_cv_path_python=/usr/bin/python
vi_cv_path_python3=/usr/local/bin/python3
vi_cv_path_plain_lua=/usr/local/bin/lua
vi_cv_dll_name_perl=/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/libperl.dylib
vi_cv_dll_name_python=/System/Library/Frameworks/Python.framework/Versions/2.7/Python
vi_cv_dll_name_python3=/usr/local/Frameworks/Python.framework/Versions/3.7/Python
VIMCMD=src/MacVim/build/Release/MacVim.app/Contents/MacOS/Vim
"CONFOPT='--with-features=huge --enable-multibyte --enable-terminal --enable-netbeans --with-tlib=ncurses --enable-cscope --enable-perlinterp=dynamic --enable-pythoninterp=dynamic --enable-python3interp=dynamic --enable-rubyinterp=dynamic --with-ruby-command=/usr/local/opt/ruby/bin/ruby --enable-luainterp=dynamic --with-lua-prefix=/usr/local --enable-gui=macvim'"
DYLD_LIBRARY_PATH=/usr/local/opt/ruby/lib:$DYLD_LIBRARY_PATH # Ruby is keg-only in Homebrew, so need to manually link in the path so Vim will know where to look for the binaries.
global:
- MACOSX_DEPLOYMENT_TARGET=10.9
VERSIONER_PERL_VERSION=5.18
VERSIONER_PYTHON_VERSION=2.7
vi_cv_path_python=/usr/bin/python
vi_cv_path_python3=/usr/local/bin/python3
vi_cv_path_plain_lua=/usr/local/bin/lua
vi_cv_path_ruby=/usr/local/opt/ruby/bin/ruby
vi_cv_dll_name_perl=/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/libperl.dylib
vi_cv_dll_name_python=/System/Library/Frameworks/Python.framework/Versions/2.7/Python
vi_cv_dll_name_python3=/usr/local/Frameworks/Python.framework/Versions/3.7/Python
vi_cv_dll_name_ruby=/usr/local/opt/ruby/lib/libruby.dylib
VIMCMD=src/MacVim/build/Release/MacVim.app/Contents/MacOS/Vim
"CONFOPT='--with-features=huge --enable-multibyte --enable-terminal --enable-netbeans --with-tlib=ncurses --enable-cscope --enable-gui=macvim'"
anchors:
- &homebrew
addons:
homebrew:
packages:
- lua
- python
- ruby
update: true
- &lang_env
env: "LANGOPT='--enable-perlinterp=dynamic --enable-pythoninterp=dynamic --enable-python3interp=dynamic --enable-rubyinterp=dynamic --enable-luainterp=dynamic --with-lua-prefix=/usr/local'"
- &caches
cache:
directories:
- /usr/local/Homebrew/Library/Homebrew/vendor/
- /usr/local/Homebrew/Library/Taps/
- ${TRAVIS_BUILD_DIR}/src/MacVim/build/Release/MacVim.app/
before_cache:
- brew cleanup
sudo: false
script:
- set -e
- if [ "$TRAVIS_OSX_IMAGE" = "xcode8.3" ]; then brew reinstall --build-from-source ruby; fi
- echo "Configuring MacVim" && echo -en "travis_fold:start:config\\r"
- set -o errexit
- echo -e "\\033[33;1mConfiguring MacVim\\033[0m" && echo -en "travis_fold:start:configure\\r\\033[0K"
- NPROC=$(getconf _NPROCESSORS_ONLN)
- ./configure $CONFOPT --enable-fail-if-missing
- make distclean
- ./configure ${CONFOPT} ${LANGOPT} --enable-fail-if-missing
# Ruby is keg-only in Homebrew, so need to manually link in the path so Vim will know where to look for the binaries.
- perl -p -i -e "s#(?<=-DDYNAMIC_RUBY_DLL=\\\\\").*?(?=\\\\\")#${vi_cv_dll_name_ruby}#" src/auto/config.mk
- cat src/auto/config.mk
- cat src/auto/config.h
- grep -q -- "-DDYNAMIC_PERL_DLL=\\\\\"$vi_cv_dll_name_perl\\\\\"" src/auto/config.mk
- grep -q -- "-DDYNAMIC_PYTHON_DLL=\\\\\"$vi_cv_dll_name_python\\\\\"" src/auto/config.mk
- grep -q -- "-DDYNAMIC_PYTHON3_DLL=\\\\\"$vi_cv_dll_name_python3\\\\\"" src/auto/config.mk
- echo -en "travis_fold:end:config\\r"
- echo "Building MacVim" && echo -en "travis_fold:start:build\\r"
- make -j$NPROC
- echo -en "travis_fold:end:build\\r"
- echo "Testing MacVim" && echo -en "travis_fold:start:test\\r"
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "lua print(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "perl VIM::Msg(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "py import sys; print(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "py3 import sys; print(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "ruby puts(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
- rm -f result;
- |
if [[ -n "${LANGOPT}" ]]; then
grep -q -- "-DDYNAMIC_PERL_DLL=\\\\\"${vi_cv_dll_name_perl}\\\\\"" src/auto/config.mk
grep -q -- "-DDYNAMIC_PYTHON_DLL=\\\\\"${vi_cv_dll_name_python}\\\\\"" src/auto/config.mk
grep -q -- "-DDYNAMIC_PYTHON3_DLL=\\\\\"${vi_cv_dll_name_python3}\\\\\"" src/auto/config.mk
grep -q -- "-DDYNAMIC_RUBY_DLL=\\\\\"${vi_cv_dll_name_ruby}\\\\\"" src/auto/config.mk
fi
- echo -en "travis_fold:end:configure\\r\\033[0K"
- echo -e "\\033[33;1mBuilding MacVim\\033[0m" && echo -en "travis_fold:start:build\\r\\033[0K"
- make -j${NPROC}
- echo -en "travis_fold:end:build\\r\\033[0K"
- set +o errexit
- echo -e "\\033[33;1mTesting MacVim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
- |
macvim_excmd() {
if [[ -n "${LANGOPT}" ]]; then
${VIMCMD} -u NONE -i NONE -g -f -X -V1 -es "$@" -c 'echo ""' -c quit 2>&1
fi
}
- macvim_excmd -c 'lua print("Test")'
- macvim_excmd -c 'perl VIM::Msg("Test")'
- macvim_excmd -c 'py import sys; print("Test")'
- macvim_excmd -c 'py3 import sys; print("Test")'
- macvim_excmd -c 'ruby puts("Test")'
- make test
- echo -en "travis_fold:end:test\\r"
- echo "Testing MacVim (GUI)" && echo -en "travis_fold:start:test_gui\\r"
- echo -en "travis_fold:end:test\\r\\033[0K"
- echo -e "\\033[33;1mTesting MacVim (GUI)\\033[0m" && echo -en "travis_fold:start:test_gui\\r\\033[0K"
- make -C src/testdir clean
- make -C src testgui
- echo -en "travis_fold:end:test_gui\\r"
- echo -en "travis_fold:end:test_gui\\r\\033[0K"
before_deploy:
- make -C src macvim-dmg
deploy:
provider: releases
api_key:
secure: ukjm+qbuNiTli25Ut2BoVpeBCV+JyVbRUwPqjTKrJxfHz34bpr38eSbryIB8BgKBItgzE876Yoqa3CD0k8mqGClis1+98MtrYFpAkO97juJmHpcZZZB7ausbHGf7Z7VdMT4jBjjVGcBeaNj0mio0hwem0/S4WyJK3M/3Fym995CltCUtJKRfMvRiGkWZqUs8K7EZf53DFR6CXUn38rq/3B88SeK51OZuCkMsiDWLGYCdayH19vJfFrTF8MYMQYDYxz16Q/Kf21PVhwia7HEhOzqnXS8RXS+vLkZw8mzIxowX+w6NT90q7Sj0ENdR7YaS27QPfDdhZEnOgpgqj+za63lpiyIdRcgSBkGxNYrM6B5KhiwC1VocBxCBdCxT5WXlx9rA9+k4CASdsxAW/MtQOK6PRMfZEnAB+ShFvshM2H/iE5Jch+o/SIjCXhdkeASD5qov2x6eXcsEVu8PIxvEUptCpHeqJTN5/26nfKsvOdrsqbwJbDluwISOKfEPhohb8Hn7JqOJNTS2aJr3jfvU+egE1NS0eLqKPXecu7MOOsOq1CQL6WxblphG2JCCmAOuNMYrJx9+w28ekMDRDAbI9r5nWcPLZtBqjFUyuBXXM7UknMar0FZ2fd7YTi/Gki3n56UN0lKaSAKaJB9EXlneDSKp/1ogsETr9/b7jz0s6lI=
file: src/MacVim/build/Release/MacVim.dmg
skip_cleanup: true
on:
condition: $TRAVIS_OSX_IMAGE = xcode10.2
all_branches: true
tags: true
repo: macvim-dev/macvim
jobs:
include:
- osx_image: xcode11.2
<<: *lang_env
<<: *homebrew
<<: *caches
- osx_image: xcode10.3
- osx_image: xcode9.4
- osx_image: xcode7.3
- stage: deploy
osx_image: xcode11.2
<<: *lang_env
<<: *caches
script: skip
before_deploy:
- make -C src macvim-dmg
deploy:
provider: releases
api_key:
secure: ukjm+qbuNiTli25Ut2BoVpeBCV+JyVbRUwPqjTKrJxfHz34bpr38eSbryIB8BgKBItgzE876Yoqa3CD0k8mqGClis1+98MtrYFpAkO97juJmHpcZZZB7ausbHGf7Z7VdMT4jBjjVGcBeaNj0mio0hwem0/S4WyJK3M/3Fym995CltCUtJKRfMvRiGkWZqUs8K7EZf53DFR6CXUn38rq/3B88SeK51OZuCkMsiDWLGYCdayH19vJfFrTF8MYMQYDYxz16Q/Kf21PVhwia7HEhOzqnXS8RXS+vLkZw8mzIxowX+w6NT90q7Sj0ENdR7YaS27QPfDdhZEnOgpgqj+za63lpiyIdRcgSBkGxNYrM6B5KhiwC1VocBxCBdCxT5WXlx9rA9+k4CASdsxAW/MtQOK6PRMfZEnAB+ShFvshM2H/iE5Jch+o/SIjCXhdkeASD5qov2x6eXcsEVu8PIxvEUptCpHeqJTN5/26nfKsvOdrsqbwJbDluwISOKfEPhohb8Hn7JqOJNTS2aJr3jfvU+egE1NS0eLqKPXecu7MOOsOq1CQL6WxblphG2JCCmAOuNMYrJx9+w28ekMDRDAbI9r5nWcPLZtBqjFUyuBXXM7UknMar0FZ2fd7YTi/Gki3n56UN0lKaSAKaJB9EXlneDSKp/1ogsETr9/b7jz0s6lI=
file: src/MacVim/build/Release/MacVim.dmg
skip_cleanup: true
draft: true
on:
all_branches: true
tags: true
repo: macvim-dev/macvim
# vim:set sts=2 sw=2 tw=0 et:
+5 -2
View File
@@ -4,6 +4,7 @@
# source files for all source archives
SRC_ALL = \
.gitignore \
.gitattributes \
.hgignore \
.lgtm.yml \
.travis.yml \
@@ -25,6 +26,7 @@ SRC_ALL = \
src/change.c \
src/channel.c \
src/charset.c \
src/cindent.c \
src/cmdexpand.c \
src/cmdhist.c \
src/crypt.c \
@@ -191,6 +193,7 @@ SRC_ALL = \
src/proto/change.pro \
src/proto/channel.pro \
src/proto/charset.pro \
src/proto/cindent.pro \
src/proto/cmdexpand.pro \
src/proto/cmdhist.pro \
src/proto/crypt.pro \
@@ -294,11 +297,11 @@ SRC_ALL = \
src/libvterm/src/encoding/uk.inc \
src/libvterm/src/encoding/uk.tbl \
src/libvterm/src/keyboard.c \
src/libvterm/src/termmouse.c \
src/libvterm/src/mouse.c \
src/libvterm/src/parser.c \
src/libvterm/src/pen.c \
src/libvterm/src/rect.h \
src/libvterm/src/termscreen.c \
src/libvterm/src/screen.c \
src/libvterm/src/state.c \
src/libvterm/src/unicode.c \
src/libvterm/src/utf8.h \
+4 -4
View File
@@ -11,8 +11,8 @@ Getting the source to z/OS:
First get the source code in one big tar file and ftp it a binary to z/OS. If
the tar file is initially compressed with gzip (tar.gz) or bzip2 (tar.bz2)
uncompress it on your PC, as this tools are (most likely) not available on the
mainframe.
uncompress it on your PC, as these tools are (most likely) not available on
the mainframe.
To reduce the size of the tar file you might compress it into a zip file. On
z/OS Unix you might have the command "jar" from java to uncompress a zip. Use:
@@ -82,8 +82,8 @@ WARNING: This instruction was not tested with Vim 7.4 or later.
There are two ways for building VIM with X11 support. The first way is simple
and results in a big executable (~13 Mb), the second needs a few additional
steps and results in a much smaller executable (~4.5 Mb). This examples assume
you want Motif.
steps and results in a much smaller executable (~4.5 Mb). These examples
assume you want Motif.
The easy way:
$ export CC=cc
+18 -18
View File
@@ -5,7 +5,7 @@
#
# Locale ID : 2052
# fileencoding : UTF-8
# Author : Guopeng Wen
# Author : Guopeng Wen, David Liu
!insertmacro MUI_LANGUAGE "SimpChinese"
@@ -112,7 +112,7 @@ LangString str_desc_plugin ${LANG_SIMPCHINESE} \
LangString str_section_plugin_home ${LANG_SIMPCHINESE} \
"私有插件目录"
LangString str_desc_plugin_home ${LANG_SIMPCHINESE} \
"Create plugin directories in HOME directory."
"在主目录创建私有插件目录。"
LangString str_section_plugin_vim ${LANG_SIMPCHINESE} \
"公共插件目录"
@@ -141,14 +141,14 @@ LangString str_desc_rm_exe ${LANG_SIMPCHINESE} \
"删除 Vim 的所有执行文件及脚本。"
LangString str_ungroup_plugin ${LANG_SIMPCHINESE} \
"Remove plugin directories"
"移除插件目录"
LangString str_desc_rm_plugin ${LANG_SIMPCHINESE} \
"Remove the plugin directories if they are empty."
"移除插件目录(如果目录为空)。"
LangString str_unsection_plugin_home ${LANG_SIMPCHINESE} \
"私有插件目录"
LangString str_desc_rm_plugin_home ${LANG_SIMPCHINESE} \
"Remove the plugin directories from HOME directory."
"从主目录中移除私有插件目录。"
LangString str_unsection_plugin_vim ${LANG_SIMPCHINESE} \
"公共插件目录"
@@ -241,37 +241,37 @@ LangString str_msg_unregistering ${LANG_SIMPCHINESE} \
LangString str_vimrc_page_title ${LANG_SIMPCHINESE} \
"设置 _vimrc"
LangString str_vimrc_page_subtitle ${LANG_SIMPCHINESE} \
"选择键盘、鼠标和增强选项"
"选择键盘、鼠标和扩展设置"
LangString str_msg_compat_title ${LANG_SIMPCHINESE} \
"Vi / Vim 行为"
LangString str_msg_compat_desc ${LANG_SIMPCHINESE} \
"&Compatibility and enhancements"
"兼容性与扩展(&B)"
LangString str_msg_compat_vi ${LANG_SIMPCHINESE} \
"Vi compatible"
"原始 Vi"
LangString str_msg_compat_vim ${LANG_SIMPCHINESE} \
"Vim original"
"原始 Vim"
LangString str_msg_compat_defaults ${LANG_SIMPCHINESE} \
"Vim with some enhancements (load defaults.vim)"
"Vim 原始版本和部分扩展 (加载 defaults.vim)"
LangString str_msg_compat_all ${LANG_SIMPCHINESE} \
"Vim with all enhancements (load vimrc_example.vim) (Default)"
"Vim 原始版本和所有扩展 (加载 vimrc_example.vim) (缺省)"
LangString str_msg_keymap_title ${LANG_SIMPCHINESE} \
"键盘映射"
LangString str_msg_keymap_desc ${LANG_SIMPCHINESE} \
"&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
"为 Windows 映射按键(&R) (例如:Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F)"
LangString str_msg_keymap_default ${LANG_SIMPCHINESE} \
"Do not remap keys (Default)"
"不映射按键 (缺省)"
LangString str_msg_keymap_windows ${LANG_SIMPCHINESE} \
"Remap a few keys"
"映射一些按键"
LangString str_msg_mouse_title ${LANG_SIMPCHINESE} \
"鼠标"
LangString str_msg_mouse_desc ${LANG_SIMPCHINESE} \
"&Behavior of right and left buttons"
"左键和右键行为(&B)"
LangString str_msg_mouse_default ${LANG_SIMPCHINESE} \
"Right: popup menu, Left: visual mode (Default)"
"右键:弹出菜单, 左键:可视化模式 (缺省)"
LangString str_msg_mouse_windows ${LANG_SIMPCHINESE} \
"Right: popup menu, Left: select mode (Windows)"
"右键:弹出菜单, 左键:选择模式 (Windows)"
LangString str_msg_mouse_unix ${LANG_SIMPCHINESE} \
"Right: extends selection, Left: visual mode (Unix)"
"右键: 扩展选择, 左键:可视化模式 (Unix)"
+94 -27
View File
@@ -1,6 +1,6 @@
" Vim plugin for formatting XML
" Last Change: Thu, 07 Dec 2018
" Version: 0.1
" Last Change: 2019 Oct 24
" Version: 0.2
" Author: Christian Brabandt <cb@256bit.org>
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
" License: VIM License
@@ -22,44 +22,73 @@ func! xmlformat#Format()
" do not fall back to internal formatting
return 0
endif
let count_orig = v:count
let sw = shiftwidth()
let prev = prevnonblank(v:lnum-1)
let s:indent = indent(prev)/sw
let result = []
let lastitem = prev ? getline(prev) : ''
let is_xml_decl = 0
" split on `<`, but don't split on very first opening <
for item in split(join(getline(v:lnum, (v:lnum + v:count - 1))), '.\@<=[>]\zs')
if s:EndTag(item)
let s:indent = s:DecreaseIndent()
call add(result, s:Indent(item))
elseif s:EmptyTag(lastitem)
call add(result, s:Indent(item))
elseif s:StartTag(lastitem) && s:IsTag(item)
let s:indent += 1
call add(result, s:Indent(item))
else
if !s:IsTag(item)
" Simply split on '<'
let t=split(item, '.<\@=\zs')
let s:indent+=1
call add(result, s:Indent(t[0]))
let s:indent = s:DecreaseIndent()
call add(result, s:Indent(t[1]))
else
" go through every line, but don't join all content together and join it
" back. We might lose empty lines
let list = getline(v:lnum, (v:lnum + count_orig - 1))
let current = 0
for line in list
" Keep empty input lines?
if empty(line)
call add(result, '')
continue
elseif line !~# '<[/]\?[^>]*>'
let nextmatch = match(list, '<[/]\?[^>]*>', current)
let line .= join(list[(current + 1):(nextmatch-1)], "\n")
call remove(list, current+1, nextmatch-1)
endif
" split on `>`, but don't split on very first opening <
" this means, items can be like ['<tag>', 'tag content</tag>']
for item in split(line, '.\@<=[>]\zs')
if s:EndTag(item)
let s:indent = s:DecreaseIndent()
call add(result, s:Indent(item))
elseif s:EmptyTag(lastitem)
call add(result, s:Indent(item))
elseif s:StartTag(lastitem) && s:IsTag(item)
let s:indent += 1
call add(result, s:Indent(item))
else
if !s:IsTag(item)
" Simply split on '<', if there is one,
" but reformat according to &textwidth
let t=split(item, '.<\@=\zs')
" t should only contain 2 items, but just be safe here
if s:IsTag(lastitem)
let s:indent+=1
endif
let result+=s:FormatContent([t[0]])
if s:EndTag(t[1])
let s:indent = s:DecreaseIndent()
endif
"for y in t[1:]
let result+=s:FormatContent(t[1:])
"endfor
else
call add(result, s:Indent(item))
endif
endif
endif
let lastitem = item
endfor
let lastitem = item
endfor
let current += 1
endfor
if !empty(result)
exe v:lnum. ",". (v:lnum + v:count - 1). 'd'
if !empty(result)
let lastprevline = getline(v:lnum + count_orig)
let delete_lastline = v:lnum + count_orig - 1 == line('$')
exe v:lnum. ",". (v:lnum + count_orig - 1). 'd'
call append(v:lnum - 1, result)
" Might need to remove the last line, if it became empty because of the
" append() call
let last = v:lnum + len(result)
if getline(last) is ''
" do not use empty(), it returns true for `empty(0)`
if getline(last) is '' && lastprevline is '' && delete_lastline
exe last. 'd'
endif
endif
@@ -88,6 +117,7 @@ func! s:StartTag(tag)
let is_comment = s:IsComment(a:tag)
return a:tag =~? '^\s*<[^/?]' && !is_comment
endfunc
" Check if tag is a Comment start {{{1
func! s:IsComment(tag)
return a:tag =~? '<!--'
endfunc
@@ -108,6 +138,43 @@ endfunc
func! s:EmptyTag(tag)
return a:tag =~ '/>\s*$'
endfunc
" Format input line according to textwidth {{{1
func! s:FormatContent(list)
let result=[]
let limit = 80
if &textwidth > 0
let limit = &textwidth
endif
let column=0
let idx = -1
let add_indent = 0
let cnt = 0
for item in a:list
for word in split(item, '\s\+\S\+\zs')
let column += strdisplaywidth(word, column)
if match(word, "^\\s*\n\\+\\s*$") > -1
call add(result, '')
let idx += 1
let column = 0
let add_indent = 1
elseif column > limit || cnt == 0
let add = s:Indent(s:Trim(word))
call add(result, add)
let column = strdisplaywidth(add)
let idx += 1
else
if add_indent
let result[idx] = s:Indent(s:Trim(word))
else
let result[idx] .= ' '. s:Trim(word)
endif
let add_indent = 0
endif
let cnt += 1
endfor
endfor
return result
endfunc
" Restoration And Modelines: {{{1
let &cpo= s:keepcpo
unlet s:keepcpo
+1 -1
View File
@@ -1,7 +1,7 @@
" The default vimrc file.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2019 Feb 18
" Last change: 2019 Sep 28
"
" This is loaded if no vimrc file was found.
" Except when Vim is run with "-u NONE" or "-C".
+10 -1
View File
@@ -268,7 +268,6 @@ Name triggered by ~
|BufCreate| just after adding a buffer to the buffer list
|BufDelete| before deleting a buffer from the buffer list
|BufWipeout| before completely deleting a buffer
|TerminalOpen| after a terminal buffer was created
|BufFilePre| before changing the name of the current buffer
|BufFilePost| after changing the name of the current buffer
@@ -304,6 +303,10 @@ Name triggered by ~
|VimLeavePre| before exiting Vim, before writing the viminfo file
|VimLeave| before exiting Vim, after writing the viminfo file
Terminal
|TerminalOpen| after a terminal buffer was created
|TerminalWinOpen| after a terminal buffer was created in a new window
Various
|FileChangedShell| Vim notices that a file changed since editing started
|FileChangedShellPost| After handling a file changed since editing started
@@ -1088,6 +1091,12 @@ TerminalOpen Just after a terminal buffer was created, with
`:terminal` or |term_start()|. This event is
triggered even if the buffer is created
without a window, with the ++hidden option.
*TerminalWinOpen*
TerminalWinOpen Just after a terminal buffer was created, with
`:terminal` or |term_start()|. This event is
triggered only if the buffer is created
with a window. Can be used to set window
local options for the terminal window.
*TermResponse*
TermResponse After the response to |t_RV| is received from
the terminal. The value of |v:termresponse|
+8 -4
View File
@@ -1,4 +1,4 @@
*change.txt* For Vim version 8.1. Last change: 2019 Sep 27
*change.txt* For Vim version 8.1. Last change: 2019 Sep 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -999,9 +999,13 @@ inside of strings can change! Also see 'softtabstop' option. >
delete and yank) ({.%#:} only work with put).
*:reg* *:registers*
:reg[isters] Display the contents of all numbered and named
registers. If a register is written to for |:redir|
it will not be listed.
:reg[isters] Display the type and contents of all numbered and
named registers. If a register is written to for
|:redir| it will not be listed.
Type can be one of:
"c" for |characterwise| text
"l" for |linewise| text
"b" for |blockwise-visual| text
:reg[isters] {arg} Display the contents of the numbered and named
+92 -57
View File
@@ -1,4 +1,4 @@
*eval.txt* For Vim version 8.1. Last change: 2019 Sep 27
*eval.txt* For Vim version 8.1. Last change: 2019 Oct 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2892,7 +2892,7 @@ win_id2tabwin({expr}) List get tab and window nr from window ID
win_id2win({expr}) Number get window nr from window ID
win_screenpos({nr}) List get screen position of window {nr}
win_splitmove({nr}, {target} [, {options}])
none move window {nr} to split of {target}
Number move window {nr} to split of {target}
winbufnr({nr}) Number buffer number of window {nr}
wincol() Number window column of the cursor
winheight({nr}) Number height of window {nr}
@@ -2986,6 +2986,9 @@ append({lnum}, {text}) *append()*
appendbufline({expr}, {lnum}, {text}) *appendbufline()*
Like |append()| but append the text in buffer {expr}.
This function works only for loaded buffers. First call
|bufload()| if needed.
For the use of {expr}, see |bufname()|.
{lnum} is used like with |append()|. Note that using |line()|
@@ -3552,8 +3555,8 @@ complete({startcol}, {matches}) *complete()* *E785*
< This isn't very useful, but it shows how it works. Note that
an empty string is returned to avoid a zero being inserted.
Can also be used as a |method|, the second argument is passed
in: >
Can also be used as a |method|, the base is passed as the
second argument: >
GetMatches()->complete(col('.'))
complete_add({expr}) *complete_add()*
@@ -3688,7 +3691,7 @@ confirm({msg} [, {choices} [, {default} [, {type}]]])
Can also be used as a |method|in: >
BuildMessage()->confirm("&Yes\n&No")
<
*copy()*
copy({expr}) Make a copy of {expr}. For Numbers and Strings this isn't
different from using {expr} directly.
@@ -3883,6 +3886,9 @@ deletebufline({expr}, {first} [, {last}]) *deletebufline()*
If {last} is omitted then delete line {first} only.
On success 0 is returned, on failure 1 is returned.
This function works only for loaded buffers. First call
|bufload()| if needed.
For the use of {expr}, see |bufname()| above.
{first} and {last} are used like with |getline()|. Note that
@@ -3891,7 +3897,7 @@ deletebufline({expr}, {first} [, {last}]) *deletebufline()*
Can also be used as a |method|: >
GetBuffer()->deletebufline(1)
<
*did_filetype()*
did_filetype() Returns |TRUE| when autocommands are being executed and the
FileType event has been triggered at least once. Can be used
@@ -4052,7 +4058,7 @@ exepath({expr}) *exepath()*
Can also be used as a |method|: >
GetCommand()->exepath()
<
*exists()*
exists({expr}) The result is a Number, which is |TRUE| if {expr} is defined,
zero otherwise.
@@ -4248,8 +4254,8 @@ expandcmd({expr}) *expandcmd()*
Expand special items in {expr} like what is done for an Ex
command such as `:edit`. This expands special keywords, like
with |expand()|, and environment variables, anywhere in
{expr}. Returns the expanded string.
Example: >
{expr}. "~user" and "~/path" are only expanded at the start.
Returns the expanded string. Example: >
:echo expandcmd('make %<.o')
< Can also be used as a |method|: >
@@ -4578,7 +4584,7 @@ foldlevel({lnum}) *foldlevel()*
Can also be used as a |method|: >
GetLnum()->foldlevel()
<
*foldtext()*
foldtext() Returns a String, to be displayed for a closed fold. This is
the default function used for the 'foldtext' option and should
@@ -5860,7 +5866,7 @@ histadd({history}, {item}) *histadd()*
:let date=input("Enter date: ")
< This function is not available in the |sandbox|.
Can also be used as a |method|, the base is used for the
Can also be used as a |method|, the base is passed as the
second argument: >
GetHistory()->histadd('search')
@@ -6388,8 +6394,8 @@ libcall({libname}, {funcname}, {argument})
Examples: >
:echo libcall("libc.so", "getenv", "HOME")
< Can also be used as a |method|, where the base is passed as
the argument to the called function: >
< Can also be used as a |method|, the base is passed as the
third argument: >
GetValue()->libcall("libc.so", "getenv")
<
*libcallnr()*
@@ -6403,8 +6409,8 @@ libcallnr({libname}, {funcname}, {argument})
:call libcallnr("libc.so", "printf", "Hello World!\n")
:call libcallnr("libc.so", "sleep", 10)
<
Can also be used as a |method|, where the base is passed as
the argument to the called function: >
Can also be used as a |method|, the base is passed as the
third argument: >
GetValue()->libcallnr("libc.so", "printf")
<
@@ -6498,8 +6504,8 @@ listener_add({callback} [, {buf}]) *listener_add()*
a:bufnr the buffer that was changed
a:start first changed line number
a:end first line number below the change
a:added total number of lines added, negative if lines
were deleted
a:added number of lines added, negative if lines were
deleted
a:changes a List of items with details about the changes
Example: >
@@ -6555,8 +6561,8 @@ listener_add({callback} [, {buf}]) *listener_add()*
The {callback} is also not invoked when the buffer is
unloaded, use the |BufUnload| autocmd event for that.
Can also be used as a |method|, where the base is passed as
the second argument, the buffer: >
Can also be used as a |method|, the base is passed as the
second argument: >
GetBuffer()->listener_add(callback)
listener_flush([{buf}]) *listener_flush()*
@@ -7026,6 +7032,7 @@ matchstrpos({expr}, {pat} [, {start} [, {count}]]) *matchstrpos()*
Can also be used as a |method|: >
GetText()->matchstrpos('word')
<
*max()*
max({expr}) Return the maximum value of all items in {expr}.
{expr} can be a list or a dictionary. For a dictionary,
@@ -7511,7 +7518,7 @@ pum_getpos() *pum_getpos()*
row top screen row (0 first row)
col leftmost screen column (0 first col)
size total nr of items
scrollbar |TRUE| if visible
scrollbar |TRUE| if scrollbar is visible
The values are the same as in |v:event| during
|CompleteChanged|.
@@ -8282,20 +8289,31 @@ serverlist() *serverlist()*
:echo serverlist()
<
setbufline({expr}, {lnum}, {text}) *setbufline()*
Set line {lnum} to {text} in buffer {expr}. To insert
lines use |append()|. Any text properties in {lnum} are
cleared.
Set line {lnum} to {text} in buffer {expr}. This works like
|setline()| for the specified buffer.
This function works only for loaded buffers. First call
|bufload()| if needed.
To insert lines use |appendbufline()|.
Any text properties in {lnum} are cleared.
{text} can be a string to set one line, or a list of strings
to set multiple lines. If the list extends below the last
line then those lines are added.
For the use of {expr}, see |bufname()| above.
{lnum} is used like with |setline()|.
This works like |setline()| for the specified buffer.
When {lnum} is just below the last line the {text} will be
added below the last line.
When {expr} is not a valid buffer, the buffer is not loaded or
{lnum} is not valid then 1 is returned. On success 0 is
returned.
Can also be used as a |method|: >
Can also be used as a |method|, the base is passed as the
third argument: >
GetText()->setbufline(buf, lnum)
setbufvar({expr}, {varname}, {val}) *setbufvar()*
@@ -8311,7 +8329,8 @@ setbufvar({expr}, {varname}, {val}) *setbufvar()*
:call setbufvar("todo", "myvar", "foobar")
< This function is not available in the |sandbox|.
Can also be used as a |method|: >
Can also be used as a |method|, the base is passed as the
third argument: >
GetValue()->setbufvar(buf, varname)
setcharsearch({dict}) *setcharsearch()*
@@ -8360,7 +8379,8 @@ setenv({name}, {val}) *setenv()*
When {val} is |v:null| the environment variable is deleted.
See also |expr-env|.
Can also be used as a |method|, passing the value as the base: >
Can also be used as a |method|, the base is passed as the
second argument: >
GetPath()->setenv('PATH')
setfperm({fname}, {mode}) *setfperm()* *chmod*
@@ -8391,7 +8411,7 @@ setline({lnum}, {text}) *setline()*
{lnum} is used like with |getline()|.
When {lnum} is just below the last line the {text} will be
added as a new line.
added below the last line.
If this succeeds, 0 is returned. If this fails (most likely
because {lnum} is invalid) 1 is returned.
@@ -8409,7 +8429,8 @@ setline({lnum}, {text}) *setline()*
< Note: The '[ and '] marks are not set.
Can also be used as a |method|, passing the text as the base: >
Can also be used as a |method|, the base is passed as the
second argument: >
GetText()->setline(lnum)
setloclist({nr}, {list} [, {action} [, {what}]]) *setloclist()*
@@ -8658,7 +8679,8 @@ settabvar({tabnr}, {varname}, {val}) *settabvar()*
Tabs are numbered starting with one.
This function is not available in the |sandbox|.
Can also be used as a |method|, the base is used as the value: >
Can also be used as a |method|, the base is passed as the
third argument: >
GetValue()->settabvar(tab, name)
settabwinvar({tabnr}, {winnr}, {varname}, {val}) *settabwinvar()*
@@ -8679,7 +8701,8 @@ settabwinvar({tabnr}, {winnr}, {varname}, {val}) *settabwinvar()*
:call settabwinvar(3, 2, "myvar", "foobar")
< This function is not available in the |sandbox|.
Can also be used as a |method|, the base is used as the value: >
Can also be used as a |method|, the base is passed as the
fourth argument: >
GetValue()->settabvar(tab, winnr, name)
settagstack({nr}, {dict} [, {action}]) *settagstack()*
@@ -8713,7 +8736,8 @@ settagstack({nr}, {dict} [, {action}]) *settagstack()*
call settagstack(1003, stack)
unlet stack
<
Can also be used as a |method|, the base is used as the Dict: >
Can also be used as a |method|, the base is passed as the
second argument: >
GetStack()->settagstack(winnr)
setwinvar({winnr}, {varname}, {val}) *setwinvar()*
@@ -8722,7 +8746,8 @@ setwinvar({winnr}, {varname}, {val}) *setwinvar()*
:call setwinvar(1, "&list", 0)
:call setwinvar(2, "myvar", "foobar")
< Can also be used as a |method|, the base is used as the value: >
< Can also be used as a |method|, the base is passed as the
third argument: >
GetValue()->setwinvar(winnr, name)
sha256({string}) *sha256()*
@@ -9090,8 +9115,8 @@ state([{what}]) *state()*
e.g. after |f|
a Insert mode autocomplete active
x executing an autocommand
w blocked on waiting, e.g. ch_evalexpr() and
ch_read(), ch_readraw() when reading json.
w blocked on waiting, e.g. ch_evalexpr(), ch_read() and
ch_readraw() when reading json.
S not triggering SafeState or SafeStateAgain
c callback invoked, including timer (repeats for
recursiveness up to "ccc")
@@ -9142,7 +9167,7 @@ str2nr({expr} [, {base} [, {quoted}]]) *str2nr()*
When {base} is omitted base 10 is used. This also means that
a leading zero doesn't cause octal conversion to be used, as
with the default String to Number conversion. Example: >
let nr = str2nr('123')
let nr = str2nr('0123')
<
When {base} is 16 a leading "0x" or "0X" is ignored. With a
different base the result will be zero. Similarly, when
@@ -9259,6 +9284,7 @@ stridx({haystack}, {needle} [, {start}]) *stridx()*
Can also be used as a |method|: >
GetHaystack()->stridx(needle)
<
*string()*
string({expr}) Return {expr} converted to a String. If {expr} is a Number,
Float, String, Blob or a composition of them, then the result
@@ -10154,8 +10180,8 @@ win_execute({id}, {command} [, {silent}]) *win_execute()*
Not all commands are allowed in popup windows.
When window {id} does not exist then no error is given.
Can also be used as a |method|, the base is used for the
command: >
Can also be used as a |method|, the base is passed as the
second argument: >
GetCommand()->win_execute(winid)
win_findbuf({bufnr}) *win_findbuf()*
@@ -10473,11 +10499,11 @@ xor({expr}, {expr}) *xor()*
to a number. A List, Dict or Float argument causes an error.
Example: >
:let bits = xor(bits, 0x80)
< Can also be used as a |method|: >
<
Can also be used as a |method|: >
:let bits = bits->xor(0x80)
<
*feature-list*
There are four types of features:
1. Features that are only supported when they have been enabled when Vim
@@ -11355,21 +11381,22 @@ This does NOT work: >
*:let=<<* *:let-heredoc*
*E990* *E991* *E172* *E221*
:let {var-name} =<< [trim] {marker}
:let {var-name} =<< [trim] {endmarker}
text...
text...
{marker}
{endmarker}
Set internal variable {var-name} to a List containing
the lines of text bounded by the string {marker}.
{marker} must not contain white space.
{marker} cannot start with a lower case character.
The last line should end only with the {marker} string
without any other character. Watch out for white
space after {marker}!
the lines of text bounded by the string {endmarker}.
{endmarker} must not contain white space.
{endmarker} cannot start with a lower case character.
The last line should end only with the {endmarker}
string without any other character. Watch out for
white space after {endmarker}!
Without "trim" any white space characters in the lines
of text are preserved. If "trim" is specified before
{marker}, then indentation is stripped so you can do: >
{endmarker}, then indentation is stripped so you can
do: >
let text =<< trim END
if ok
echo 'done'
@@ -11383,23 +11410,31 @@ text...
non-empty text line is stripped from the input lines.
All leading indentation exactly matching the leading
indentation before `let` is stripped from the line
containing {marker}. Note that the difference between
space and tab matters here.
containing {endmarker}. Note that the difference
between space and tab matters here.
If {var-name} didn't exist yet, it is created.
Cannot be followed by another command, but can be
followed by a comment.
To avoid line continuation to be applied, consider
adding 'C' to 'cpoptions': >
set cpo+=C
let var =<< END
\ leading backslash
END
set cpo-=C
<
Examples: >
let var1 =<< END
Sample text 1
Sample text 2
Sample text 3
END
Sample text 1
Sample text 2
Sample text 3
END
let data =<< trim DATA
1 2 3 4
5 6 7 8
1 2 3 4
5 6 7 8
DATA
<
*E121*
+6 -2
View File
@@ -1,4 +1,4 @@
*helphelp.txt* For Vim version 8.1. Last change: 2019 May 04
*helphelp.txt* For Vim version 8.1. Last change: 2019 Oct 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -102,7 +102,11 @@ Help on help files *helphelp*
current file. See |help-translated|.
*:helpc* *:helpclose*
:helpc[lose] Close one help window, if there is one.
:helpc[lose] Close one help window, if there is one.
Vim will try to restore the window layout (including
cursor position) to the same layout it was before
opening the help window initially. This might cause
triggering several autocommands.
*:helpg* *:helpgrep*
:helpg[rep] {pattern}[@xx]
+5 -5
View File
@@ -55,14 +55,14 @@ The ActiveState one should work, Strawberry Perl is a good alternative.
working: >
:perl VIM::Msg("Hello")
:pe[rl] << [endpattern]
:pe[rl] << [endmarker]
{script}
{endpattern}
{endmarker}
Execute Perl script {script}.
The {endpattern} after {script} must NOT be preceded
by any white space.
The {endmarker} after {script} must NOT be preceded by
any white space.
If [endpattern] is omitted, it defaults to a dot '.'
If [endmarker] 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.
+5 -5
View File
@@ -28,14 +28,14 @@ downloading Ruby there.
:rub[y] {cmd} Execute Ruby command {cmd}. A command to try it out: >
:ruby print "Hello"
:rub[y] << [endpattern]
:rub[y] << [endmarker]
{script}
{endpattern}
{endmarker}
Execute Ruby script {script}.
The {endpattern} after {script} must NOT be preceded
by any white space.
The {endmarker} after {script} must NOT be preceded by
any white space.
If [endpattern] is omitted, it defaults to a dot '.'
If [endmarker] is omitted, it defaults to a dot '.'
like for the |:append| and |:insert| commands.
This form of the |:ruby| command is mainly useful for
+4 -2
View File
@@ -949,10 +949,12 @@ Function call arguments will indent 1 extra level. For two-space indentation: >
-------------
*PHP_IndentFunctionDeclarationParameters*
Extra indentation levels to add to arguments in multi-line function definitions. >
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 arguments in declarations will indent 1 extra level. For two-space
indentation: >
function call_the_thing(
$with_this,
+22 -1
View File
@@ -1,4 +1,4 @@
*insert.txt* For Vim version 8.1. Last change: 2019 Sep 27
*insert.txt* For Vim version 8.1. Last change: 2019 Oct 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1138,6 +1138,27 @@ 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()|.
*complete-popuphidden*
If the information for the popup is obtained asynchronously, use "popuphidden"
in 'completeopt'. The info popup will then be initally hidden and
|popup_show()| must be called once it has been filled with the info. This can
be done with a |CompleteChanged| autocommand, something like this: >
set completeopt+=popuphidden
au CompleteChanged * call UpdateCompleteInfo()
func UpdateCompleteInfo()
" Cancel any pending info fetch
let item = v:event.completed_item
" Start fetching info for the item then call ShowCompleteInfo(info)
endfunc
func ShowCompleteInfo(info)
let id = popup_findinfo()
if id
call popup_settext(id, 'async info: ' .. a:info)
call popup_show(id)
endif
endfunc
< *complete-item-kind*
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).
Currently these types can be used:
+31 -3
View File
@@ -1,4 +1,4 @@
*map.txt* For Vim version 8.1. Last change: 2019 Jun 02
*map.txt* For Vim version 8.1. Last change: 2019 Oct 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -20,7 +20,8 @@ manual.
1.8 Examples |map-examples|
1.9 Using mappings |map-typing|
1.10 Mapping alt-keys |:map-alt-keys|
1.11 Mapping an operator |:map-operator|
1.11 Mapping in modifyOtherKeys mode |modifyOtherKeys|
1.12 Mapping an operator |:map-operator|
2. Abbreviations |abbreviations|
3. Local mappings and functions |script-local|
4. User-defined commands |user-commands|
@@ -777,6 +778,9 @@ In the GUI Vim handles the Alt key itself, thus mapping keys with ALT should
always work. But in a terminal Vim gets a sequence of bytes and has to figure
out whether ALT was pressed or not.
If the terminal supports the modifyOtherKeys mode and it has been enabled,
then Vim can recognize more key combinations, see |modifyOtherKeys| below.
By default Vim assumes that pressing the ALT key sets the 8th bit of a typed
character. Most decent terminals can work that way, such as xterm, aterm and
rxvt. If your <A-k> mappings don't work it might be that the terminal is
@@ -814,7 +818,31 @@ on the terminal; that's a good last resource in case you want to send ESC when
using other applications but not when inside Vim.
1.11 MAPPING AN OPERATOR *:map-operator*
1.11 MAPPING IN modifyOtherKeys mode *modifyOtherKeys*
Xterm and a few other terminals can be put in a mode where keys with modifiers
are sent with a special escape code. Vim recognizes these codes and can then
make a difference between CTRL-H and Backspace, even when Backspace sends the
character 8. And many more special keys.
For xterm modifyOtherKeys is enabled in the builtin termcap entry. If this is
not used you can enable modifyOtherKeys with these lines in your vimrc: >
let &t_TI = "\<Esc>[>4;2m"
let &t_TE = "\<Esc>[>4;m"
In case the modifyOtherKeys mode causes problems you can disable it: >
let &t_TI = ""
let &t_TE = ""
It does not take effect immediately. To have this work without restarting Vim
execute a shell command, e.g.: `!ls`
A known side effect effect is that in Insert mode the raw escape sequence is
inserted after the CTRL-V key. This can be used to check whether
modifyOtherKeys is enabled: In Insert mode type CTRL-V CTRL-V, if you get
one byte then modifyOtherKeys is off, if you get <1b>27;5;118~ then it is on.
1.12 MAPPING AN OPERATOR *:map-operator*
An operator is used before a {motion} command. To define your own operator
you must create mapping that first sets the 'operatorfunc' option and then
+4 -3
View File
@@ -1,4 +1,4 @@
*message.txt* For Vim version 8.1. Last change: 2019 Aug 23
*message.txt* For Vim version 8.1. Last change: 2019 Oct 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -480,7 +480,7 @@ 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.
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
@@ -582,7 +582,8 @@ allowed for the command that was used.
Vim was not able to create a swap file. You can still edit the file, but if
Vim unexpectedly exits the changes will be lost. And Vim may consume a lot of
memory when editing a big file. You may want to change the 'directory' option
to avoid this error. See |swap-file|.
to avoid this error. This error is not given when 'directory' is empty. See
|swap-file|.
*E140* >
Use ! to write partial buffer
+24 -17
View File
@@ -1,4 +1,4 @@
*options.txt* For Vim version 8.1. Last change: 2019 Sep 26
*options.txt* For Vim version 8.1. Last change: 2019 Oct 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -861,7 +861,7 @@ 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
If the GUI supports a dark theme, 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
@@ -1900,7 +1900,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'completeslash'* *'csl'*
'completeslash' 'csl' string (default: "")
local to buffer
{not in Vi} {only for MS-Windows}
{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
@@ -1940,7 +1940,14 @@ A jump table for the options with a short description can be found at |Q_op|.
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}
{only works when compiled with the |+textprop| feature}
popuphidden
Just like "popup" but initially hide the popup. Use a
|CompleteChanged| autocommand to fetch the info and call
|popup_show()| once the popup has been filled.
See the example at |complete-popuphidden|.
{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
@@ -2493,7 +2500,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'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.
@@ -2717,7 +2723,7 @@ A jump table for the options with a short description can be found at |Q_op|.
- The swap file will be created in the first directory where this is
possible.
- Empty means that no swap file will be used (recovery is
impossible!).
impossible!) and no |E303| error will be given.
- A directory "." means to put the swap file in the same directory as
the edited file. On Unix, a dot is prepended to the file name, so
it doesn't show in a directory listing. On MS-Windows the "hidden"
@@ -6640,10 +6646,10 @@ A jump table for the options with a short description can be found at |Q_op|.
For Unix the default it "| tee". The stdout of the compiler is saved
in a file and echoed to the screen. If the 'shell' option is "csh" or
"tcsh" after initializations, the default becomes "|& tee". If the
'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh" or "bash" the
default becomes "2>&1| tee". This means that stderr is also included.
Before using the 'shell' option a path is removed, thus "/bin/sh" uses
"sh".
'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh", "zsh-beta",
"bash" or "fish" the default becomes "2>&1| tee". This means that
stderr is also included. Before using the 'shell' option a path is
removed, thus "/bin/sh" uses "sh".
The initialization of this option is done after reading the ".vimrc"
and the other initializations, so that when the 'shell' option is set
there, the 'shellpipe' option changes automatically, unless it was
@@ -6683,13 +6689,14 @@ A jump table for the options with a short description can be found at |Q_op|.
The name of the temporary file can be represented by "%s" if necessary
(the file name is appended automatically if no %s appears in the value
of this option).
The default is ">". For Unix, if the 'shell' option is "csh", "tcsh"
or "zsh" during initializations, the default becomes ">&". If the
'shell' option is "sh", "ksh" or "bash" the default becomes
">%s 2>&1". This means that stderr is also included.
For Win32, the Unix checks are done and additionally "cmd" is checked
for, which makes the default ">%s 2>&1". Also, the same names with
".exe" appended are checked for.
The default is ">". For Unix, if the 'shell' option is "csh" or
"tcsh" during initializations, the default becomes ">&". If the
'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh",
"zsh-beta","bash" or "fish", the default becomes ">%s 2>&1". This
means that stderr is also included. For Win32, the Unix checks are
done and additionally "cmd" is checked for, which makes the default
">%s 2>&1". Also, the same names with ".exe" appended are checked
for.
The initialization of this option is done after reading the ".vimrc"
and the other initializations, so that when the 'shell' option is set
there, the 'shellredir' option changes automatically unless it was
+4 -4
View File
@@ -1,4 +1,4 @@
*pi_netrw.txt* For Vim version 8.1. Last change: 2019 Jul 17
*pi_netrw.txt* For Vim version 8.1. Last change: 2019 Oct 10
------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell
@@ -3512,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\vim70\gvim.exe" !.!
"c:\Program Files\Vim\vim81\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
@@ -3762,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/vim7x/plugin/netrwPlugin.vim
/usr/local/share/vim/vim7x/autoload/netrw.vim
/usr/local/share/vim/vim8x/plugin/netrwPlugin.vim
/usr/local/share/vim/vim8x/autoload/netrw.vim
(see output of :echo &rtp)
<
which is loaded automatically at startup (assuming :set nocp). If you
+17 -10
View File
@@ -1,4 +1,4 @@
*popup.txt* For Vim version 8.1. Last change: 2019 Sep 25
*popup.txt* For Vim version 8.1. Last change: 2019 Oct 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -305,8 +305,9 @@ 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.
and |popup_close()|. Use |popup_show()| to reposition it to
the item in the popup menu.
Returns zero if there is none.
popup_findpreview() *popup_findpreview()*
@@ -314,7 +315,6 @@ popup_findpreview() *popup_findpreview()*
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
@@ -361,7 +361,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)
(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
@@ -474,6 +474,8 @@ popup_notification({what}, {options}) *popup_notification()*
popup_show({id}) *popup_show()*
If {id} is a hidden popup, show it now.
For {id} see `popup_hide()`.
If {id} is the info popup it will be positioned next to the
current popup menu item.
popup_setoptions({id}, {options}) *popup_setoptions()*
@@ -680,8 +682,13 @@ The second argument of |popup_create()| is a dictionary with options:
- "expr": if the cursor moved outside |<cexpr>|
- [{start}, {end}]: if the cursor moved before column
{start} or after {end}
- [{lnum}, {start}, {end}]: if the cursor moved away
from line {lnum}, before column {start} or after
{end}
The popup also closes if the cursor moves to another
line or to another window.
mousemoved Like "moved" but referring to the mouse pointer
position
cursorline non-zero: Highlight the cursor line. Also scrolls the
text to show this line (only works properly
when 'wrap' is off).
@@ -744,22 +751,22 @@ 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', {})
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, #{
call prop_add(lnum, col, #{
\ length: len,
\ type: 'popupMarker',
\ id: propId,
\ })
- Create a popup: >
let winid = popup_create('the text', #{
\ pos: 'botleft',
let winid = popup_create('the text', #{
\ pos: 'botleft',
\ textprop: 'popupMarker',
\ textpropid: propId,
\ border: [],
@@ -799,7 +806,7 @@ Some hints:
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})
call prop_remove(#{type: 'popupMarker', id: propId})
POPUP FILTER *popup-filter*
+2 -2
View File
@@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 8.1. Last change: 2019 Aug 06
*quickfix.txt* For Vim version 8.1. Last change: 2019 Oct 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -486,7 +486,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
etc.
< When the current file can't be |abandon|ed and the [!]
is not present, the command fails.
When an error is detected execution stops.
When going to the next entry fails execution stops.
The last buffer (or where an error occurred) becomes
the current buffer.
{cmd} can contain '|' to concatenate several commands.
+23 -3
View File
@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 8.1. Last change: 2019 Sep 19
*syntax.txt* For Vim version 8.1. Last change: 2019 Oct 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -60,8 +60,8 @@ If the VIM environment variable is not set, Vim will try to find
the path in another way (see |$VIMRUNTIME|). Usually this works just
fine. If it doesn't, try setting the VIM environment variable to the
directory where the Vim stuff is located. For example, if your syntax files
are in the "/usr/vim/vim50/syntax" directory, set $VIMRUNTIME to
"/usr/vim/vim50". You must do this in the shell, before starting Vim.
are in the "/usr/vim/vim81/syntax" directory, set $VIMRUNTIME to
"/usr/vim/vim81". You must do this in the shell, before starting Vim.
This command also sources the |menu.vim| script when the GUI is running or
will start soon. See |'go-M'| about avoiding that.
@@ -1158,6 +1158,26 @@ startup vimrc: >
:let filetype_w = "cweb"
DART *dart.vim* *ft-dart-syntax*
Dart is an object-oriented, typed, class defined, garbage collected language
used for developing mobile, desktop, web, and back-end applications. Dart uses
a C-like syntax derived from C, Java, and JavaScript, with features adopted
from Smalltalk, Python, Ruby, and others.
More information about the language and its development environment at the
official Dart language website at https://dart.dev
dart.vim syntax detects and highlights Dart statements, reserved words,
type declarations, storage classes, conditionals, loops, interpolated values,
and comments. There is no support idioms from Flutter or any other Dart
framework.
Changes, fixes? Submit an issue or pull request via:
https://github.com/pr3d4t0r/dart-vim-syntax/
DESKTOP *desktop.vim* *ft-desktop-syntax*
Primary goal of this syntax file is to highlight .desktop and .directory files
+12 -1
View File
@@ -1034,6 +1034,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
't_Sb' term.txt /*'t_Sb'*
't_Sf' term.txt /*'t_Sf'*
't_Si' term.txt /*'t_Si'*
't_TE' term.txt /*'t_TE'*
't_TI' term.txt /*'t_TI'*
't_Te' term.txt /*'t_Te'*
't_Ts' term.txt /*'t_Ts'*
't_VS' term.txt /*'t_VS'*
@@ -5128,6 +5130,7 @@ Terminal-Job terminal.txt /*Terminal-Job*
Terminal-Normal terminal.txt /*Terminal-Normal*
Terminal-mode terminal.txt /*Terminal-mode*
TerminalOpen autocmd.txt /*TerminalOpen*
TerminalWinOpen autocmd.txt /*TerminalWinOpen*
TextChanged autocmd.txt /*TextChanged*
TextChangedI autocmd.txt /*TextChangedI*
TextChangedP autocmd.txt /*TextChangedP*
@@ -5872,8 +5875,10 @@ compl-vim insert.txt /*compl-vim*
compl-whole-line insert.txt /*compl-whole-line*
complete() eval.txt /*complete()*
complete-functions insert.txt /*complete-functions*
complete-item-kind insert.txt /*complete-item-kind*
complete-items insert.txt /*complete-items*
complete-popup insert.txt /*complete-popup*
complete-popuphidden insert.txt /*complete-popuphidden*
complete_CTRL-E insert.txt /*complete_CTRL-E*
complete_CTRL-Y insert.txt /*complete_CTRL-Y*
complete_add() eval.txt /*complete_add()*
@@ -6033,6 +6038,7 @@ daB motion.txt /*daB*
daW motion.txt /*daW*
dab motion.txt /*dab*
dap motion.txt /*dap*
dart.vim syntax.txt /*dart.vim*
das motion.txt /*das*
date-functions usr_41.txt /*date-functions*
dav pi_netrw.txt /*dav*
@@ -6485,6 +6491,7 @@ ft-csh-syntax syntax.txt /*ft-csh-syntax*
ft-css-omni insert.txt /*ft-css-omni*
ft-cweb-syntax syntax.txt /*ft-cweb-syntax*
ft-cynlib-syntax syntax.txt /*ft-cynlib-syntax*
ft-dart-syntax syntax.txt /*ft-dart-syntax*
ft-dash-syntax syntax.txt /*ft-dash-syntax*
ft-desktop-syntax syntax.txt /*ft-desktop-syntax*
ft-dircolors-syntax syntax.txt /*ft-dircolors-syntax*
@@ -7661,6 +7668,7 @@ mac-vimfile os_mac.txt /*mac-vimfile*
macintosh os_mac.txt /*macintosh*
macro map.txt /*macro*
macvim gui_mac.txt /*macvim*
macvim-autocommands gui_mac.txt /*macvim-autocommands*
macvim-backspace gui_mac.txt /*macvim-backspace*
macvim-clientserver remote.txt /*macvim-clientserver*
macvim-colors gui_mac.txt /*macvim-colors*
@@ -7813,6 +7821,7 @@ modeless-selection gui.txt /*modeless-selection*
modeline options.txt /*modeline*
modeline-local options.txt /*modeline-local*
modeline-version options.txt /*modeline-version*
modifyOtherKeys map.txt /*modifyOtherKeys*
moo.vim syntax.txt /*moo.vim*
more-compatible version5.txt /*more-compatible*
more-prompt message.txt /*more-prompt*
@@ -8210,7 +8219,6 @@ new-vimgrep version7.txt /*new-vimgrep*
new-virtedit version6.txt /*new-virtedit*
news intro.txt /*news*
nextnonblank() eval.txt /*nextnonblank()*
nice todo.txt /*nice*
no-eval-feature eval.txt /*no-eval-feature*
no-type-checking eval.txt /*no-type-checking*
no_buffers_menu gui.txt /*no_buffers_menu*
@@ -9229,6 +9237,8 @@ t_ST term.txt /*t_ST*
t_Sb term.txt /*t_Sb*
t_Sf term.txt /*t_Sf*
t_Si term.txt /*t_Si*
t_TE term.txt /*t_TE*
t_TI term.txt /*t_TI*
t_Te term.txt /*t_Te*
t_Ts term.txt /*t_Ts*
t_VS term.txt /*t_VS*
@@ -9497,6 +9507,7 @@ termdebug_wide terminal.txt /*termdebug_wide*
terminal terminal.txt /*terminal*
terminal-api terminal.txt /*terminal-api*
terminal-client-server terminal.txt /*terminal-client-server*
terminal-close terminal.txt /*terminal-close*
terminal-colors os_unix.txt /*terminal-colors*
terminal-communication terminal.txt /*terminal-communication*
terminal-cursor-style terminal.txt /*terminal-cursor-style*
+18 -11
View File
@@ -1,4 +1,4 @@
*term.txt* For Vim version 8.1. Last change: 2019 May 07
*term.txt* For Vim version 8.1. Last change: 2019 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -80,14 +80,19 @@ can do this best in your .vimrc. Example: >
<
*raw-terminal-mode*
For normal editing the terminal will be put into "raw" mode. The strings
defined with 't_ti' and 't_ks' will be sent to the terminal. Normally this
puts the terminal in a state where the termcap codes are valid and activates
the cursor and function keys. When Vim exits the terminal will be put back
into the mode it was before Vim started. The strings defined with 't_te' and
't_ke' will be sent to the terminal. On the Amiga, with commands that execute
an external command (e.g., "!!"), the terminal will be put into Normal mode
for a moment. This means that you can stop the output to the screen by
hitting a printing key. Output resumes when you hit <BS>.
defined with 't_ti', 't_TI' and 't_ks' will be sent to the terminal. Normally
this puts the terminal in a state where the termcap codes are valid and
activates the cursor and function keys.
When Vim exits the terminal will be put back into the mode it was before Vim
started. The strings defined with 't_te', 't_TE' and 't_ke' will be sent to
the terminal. On the Amiga, with commands that execute an external command
(e.g., "!!"), the terminal will be put into Normal mode for a moment. This
means that you can stop the output to the screen by hitting a printing key.
Output resumes when you hit <BS>.
Note: When 't_ti' is not empty, Vim assumes that it causes switching to the
alternate screen. This may slightly change what happens when executing a
shell command or exiting Vim. To avoid this use 't_TI' and 't_TE'.
*xterm-bracketed-paste*
When the 't_BE' option is set then 't_BE' will be sent to the
@@ -297,8 +302,8 @@ OUTPUT CODES *terminal-output-codes*
t_se standout end *t_se* *'t_se'*
t_so standout mode *t_so* *'t_so'*
t_sr scroll reverse (backward) *t_sr* *'t_sr'*
t_te out of "termcap" mode *t_te* *'t_te'*
t_ti put terminal in "termcap" mode *t_ti* *'t_ti'*
t_te end of "termcap" mode *t_te* *'t_te'*
t_ti put terminal into "termcap" mode *t_ti* *'t_ti'*
t_ts set window title start (to status line) *t_ts* *'t_ts'*
t_ue underline end *t_ue* *'t_ue'*
t_us underline mode *t_us* *'t_us'*
@@ -359,6 +364,8 @@ Added by Vim (there are no standard codes for these):
t_RT restore window title from stack *t_RT* *'t_RT'*
t_Si save icon text to stack *t_Si* *'t_Si'*
t_Ri restore icon text from stack *t_Ri* *'t_Ri'*
t_TE end of "raw" mode *t_TE* *'t_TE'*
t_TI put terminal into "raw" mode *t_TI* *'t_TI'*
Some codes have a start, middle and end part. The start and end are defined
by the termcap option, the middle part is text.
+11 -6
View File
@@ -1,4 +1,4 @@
*terminal.txt* For Vim version 8.1. Last change: 2019 Sep 26
*terminal.txt* For Vim version 8.1. Last change: 2019 Oct 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -193,6 +193,7 @@ Command syntax ~
Supported [options] are:
++close The terminal window will close
automatically when the job terminates.
|terminal-close|
++noclose The terminal window will NOT close
automatically when the job terminates.
++open When the job terminates and no window
@@ -267,6 +268,12 @@ hidden, the job keeps running. The `:buffer` command can be used to turn the
current window into a terminal window. If there are unsaved changes this
fails, use ! to force, as usual.
*terminal-close*
When the terminal window is closed, e.g. when the shell exits and "++close"
argument was used, and this is the last normal Vim window, then Vim will exit.
This is like using |:quit| in a normal window. Help and preview windows are
not counted.
To have a background job run without a window, and open the window when it's
done, use options like this: >
:term ++hidden ++open make
@@ -496,7 +503,7 @@ term_dumpload({filename} [, {options}])
For {options} see |term_dumpdiff()|.
Can also be used as a |method|: >
GetFilename()-> term_dumpload()
GetFilename()->term_dumpload()
<
*term_dumpwrite()*
term_dumpwrite({buf}, {filename} [, {options}])
@@ -514,7 +521,7 @@ term_dumpwrite({buf}, {filename} [, {options}])
Can also be used as a |method|, the base is used for the file
name: >
GetFilename()-> term_dumpwrite(bufnr)
GetFilename()->term_dumpwrite(bufnr)
term_getaltscreen({buf}) *term_getaltscreen()*
Returns 1 if the terminal of {buf} is using the alternate
@@ -863,8 +870,6 @@ term_start({cmd} [, {options}]) *term_start()*
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.
@@ -1243,7 +1248,7 @@ gdb:
*:Break* set a breakpoint at the cursor position
:Break {position}
set a breakpoint at the specified position
set a breakpoint at the specified position
*:Clear* delete the breakpoint at the cursor position
*:Step* execute the gdb "step" command
+7 -8
View File
@@ -1,4 +1,4 @@
*textprop.txt* For Vim version 8.1. Last change: 2019 Sep 04
*textprop.txt* For Vim version 8.1. Last change: 2019 Oct 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -6,13 +6,6 @@
Displaying text with properties attached. *textprop* *text-properties*
THIS IS UNDER DEVELOPMENT - ANYTHING MAY STILL CHANGE *E967*
What is not working yet:
- Adjusting column/length when inserting text
- Text properties spanning more than one line
- prop_find()
1. Introduction |text-prop-intro|
2. Functions |text-prop-functions|
@@ -94,6 +87,12 @@ and/or ends with a specific character, such as the quote surrounding a string.
Nevertheless, when text is inserted or deleted the text may need to be parsed
and the text properties updated. But this can be done asynchronously.
Internal error *E967*
If you see E967, please report the bug. You can do this at Github:
https://github.com/vim/vim/issues/new
==============================================================================
2. Functions *text-prop-functions*
+39 -62
View File
@@ -1,4 +1,4 @@
*todo.txt* For Vim version 8.1. Last change: 2019 Sep 27
*todo.txt* For Vim version 8.1. Last change: 2019 Oct 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -38,17 +38,11 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs*
-------------------- Known bugs and current work -----------------------
'completeopt' "popup" variant that uses a callback after the popup has been
created, so the contents can be changed. Make it hidden, callback
or later has to make it visible. #4924 Setting the buffer contents later
doesn't work well.
Termdebug: Ctrl-W . doesn't work with modifyOtherKeys set.
Popup windows:
- Use popup (or popup menu) for command line completion
- Implement flip option
- Why does 'nrformats' leak from the popup window buffer???
Happens in Test_simple_popup() at the second screendump.
- For the "moved" property also include mouse movement?
- Make redrawing more efficient and avoid flicker:
- put popup menu also in popup_mask?
- Any other commands to disable in a popup window?
@@ -59,8 +53,11 @@ Popup windows:
- When drawing on top half a double-wide character, display ">" or "<" in the
incomplete cell.
Text properties: See comment at top of src/textprop.c.
Text properties:
- Implement prop_find() #4970
- Adjusting column/length when inserting text
- Text properties spanning more than one line
- prop_find()
'incsearch' with :s: (#3321)
- Get E20 when using command history to get "'<,'>s/a/b" and no Visual area
@@ -76,7 +73,7 @@ Text properties: See comment at top of src/textprop.c.
Then :%s?foo should take the first match above the cursor line.
Prompt buffer:
- Add a command line history.
- Add a command line history, using up/down keys. #5010
- delay next prompt until plugin gives OK?
- add prompt_addtext({buf}, {expr}) none add text to a prompt buffer
@@ -96,8 +93,6 @@ Terminal debugger:
with another Vim instance.
Terminal emulator window:
- When typing "exit" in a terminal window with a shell and it's the only
window, should exit Vim instead of editing another buffer. (#4539)
- When the job in the terminal doesn't use mouse events, let the scroll wheel
scroll the scrollback, like a terminal does at the shell prompt. #2490
And use modeless selection. #2962
@@ -134,15 +129,21 @@ 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
"gN" does not work properly with single-char search pattern. (Jaehwang Jerry
Jung, #5075)
Running test_gui and test_gui_init with Motif sometimes kills the window
manager. Problem with Motif? Now test_gui crashes in submenu_change().
Athena is OK.
Motif: Build on Ubuntu can't enter any text in dialog text fields.
Improve running tests on MS-Windows: #4922
In a function these two lines are different:
let [a, b, c] =<< trim END fails
let [a,b,c] =<< trim END works
issue #5051
Patch to properly break CJK lines: #3875
Ready to include now?
Patch to properly break CJK lines: Anton Kochkov, #3875
Flag in 'formatoptions' is not used in the tests.
Remove check for cmd_silent when calling search_stat()? (Gary Johnson)
@@ -159,10 +160,13 @@ Patch to sort buffers on b_last_used time. (Andy Massimino, #4722)
Patch to highlight the line number differently below the cursor line. (Shaun
Brady, #624)
Patch to add more tests for cmd.exe: #4928
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.
Also #4994: window-local options not always restored, related to using :badd.
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
@@ -176,12 +180,17 @@ Ready to include now?
Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
(#4087)
":helptags ALL" should skip directories where "tags" cannot be written.
(Matěj Cepl, #5026)
":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)
Patch to fix using zero sc_sid. (#4877)
Enable 'termbidi' if $VTE_VERSION >= 5703 ?
Universal solution to detect if t_RS is working, using cursor position.
Koichi Iwamoto, #2126
@@ -212,8 +221,6 @@ Patch to remove FORTIFY_SOURCE also from CPPFLAGS. (Benedikt Morbach, #2786)
Patch from Namsh to allow building with both XIM and hangulin. (2019 Aug 29)
Patch to fix redirect of shell on MS-Windows. (Yasuhiro Matsumoto, #2054)
When using :packadd files under "later" are not used, which is inconsistent
with packages under "start". (xtal8, #1994)
@@ -243,6 +250,14 @@ Patch to configure BUILD_DATE for reproducible builds. (James McCoy, #513)
Patch to add MODIFIED_BY to MSVC build file. (Chen Lei, 2016 Nov 24, #1275)
xterm should be able to pass focus changes to Vim, so that Vim can check for
buffers that changed. Perhaps in misc.c, function selectwindow().
Xterm 224 supports it!
Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
Saito, 2013 Apr 24) Update 2016 Aug 12.
Also see issue #609.
We could add the enable/disable sequences to t_ti/t_te or t_ks/t_ke.
Check_external_diff() is used too often. (Daniel Hahler, #4800)
Incorrect formatting with autoindent. (Sebastian Gniazdowski, #4909)
@@ -297,8 +312,12 @@ Williams, 2018 Oct 30)
"exepath('bin/cmd')" does not work while ":!bin/cmd" does work.
(Daniel Hahler, #4710) and executable('bin/cmd') returns 1
Error drawing the number column when 'cursorline' is set. (#3893)
Problem with :tlmenu: Detach item added with all modes? Issue #3563.
Add an argument to expandcmd() to expand like ":next" does.
The quoting of the [command] argument of :terminal is not clearly documented.
Give a few examples. (#4288)
@@ -314,8 +333,6 @@ Bug: script written with "-W scriptout" contains Key codes, while the script
read with "-s scriptin" expects escape codes. Probably "scriptout" needs to
be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)
":registers" should indicate char/block/linewise. (Ayberk Aydin, #4546)
Patch for ambiguous width characters in libvterm on MS-Windows 10.
(Nobuhiro Takasaki, #4411)
@@ -592,6 +609,9 @@ Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
Display error when a conceal match uses '\%>1l'. (#4854)
Add a windowID argument to placing a sign, so that it only shows up in one
window for the buffer.
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)
@@ -1604,14 +1624,6 @@ compatible with Vim spell files. The old files can no longer be downloaded.
Spell checking: Add a feature to only consider two spaces after a dot to start
a new sentence. Don't give the capitalization error when there is one space.
xterm should be able to pass focus changes to Vim, so that Vim can check for
buffers that changed. Perhaps in misc.c, function selectwindow().
Xterm 224 supports it!
Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
Saito, 2013 Apr 24) Update 2016 Aug 12.
Also see issue #609.
We could add the enable/disable sequences to t_ti/t_te or t_ks/t_ke.
Idea: For a window in the middle (has window above and below it), use
right-mouse-drag on the status line to move a window up/down without changing
its height? It's like dragging the status bar above it at the same time.
@@ -2155,10 +2167,6 @@ Looks like only bash can do it. (Yakov Lerner)
Cscope "cs add" stopped working somewhat before 7.2.438. (Gary Johnson, 2010
Jun 29) Caused by 7.2.433?
I often see pasted text (from Firefox, to Vim in xterm) appear twice.
Also, Vim in xterm sometimes loses copy/paste ability (probably after running
an external command).
Jumplist doesn't work properly in Insert mode? (Jean Johner, 2010 Mar 20)
Problem with transparent cmdline. Also: Terminal title is wrong with
@@ -2754,10 +2762,6 @@ If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work.
Feature request: Command to go to previous tab, like what CTRL-W p does for
windows. (Adam George)
F1 - F4 in an xterm produce a different escape sequence when used with a
modifier key. Need to catch three different sequences. Use K_ZF1, like
K_ZHOME? (Dickey, 2007 Dec 2)
In debug mode, using CTRL-R = to evaluate a function causes stepping through
the function. (Hari Krishna Dara, 2006 Jun 28)
@@ -2892,12 +2896,6 @@ Setting 'background' resets the Normal background color:
This is undesired, 'background' is supposed to tell Vim what the background
color is, not reset it.
Linux distributions:
- Suggest compiling xterm with --enable-tcap-query, so that nr of colors is
known to Vim. 88 colors instead of 16 works better. See ":help
xfree-xterm".
- Suggest including bare "vi" and "vim" with X11, syntax, etc.
Completion menu: For a wrapping line, completing a long file name, only the
start of the path is shown in the menu. Should move the menu to the right to
show more text of the completions. Shorten the items that don't fit in the
@@ -2912,12 +2910,6 @@ the buffer is displayed. (Antonios Tsakiridis)
When ":cn" moves to an error in the same line the message isn't shortened.
Only skip shortening for ":cc"?
Write "making vim work better" for the docs (mostly pointers): *nice*
- sourcing $VIMRUNTIME/vimrc_example.vim
- setting 'mouse' to "a"
- getting colors in xterm
- compiling Vim with X11, GUI, etc.
Problem with ":call" and dictionary function. Hari Krishna Dara, Charles
Campbell 2006 Jul 06.
@@ -3011,11 +3003,6 @@ When 'encoding' is utf-8 typing text at the end of the line causes previously
typed characters to be redrawn. Caused by patch 7.1.329. (Tyler Spivey, 2008
Sep 3, 11)
When Vim in an xterm owns the selection and the user does ":shell" Vim doesn't
respond to selection requests. Invoking XtDisownSelection() before executing
the shell doesn't help. Would require forking and doing a message loop, like
what happens for the GUI.
":vimgrep" does not recognize a recursive symlink. Is it possible to detect
this, at least for Unix (using device/inode)?
@@ -3104,11 +3091,6 @@ Awaiting updated patches:
use the patch that keeps using HLF_8 if HLF_WS has not
been given values.
Add section in help files for these highlight groups?
8 "fg" and "bg" don't work in an xterm. Get default colors from xterm
with an ESC sequence.
xterm can send colors for many things. E.g. for the cursor:
<Esc>]12;?<Bel>
Can use this to get the background color and restore the colors on exit.
7 Add "DefaultFG" and "DefaultBG" for the colors of the menu. (Marcin
Dalecki has a patch for Motif and Carbon)
- Add possibility to highlight specific columns (for Fortran). Or put a
@@ -3702,7 +3684,6 @@ Macintosh:
8 Xterm sends ^[[H for <Home> and ^[[F for <End> in some mode. Also
recognize these keys? Mostly useful for xterm simulators, like gnometerm.
See http://dickey.his.com/xterm/xterm.faq.html#xterm_pc_style.
8 For xterm also recognize keypad up/down/left/right and insert.
8 '[ and '] should be set to start/end of line when using a linewise operator
(e.g., ":w").
8 CTRL-A can't handle big "long" numbers, they become negative. Check for
@@ -3717,10 +3698,6 @@ Macintosh:
filesystem, an illegal file name may be created: ".vim".
8 For each buffer that is opened, the viminfo file is opened and read to
check for file marks. This can be slow.
7 In xterm, recognize both vt100 and vt220 cursor keys. Change
add_termcode() to not remove an existing entry for a name, when it's
needed.
Need a generic solution to recognize different codes for the same key.
8 Core dump within signal function: gdb doesn't show stack backtrace! Option
to skip catch_signals()?
9 Repeating a "cw" with "." doesn't work if the text was pasted from the
+4 -2
View File
@@ -1,4 +1,4 @@
*various.txt* For Vim version 8.1. Last change: 2019 Sep 28
*various.txt* For Vim version 8.1. Last change: 2019 Oct 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -390,7 +390,7 @@ m *+lua/dyn* |Lua| interface |/dyn|
N *+menu* |:menu|
N *+mksession* |:mksession|
T *+modify_fname* |filename-modifiers|
N *+mouse* Mouse handling |mouse-using|
T *+mouse* Mouse handling |mouse-using|
N *+mouseshape* |'mouseshape'|
B *+mouse_dec* Unix only: Dec terminal mouse handling |dec-mouse|
N *+mouse_gpm* Unix only: Linux console mouse handling |gpm-mouse|
@@ -578,6 +578,8 @@ N *+X11* Unix only: can restore window title |X11|
|:marks| - filter by text in the current file,
or file name for other files
|:oldfiles| - filter by file name
|:registers| - filter by register contents
(does not work multi-line)
|:set| - filter by variable name
Only normal messages are filtered, error messages are
+4 -1
View File
@@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 8.1. Last change: 2019 Sep 27
*vi_diff.txt* For Vim version 8.1. Last change: 2019 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -64,6 +64,9 @@ w300 number (default 23) *'w300'*
w1200 number (default 23) *'w1200'*
w9600 number (default 23) *'w9600'*
Vi did not allow for changing the termcap entries, you would have to exit Vi,
edit the termcap entry and try again. Vim has the |terminal-options|.
==============================================================================
3. Limits *limits*
+4 -1
View File
@@ -1,4 +1,4 @@
*windows.txt* For Vim version 8.1. Last change: 2019 Aug 18
*windows.txt* For Vim version 8.1. Last change: 2019 Oct 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -312,6 +312,9 @@ CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
:+quit " quit the next window
:+2quit " quit the second next window
<
When closing a help window, Vim will try to restore the
previous window layout |:helpclose|.
:q[uit]!
:{count}q[uit]!
Without {count}: Quit the current window. If {count} is
+7 -1
View File
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 Sep 27
" Last Change: 2019 Oct 19
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -425,6 +425,9 @@ au BufNewFile,BufRead *.csp,*.fdr setf csp
au BufNewFile,BufRead *.pld setf cupl
au BufNewFile,BufRead *.si setf cuplsim
" Dart
au BufRead,BufNewfile *.dart,*.drt setf dart
" Debian Control
au BufNewFile,BufRead */debian/control setf debcontrol
au BufNewFile,BufRead control
@@ -979,6 +982,9 @@ au BufNewFile,BufRead hg-editor-*.txt setf hgcommit
" Mercurial config (looks like generic config file)
au BufNewFile,BufRead *.hgrc,*hgrc setf cfg
" Meson Build system config
au BufNewFile,BufRead meson.build,meson_options.txt setf meson
" Messages (logs mostly)
au BufNewFile,BufRead */log/{auth,cron,daemon,debug,kern,lpr,mail,messages,news/news,syslog,user}{,.log,.err,.info,.warn,.crit,.notice}{,.[0-9]*,-[0-9]*} setf messages
+19
View File
@@ -0,0 +1,19 @@
" Vim filetype plugin file
" Language: meson
" License: VIM License
" Original Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
" Last Change: 2018 Nov 27
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
let s:keepcpo= &cpo
set cpo&vim
setlocal commentstring=#\ %s
setlocal comments=:#
setlocal shiftwidth=2
setlocal softtabstop=2
let &cpo = s:keepcpo
unlet s:keepcpo
+4 -1
View File
@@ -4,16 +4,19 @@
# Translators: This is the Application Name used in the GVim desktop file
Name[de]=GVim
Name[eo]=GVim
Name[tr]=GVim
Name=GVim
# Translators: This is the Generic Application Name used in the Vim desktop file
GenericName[de]=Texteditor
GenericName[eo]=Tekstoredaktilo
GenericName[ja]=テキストエディタ
GenericName[tr]=Metin Düzenleyici
GenericName=Text Editor
# Translators: This is the comment used in the Vim desktop file
Comment[de]=Textdateien bearbeiten
Comment[eo]=Redakti tekstajn dosierojn
Comment[ja]=テキストファイルを編集します
Comment[tr]=Metin dosyaları düzenle
Comment=Edit text files
# The translations should come from the po file. Leave them here for now, they will
# be overwritten by the po file when generating the desktop.file!
@@ -82,7 +85,6 @@ Comment[sv]=Redigera textfiler
Comment[ta]=உரை கோப்புகளை தொகுக்கவும்
Comment[th]=แก้ไขแฟ้มข้อความ
Comment[tk]=Metin faýllary editle
Comment[tr]=Metin dosyalarını düzenle
Comment[uk]=Редактор текстових файлів
Comment[vi]=Soạn thảo tập tin văn bản
Comment[wa]=Asspougnî des fitchîs tecses
@@ -96,6 +98,7 @@ Type=Application
Keywords[de]=Text;Editor;
Keywords[eo]=Teksto;redaktilo;
Keywords[ja]=テキスト;エディタ;
Keywords[tr]=Metin;düzenleyici;
Keywords=Text;editor;
# Translators: This is the Icon file name. Do NOT translate
Icon[de]=gvim
+180
View File
@@ -0,0 +1,180 @@
" Vim indent file
" Language: Meson
" License: VIM License
" Maintainer: Nirbheek Chauhan <nirbheek.chauhan@gmail.com>
" Original Authors: David Bustos <bustos@caltech.edu>
" Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 Oct 18
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
" Some preliminary settings
setlocal nolisp " Make sure lisp indenting doesn't supersede us
setlocal autoindent " indentexpr isn't much help otherwise
setlocal indentexpr=GetMesonIndent(v:lnum)
setlocal indentkeys+==elif,=else,=endforeach,=endif,0)
" Only define the function once.
if exists("*GetMesonIndent")
finish
endif
let s:keepcpo= &cpo
set cpo&vim
" Come here when loading the script the first time.
let s:maxoff = 50 " maximum number of lines to look backwards for ()
function GetMesonIndent(lnum)
echom getline(line("."))
" If this line is explicitly joined: If the previous line was also joined,
" line it up with that one, otherwise add two 'shiftwidth'
if getline(a:lnum - 1) =~ '\\$'
if a:lnum > 1 && getline(a:lnum - 2) =~ '\\$'
return indent(a:lnum - 1)
endif
return indent(a:lnum - 1) + (exists("g:mesonindent_continue") ? eval(g:mesonindent_continue) : (shiftwidth() * 2))
endif
" If the start of the line is in a string don't change the indent.
if has('syntax_items')
\ && synIDattr(synID(a:lnum, 1, 1), "name") =~ "String$"
return -1
endif
" Search backwards for the previous non-empty line.
let plnum = prevnonblank(v:lnum - 1)
if plnum == 0
" This is the first non-empty line, use zero indent.
return 0
endif
" If the previous line is inside parenthesis, use the indent of the starting
" line.
" Trick: use the non-existing "dummy" variable to break out of the loop when
" going too far back.
call cursor(plnum, 1)
let parlnum = searchpair('(\|{\|\[', '', ')\|}\|\]', 'nbW',
\ "line('.') < " . (plnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'")
if parlnum > 0
let plindent = indent(parlnum)
let plnumstart = parlnum
else
let plindent = indent(plnum)
let plnumstart = plnum
endif
" When inside parenthesis: If at the first line below the parenthesis add
" a 'shiftwidth', otherwise same as previous line.
" i = (a
" + b
" + c)
call cursor(a:lnum, 1)
let p = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
\ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'")
if p > 0
if p == plnum
" When the start is inside parenthesis, only indent one 'shiftwidth'.
let pp = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
\ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'")
if pp > 0
return indent(plnum) + (exists("g:pyindent_nested_paren") ? eval(g:pyindent_nested_paren) : shiftwidth())
endif
return indent(plnum) + (exists("g:pyindent_open_paren") ? eval(g:pyindent_open_paren) : shiftwidth())
endif
if plnumstart == p
return indent(plnum)
endif
return plindent
endif
" Get the line and remove a trailing comment.
" Use syntax highlighting attributes when possible.
let pline = getline(plnum)
let pline_len = strlen(pline)
if has('syntax_items')
" If the last character in the line is a comment, do a binary search for
" the start of the comment. synID() is slow, a linear search would take
" too long on a long line.
if synIDattr(synID(plnum, pline_len, 1), "name") =~ "\\(Comment\\|Todo\\)$"
let min = 1
let max = pline_len
while min < max
let col = (min + max) / 2
if synIDattr(synID(plnum, col, 1), "name") =~ "\\(Comment\\|Todo\\)$"
let max = col
else
let min = col + 1
endif
endwhile
let pline = strpart(pline, 0, min - 1)
endif
else
let col = 0
while col < pline_len
if pline[col] == '#'
let pline = strpart(pline, 0, col)
break
endif
let col = col + 1
endwhile
endif
" If the previous line ended the conditional/loop
if getline(plnum) =~ '^\s*\(endif\|endforeach\)\>\s*'
" Maintain indent
return -1
endif
" If the previous line ended with a builtin, indent this line
if pline =~ '^\s*\(foreach\|if\|else\|elif\)\>\s*'
return plindent + shiftwidth()
endif
" If the current line begins with a header keyword, deindent
if getline(a:lnum) =~ '^\s*\(else\|elif\|endif\|endforeach\)'
" Unless the previous line was a one-liner
if getline(plnumstart) =~ '^\s*\(foreach\|if\)\>\s*'
return plindent
endif
" Or the user has already dedented
if indent(a:lnum) <= plindent - shiftwidth()
return -1
endif
return plindent - shiftwidth()
endif
" When after a () construct we probably want to go back to the start line.
" a = (b
" + c)
" here
if parlnum > 0
return plindent
endif
return -1
endfunction
let &cpo = s:keepcpo
unlet s:keepcpo
" vim:sw=2
+3 -3
View File
@@ -3,7 +3,7 @@
" Maintainer: Christian Brabandt <cb@256bit.org>
" Original Author: Nikolai Weibull <now@bitwi.se>
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
" Latest Revision: 2019-07-26
" Latest Revision: 2019-10-24
" License: Vim (see :h license)
" Repository: https://github.com/chrisbra/vim-sh-indent
" Changelog:
@@ -134,7 +134,7 @@ function! GetShIndent()
" TODO: should we do the same for other "end" lines?
if curline =~ '^\s*\%(fi\);\?\s*\%(#.*\)\=$'
let ind = indent(v:lnum)
let previous_line = searchpair('\<if\>', '', '\<fi\>\zs', 'bnW', 'synIDattr(synID(line("."),col("."), 1),"name") =~? "comment"')
let previous_line = searchpair('\<if\>', '', '\<fi\>\zs', 'bnW', 'synIDattr(synID(line("."),col("."), 1),"name") =~? "comment\\|quote"')
if previous_line > 0
let ind = indent(previous_line)
endif
@@ -195,7 +195,7 @@ endfunction
function! s:is_function_definition(line)
return a:line =~ '^\s*\<\k\+\>\s*()\s*{' ||
\ a:line =~ '^\s*{' ||
\ a:line =~ '^\s*function\s*\w\S\+\s*\%(()\)\?\s*{'
\ a:line =~ '^\s*function\s*\k\+\s*\%(()\)\?\s*{'
endfunction
function! s:is_array(line)
+14
View File
@@ -0,0 +1,14 @@
# vim: set ft=yaml sw=2 et :
# START_INDENT
map1:
sub1:
- list item
map2:
- another list
# END_INDENT
# START_INDENT
map: &anchor
map: val
# END_INDENT
+14
View File
@@ -0,0 +1,14 @@
# vim: set ft=yaml sw=2 et :
# START_INDENT
map1:
sub1:
- list item
map2:
- another list
# END_INDENT
# START_INDENT
map: &anchor
map: val
# END_INDENT
+2 -2
View File
@@ -1,7 +1,7 @@
" Vim indent file
" Language: TypeScript
" Maintainer: See https://github.com/HerringtonDarkholme/yats.vim
" Last Change: 2019 Jun 06
" Last Change: 2019 Oct 18
" Acknowledgement: Based off of vim-ruby maintained by Nikolai Weibull http://vim-ruby.rubyforge.org
" 0. Initialization {{{1
@@ -442,7 +442,7 @@ let &cpo = s:cpo_save
unlet s:cpo_save
function! Fixedgq(lnum, count)
let l:tw = &tw ? &tw : 80;
let l:tw = &tw ? &tw : 80
let l:count = a:count
let l:first_char = indent(a:lnum) + 1
+5 -5
View File
@@ -1,8 +1,8 @@
" Language: xml
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
" Last Changed: July 27, 2019
" Maintainer: Christian Brabandt <cb@256bit.org>
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
" Language: XML
" Maintainer: Christian Brabandt <cb@256bit.org>
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Changed: 2019 Oct 24
" Last Change:
" 20190726 - Correctly handle non-tagged data
" 20190204 - correctly handle wrap tags
+2 -2
View File
@@ -1,7 +1,7 @@
" Vim indent file
" Language: YAML
" Maintainer: Nikolai Pavlov <zyx.vim@gmail.com>
" Last Change: 2017 Jun 13
" Last Change: 2019 Sep 28
" Only load this indent file when no other was loaded.
if exists('b:did_indent')
@@ -29,7 +29,7 @@ function s:FindPrevLessIndentedLine(lnum, ...)
let curindent = a:0 ? a:1 : indent(a:lnum)
while prevlnum
\&& indent(prevlnum) >= curindent
\&& getline(prevlnum) =~# '^\s*#'
\&& getline(prevlnum) !~# '^\s*#'
let prevlnum = prevnonblank(prevlnum-1)
endwhile
return prevlnum
+3
View File
@@ -0,0 +1,3 @@
" Menu Translations: Turkish
source <sfile>:p:h/menu_tr_tr.latin1.vim
+3
View File
@@ -0,0 +1,3 @@
" Menu Translations: Turkish
source <sfile>:p:h/menu_tr_tr.utf-8.vim
+332
View File
@@ -0,0 +1,332 @@
" Menu Translations: Turkish
" Maintainer: Emir SARI <bitigchi@me.com>
if exists("did_menu_trans")
finish
endif
let did_menu_trans = 1
let s:keepcpo= &cpo
set cpo&vim
scriptencoding latin1
" Top
menutrans &File &Dosya
menutrans &Edit &zen
menutrans &Tools &Araçlar
menutrans &Syntax &Sözdizim
menutrans &Buffers A&rabellekler
menutrans &Window &Pencere
menutrans &Help &Yardim
" Help menu
menutrans &Overview<Tab><F1> &Genel\ Bakis<Tab><F1>
menutrans &User\ Manual &Kullanim\ Kilavuzu
menutrans &How-To\ Links &Nasil\ Yapilir?
menutrans &Find\.\.\. &Bul\.\.\.
"--------------------
menutrans &Credits &Tesekkürler
menutrans Co&pying &Dagitim
menutrans &Sponsor/Register &Sponsorluk/Kayit
menutrans O&rphans &Yetimler
"--------------------
menutrans &Version Sürüm\ &Bilgisi
menutrans &About &Hakkinda
" File menu
menutrans &Open\.\.\.<Tab>:e &\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp &Yeni\ Bölümde\ \.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew S&ekme\ \.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew Yeni\ &Sekme<Tab>:enew
menutrans &Close<Tab>:close Ka&pat<Tab>:close
"--------------------
menutrans &Save<Tab>:w Ka&ydet<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav &Farkli Kaydet\.\.\.<Tab>:sav
"--------------------
menutrans Split\ &Diff\ With\.\.\. Ka&rsilastir\.\.\.
menutrans Split\ Patched\ &By\.\.\. Ya&malar\ Dahil\ Karsilastir\.\.\.
"--------------------
menutrans &Print Ya&zdir
menutrans Sa&ve-Exit<Tab>:wqa Kaydet\ &ve Çik<Tab>:wqa
menutrans E&xit<Tab>:qa Çi&k<Tab>:qa
" Edit menu
menutrans &Undo<Tab>u &Geri\ Al<Tab>u
menutrans &Redo<Tab>^R &Yinele<Tab>^R
menutrans Rep&eat<Tab>\. Son\ Komutu\ Y&inele<Tab>\.
"--------------------
menutrans Cu&t<Tab>"+x &Kes<Tab>"+x
menutrans &Copy<Tab>"+y K&opyala<Tab>"+y
menutrans &Paste<Tab>"+gP Ya&pistir<Tab>"+gP
menutrans Put\ &Before<Tab>[p Ö&nüne Koy<Tab>[p
menutrans Put\ &After<Tab>]p A&rkasina Koy<Tab>]p
menutrans &Delete<Tab>x Si&l<Tab>x
menutrans &Select\ All<Tab>ggVG &münü\ Seç<Tab>ggVG
"--------------------
" Athena GUI only
menutrans &Find<Tab>/ &Bul<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s Bul\ &ve\ Degistir<Tab>:%s
" End Athena GUI only
menutrans &Find\.\.\.<Tab>/ &Bul\.\.\.<Tab>/
menutrans Find\ and\ Rep&lace\.\.\. Bul\ ve\ &Degistir\.\.\.
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:%s Bul\ ve\ &Degistir\.\.\.<Tab>:%s
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:s Bul\ ve\ &Degistir\.\.\.<Tab>:s
"--------------------
menutrans Settings\ &Window &Ayarlar\ Penceresi
menutrans Startup\ &Settings Baslan&giç\ Ayarlari
menutrans &Global\ Settings Ge&nel\ Ayarlar
menutrans F&ile\ Settings &Dosya\ Ayarlari
menutrans C&olor\ Scheme &Renk\ Düzeni
menutrans &Keymap Dügme\ &Eslem
menutrans Select\ Fo&nt\.\.\. Ya&zitipi Seç\.\.\.
">>>----------------- Edit/Global settings
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Dizgi\ &Vurgulamasini\ /Kapat<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! BÜYÜK/küçük\ Harf\ &Duyarsiz\ Aç/Kapat<Tab>:set\ ic!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! Es&lesen\ Ikilileri\ /Kapat<Tab>:set\ sm!
menutrans &Context\ Lines I&mleçle\ Oynayan\ Satirlar
menutrans &Virtual\ Edit &Sanal\ Düzenleme
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Ekleme\ &Kipini\ /Kapat<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! &Vi\ Uyumlu\ Kipi\ /Kapat<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. &Arama\ Yolu\.\.\.
menutrans Ta&g\ Files\.\.\. &Etiket\ Dosyalari\.\.\.
"
menutrans Toggle\ &Toolbar &Araç\ Çubugunu\ /Kapat
menutrans Toggle\ &Bottom\ Scrollbar A&lt\ Kaydirma\ Çubugunu\ /Kapat
menutrans Toggle\ &Left\ Scrollbar &Sol\ Kaydirma\ Çubugunu\ /Kapat
menutrans Toggle\ &Right\ Scrollbar S&ag\ Kaydirma\ Çubugunu\ /Kapat
">>>->>>------------- Edit/Global settings/Virtual edit
menutrans Never Kapali
menutrans Block\ Selection Blok\ Seçimi
menutrans Insert\ Mode Ekleme\ Kipi
menutrans Block\ and\ Insert Blok\ Seçiminde\ ve\ Ekleme\ Kipinde
menutrans Always Her\ Zaman\ Açik
">>>----------------- Edit/File settings
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! &Satir\ Numaralandirmayi\ /Kapat<Tab>:set\ nu!
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! &Göreceli\ Satir\ Numaralandirmayi\ /Kapat<Tab>:set\ nru!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! &rünmeyen\ Karakterleri\ /Kapat<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrapping<Tab>:set\ wrap! Sa&tir\ Kaydirmayi\ /Kapat<Tab>:set\ wrap!
menutrans Toggle\ W&rapping\ at\ Word<Tab>:set\ lbr! &zcük\ Kaydirmayi\ /Kapat<Tab>:set\ lbr!
menutrans Toggle\ Tab\ &Expanding-tab<Tab>:set\ et! S&ekmeleri\ Bosluklara\ Dönüstürmeyi\ /Kapat<Tab>:set\ et!
menutrans Toggle\ &Auto\ Indenting<Tab>:set\ ai! &Otomatik\ Girintilemeyi\ /Kapat<Tab>:set\ ai!
menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin! &C\ Tarzi\ Girintilemeyi\ /Kapat<Tab>:set\ cin!
">>>---
menutrans &Shiftwidth &Girinti\ Düzeyi
menutrans Soft\ &Tabstop &Sekme\ Genisligi
menutrans Te&xt\ Width\.\.\. &Metin\ Genisligi\.\.\.
menutrans &File\ Format\.\.\. &Dosya\ Biçimi\.\.\.
"
"
"
" Tools menu
menutrans &Jump\ to\ This\ Tag<Tab>g^] S&u\ Etikete\ Atla<Tab>g^]
menutrans Jump\ &Back<Tab>^T &Geri\ Dön<Tab>^T
menutrans Build\ &Tags\ File &Etiket\ Dosyasi\ Olustur
"-------------------
menutrans &Folding &Kivirmalar
menutrans &Spelling &Yazim\ Denetimi
menutrans &Diff &Ayrimlar\ (diff)
"-------------------
menutrans &Make<Tab>:make &Derle<Tab>:make
menutrans &List\ Errors<Tab>:cl &Hatalari\ Listele<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! I&letileri\ Listele<Tab>:cl!
menutrans &Next\ Error<Tab>:cn Bir\ &Sonraki\ Hata<Tab>:cn
menutrans &Previous\ Error<Tab>:cp Bir\ Ö&nceki\ Hata<Tab>:cp
menutrans &Older\ List<Tab>:cold Daha\ &Eski\ Hatalar<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew Daha\ &Yeni\ Hatalar<Tab>:cnew
menutrans Error\ &Window Hatalar\ &Penceresi
menutrans Se&t\ Compiler De&rleyici\ Seç
menutrans Show\ Compiler\ Se&ttings\ in\ Menu Derleyici\ Ayarlarini\ Menüde\ &Göster
"-------------------
menutrans &Convert\ to\ HEX<Tab>:%!xxd HEX'e\ &nüstür<Tab>:%!xxd
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r HEX'&ten\ Dönüstür<Tab>:%!xxd\ -r
">>>---------------- Tools/Spelling
menutrans &Spell\ Check\ On Yazim\ Denetimini\ &
menutrans Spell\ Check\ &Off Yazim\ Denetimini\ &Kapat
menutrans To\ &Next\ Error<Tab>]s Bir\ &Sonraki\ Hata<Tab>]s
menutrans To\ &Previous\ Error<Tab>[s Bir\ Ö&nceki\ Hata<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= &zeltme\ Öner<Tab>z=
menutrans &Repeat\ Correction<Tab>:spellrepall Düzeltmeyi\ &Yinele<Tab>spellrepall
"-------------------
menutrans Set\ Language\ to\ "en" Dili\ "en"\ yap
menutrans Set\ Language\ to\ "en_au" Dili\ "en_au"\ yap
menutrans Set\ Language\ to\ "en_ca" Dili\ "en_ca"\ yap
menutrans Set\ Language\ to\ "en_gb" Dili\ "en_gb"\ yap
menutrans Set\ Language\ to\ "en_nz" Dili\ "en_nz"\ yap
menutrans Set\ Language\ to\ "en_us" Dili\ "en_us"\ yap
menutrans &Find\ More\ Languages &Baska\ Diller\ Bul
let g:menutrans_set_lang_to = 'Dil Yükle'
"
"
" The Spelling popup menu
"
"
let g:menutrans_spell_change_ARG_to = 'Düzeltilecek:\ "%s"\ ->'
let g:menutrans_spell_add_ARG_to_word_list = '"%s"\ sözcügünü\ sözlüge\ ekle'
let g:menutrans_spell_ignore_ARG = '"%s"\ sözcügünü\ yoksay'
">>>---------------- Folds
menutrans &Enable/Disable\ Folds<Tab>zi &Kivirmalari\ Aç/Kapat<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv I&mlecin\ Oldugu\ Satiri\ Görüntüle<Tab>zv
menutrans Vie&w\ Cursor\ Line\ Only<Tab>zMzx Ya&lnizca\ Imlecin\ Oldugu\ Satiri\ Görüntüle<Tab>zMzx
menutrans C&lose\ More\ Folds<Tab>zm &Daha\ Fazla\ Kivirma\ Kapat<Tab>zm
menutrans &Close\ All\ Folds<Tab>zM Bütün\ Ki&virmalari\ Kapat<Tab>zM
menutrans &Open\ All\ Folds<Tab>zR &tün\ Kivirmalari\ <Tab>zR
menutrans O&pen\ More\ Folds<Tab>zr D&aha\ Fazla\ Kivirma\ <Tab>zr
menutrans Fold\ Met&hod Kivi&rma\ Yöntemi
menutrans Create\ &Fold<Tab>zf Kivirma\ &Olustur<Tab>zf
menutrans &Delete\ Fold<Tab>zd Kivirma\ &Sil<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD &m\ Kivirmalari\ Sil<Tab>zD
menutrans Fold\ col&umn\ Width Kivirma\ Sütunu\ &Genisligi
">>>->>>----------- Tools/Folds/Fold Method
menutrans M&anual &El\ Ile
menutrans I&ndent &Girinti
menutrans E&xpression I&fade
menutrans S&yntax &Sözdizim
menutrans Ma&rker I&mleyici
">>>--------------- Tools/Diff
menutrans &Update &Güncelle
menutrans &Get\ Block Blogu\ &Al
menutrans &Put\ Block Blogu\ &Koy
">>>--------------- Tools/Diff/Error window
menutrans &Update<Tab>:cwin &Güncelle<Tab>:cwin
menutrans &Close<Tab>:cclose &Kapat<Tab>:cclose
menutrans &Open<Tab>:copen &<Tab>:copen
"
"
" Syntax menu
"
menutrans &Show\ File\ Types\ in\ Menu Dosya\ Türlerini\ Menüde\ &Göster
menutrans Set\ '&syntax'\ only Yalnizca\ 'syntax'\ &Ayarla
menutrans Set\ '&filetype'\ too 'filetype'\ Için\ &de\ Ayarla
menutrans &Off &Kapat
menutrans &Manual &El\ Ile
menutrans A&utomatic &Otomatik
menutrans On/Off\ for\ &This\ File &Bu\ Dosya\ Için\ Aç/Kapat
menutrans Co&lor\ Test &Renk\ Testi
menutrans &Highlight\ Test &Vurgulama\ Testi
menutrans &Convert\ to\ HTML &HTML'ye\ Dönüstür
"
"
" Buffers menu
"
menutrans &Refresh\ menu &Menüyü\ Güncelle
menutrans Delete &Sil
menutrans &Alternate Ö&teki
menutrans &Next So&nraki
menutrans &Previous Ön&ceki
menutrans [No\ File] [Dosya\ Yok]
"
"
" Window menu
"
menutrans &New<Tab>^Wn Yeni\ &Pencere<Tab>^Wn
menutrans S&plit<Tab>^Ws Pencereyi\ &Böl<Tab>^Ws
menutrans Sp&lit\ To\ #<Tab>^W^^ Pencereyi\ Baskasina\ &l<Tab>^W^^
menutrans Split\ &Vertically<Tab>^Wv Pencereyi\ &Dikey\ Olarak\ Böl<Tab>^Wv
menutrans Split\ File\ E&xplorer Yeni\ Bölü&mde\ Dosya\ Gezginini\
"
menutrans &Close<Tab>^Wc Pen&cereyi\ Kapat<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo Diger\ Pencerele&ri\ Kapat<Tab>^Wo
"
menutrans Move\ &To &Tasi
menutrans Rotate\ &Up<Tab>^WR &Yukari\ Tasi<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr &Asagi\ Tasi<Tab>^Wr
"
menutrans &Equal\ Size<Tab>^W= &Esit\ Boyut<Tab>^W=
menutrans &Max\ Height<Tab>^W_ E&n\ Büyük\ Yükseklik<Tab>^W_
menutrans M&in\ Height<Tab>^W1_ En\ Küçük\ Yüksekl&ik<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| En\ Büyük\ Gen&islik<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| En\ Küçük\ Genis&lik<Tab>^W1\|
">>>----------------- Window/Move To
menutrans &Top<Tab>^WK &Yukari<Tab>^WK
menutrans &Bottom<Tab>^WJ &Asagi<Tab>^WJ
menutrans &Left\ Side<Tab>^WH So&la<Tab>^WH
menutrans &Right\ Side<Tab>^WL &Saga<Tab>^WL
"
"
" The popup menu
"
"
menutrans &Undo &Geri\ Al
menutrans Cu&t &Kes
menutrans &Copy K&opyala
menutrans &Paste &Yapistir
menutrans &Delete &Sil
menutrans Select\ Blockwise &Blok\ Biçiminde\ Seç
menutrans Select\ &Word &zcük\ Seç
menutrans Select\ &Sentence &Tümce\ Seç
menutrans Select\ Pa&ragraph &Paragraf\ Seç
menutrans Select\ &Line S&atir\ Seç
menutrans Select\ &Block Bl&ok\ Seç
menutrans Select\ &All Tümü&\ Seç
"
" The GUI toolbar
"
if has("toolbar")
if exists("*Do_toolbar_tmenu")
delfun Do_toolbar_tmenu
endif
fun Do_toolbar_tmenu()
tmenu ToolBar.Open Dosya
tmenu ToolBar.Save Dosya Kaydet
tmenu ToolBar.SaveAll Tüm Dosyalari Kaydet
tmenu ToolBar.Print Yazdir
tmenu ToolBar.Undo Geri Al
tmenu ToolBar.Redo Yinele
tmenu ToolBar.Cut Kes
tmenu ToolBar.Copy Kopyala
tmenu ToolBar.Paste Yapistir
tmenu ToolBar.Find Bul...
tmenu ToolBar.FindNext Sonrakini Bul
tmenu ToolBar.FindPrev Öncekini Bul
tmenu ToolBar.Replace Bul ve Degistir...
if 0 " disabled; These are in the Windows menu
tmenu ToolBar.New Yeni Pencere
tmenu ToolBar.WinSplit Pencereyi Böl
tmenu ToolBar.WinMax En Büyük Pencere Yüksekligi
tmenu ToolBar.WinMin En Küçük Pencere Yüksekligi
tmenu ToolBar.WinClose Pencereyi Kapat
endif
tmenu ToolBar.LoadSesn Oturum Yükle
tmenu ToolBar.SaveSesn Oturum Kaydet
tmenu ToolBar.RunScript Betik Çalistir
tmenu ToolBar.Make Derle
tmenu ToolBar.Shell Kabuk
tmenu ToolBar.RunCtags Etiket Dosyasi Olustur
tmenu ToolBar.TagJump Etikete Atla
tmenu ToolBar.Help Yardim
tmenu ToolBar.FindHelp Yardim Bul
endfun
endif
"
"
" Dialog texts
"
" Find in help dialog
"
let g:menutrans_help_dialog = "Yardim icin komut veya sozcuk girin:\n\nEkleme Kipi komutlarini aramak icin i_ ekleyin (ornegin i_CTRL-X)\nNormal Kip komutlarini aramak icin _c ekleyin (ornegin c_<Del>)\nSecenekler hakkinda yardim almak icin ' ekleyin (ornegin 'shiftwidth')"
"
"
" Searh path dialog
"
let g:menutrans_path_dialog = "Dosya aramasi için yol belirtin.\nDizin adlari virgüllerle ayrilir."
"
" Tag files dialog
"
let g:menutrans_tags_dialog = "Etiket dosyasi adlari belirtin (virgülle ayirarak).\n"
"
" Text width dialog
"
let g:menutrans_textwidth_dialog = "Biçimlendirme için metin genisligini belirtin.\nBiçimlendirme iptali için 0 girin."
"
" File format dialog
"
let g:menutrans_fileformat_dialog = "Dosya biçimi seçin"
let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\nI&ptal"
"
let menutrans_no_file = "[Dosya Yok]"
let &cpo = s:keepcpo
unlet s:keepcpo
+331
View File
@@ -0,0 +1,331 @@
" Menu Translations: Turkish
" Maintainer: Emir SARI <bitigchi@me.com>
if exists("did_menu_trans")
finish
endif
let did_menu_trans = 1
let s:keepcpo= &cpo
set cpo&vim
scriptencoding utf-8
" Top
menutrans &File &Dosya
menutrans &Edit &zen
menutrans &Tools &Araçlar
menutrans &Syntax &Sözdizim
menutrans &Buffers A&rabellekler
menutrans &Window &Pencere
menutrans &Help &Yardım
" Help menu
menutrans &Overview<Tab><F1> &Genel\ Bakış<Tab><F1>
menutrans &User\ Manual &Kullanım\ Kılavuzu
menutrans &How-To\ Links &Nasıl\ Yapılır?
menutrans &Find\.\.\. &Bul\.\.\.
"--------------------
menutrans &Credits &Teşekkürler
menutrans Co&pying &Dağıtım
menutrans &Sponsor/Register &Sponsorluk/Kayıt
menutrans O&rphans &Yetimler
"--------------------
menutrans &Version Sürüm\ &Bilgisi
menutrans &About &Hakkında
" File menu
menutrans &Open\.\.\.<Tab>:e &\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp &Yeni\ Bölümde\ \.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew S&ekme\ \.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew Yeni\ &Sekme<Tab>:enew
menutrans &Close<Tab>:close Ka&pat<Tab>:close
"--------------------
menutrans &Save<Tab>:w Ka&ydet<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav &Farklı Kaydet\.\.\.<Tab>:sav
"--------------------
menutrans Split\ &Diff\ With\.\.\. Ka&rşılaştır\.\.\.
menutrans Split\ Patched\ &By\.\.\. Ya&malar\ Dahil\ Karşılaştır\.\.\.
"--------------------
menutrans &Print Ya&zdır
menutrans Sa&ve-Exit<Tab>:wqa Kaydet\ &ve Çık<Tab>:wqa
menutrans E&xit<Tab>:qa Çı&k<Tab>:qa
" Edit menu
menutrans &Undo<Tab>u &Geri\ Al<Tab>u
menutrans &Redo<Tab>^R &Yinele<Tab>^R
menutrans Rep&eat<Tab>\. Son\ Komutu\ Y&inele<Tab>\.
"--------------------
menutrans Cu&t<Tab>"+x &Kes<Tab>"+x
menutrans &Copy<Tab>"+y K&opyala<Tab>"+y
menutrans &Paste<Tab>"+gP Ya&pıştır<Tab>"+gP
menutrans Put\ &Before<Tab>[p Ö&nüne Koy<Tab>[p
menutrans Put\ &After<Tab>]p A&rkasına Koy<Tab>]p
menutrans &Delete<Tab>x Si&l<Tab>x
menutrans &Select\ All<Tab>ggVG &münü\ Seç<Tab>ggVG
"--------------------
" Athena GUI only
menutrans &Find<Tab>/ &Bul<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s Bul\ &ve\ Değiştir<Tab>:%s
" End Athena GUI only
menutrans &Find\.\.\.<Tab>/ &Bul\.\.\.<Tab>/
menutrans Find\ and\ Rep&lace\.\.\. Bul\ ve\ &Değiştir\.\.\.
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:%s Bul\ ve\ &Değiştir\.\.\.<Tab>:%s
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:s Bul\ ve\ &Değiştir\.\.\.<Tab>:s
"--------------------
menutrans Settings\ &Window &Ayarlar\ Penceresi
menutrans Startup\ &Settings Başlan&gıç\ Ayarları
menutrans &Global\ Settings Ge&nel\ Ayarlar
menutrans F&ile\ Settings &Dosya\ Ayarları
menutrans C&olor\ Scheme &Renk\ Düzeni
menutrans &Keymap Düğme\ &Eşlem
menutrans Select\ Fo&nt\.\.\. Ya&zıtipi Seç\.\.\.
">>>----------------- Edit/Global settings
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Dizgi\ &Vurgulamasını\ /Kapat<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! BÜYÜK/küçük\ Harf\ &Duyarsız\ Aç/Kapat<Tab>:set\ ic!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! &leşen\ İkilileri\ /Kapat<Tab>:set\ sm!
menutrans &Context\ Lines İ&mleçle\ Oynayan\ Satırlar
menutrans &Virtual\ Edit &Sanal\ Düzenleme
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Ekleme\ &Kipini\ /Kapat<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! &Vi\ Uyumlu\ Kipi\ /Kapat<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. &Arama\ Yolu\.\.\.
menutrans Ta&g\ Files\.\.\. &Etiket\ Dosyaları\.\.\.
"
menutrans Toggle\ &Toolbar &Araç\ Çubuğunu\ /Kapat
menutrans Toggle\ &Bottom\ Scrollbar A&lt\ Kaydırma\ Çubuğunu\ /Kapat
menutrans Toggle\ &Left\ Scrollbar &Sol\ Kaydırma\ Çubuğunu\ /Kapat
menutrans Toggle\ &Right\ Scrollbar S&\ Kaydırma\ Çubuğunu\ /Kapat
">>>->>>------------- Edit/Global settings/Virtual edit
menutrans Never Kapalı
menutrans Block\ Selection Blok\ Seçimi
menutrans Insert\ Mode Ekleme\ Kipi
menutrans Block\ and\ Insert Blok\ Seçiminde\ ve\ Ekleme\ Kipinde
menutrans Always Her\ Zaman\ Açık
">>>----------------- Edit/File settings
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! &Satır\ Numaralandırmayı\ /Kapat<Tab>:set\ nu!
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! &Göreceli\ Satır\ Numaralandırmayı\ /Kapat<Tab>:set\ nru!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! &rünmeyen\ Karakterleri\ /Kapat<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrapping<Tab>:set\ wrap! Sa&tır\ Kaydırmayı\ /Kapat<Tab>:set\ wrap!
menutrans Toggle\ W&rapping\ at\ Word<Tab>:set\ lbr! &zcük\ Kaydırmayı\ /Kapat<Tab>:set\ lbr!
menutrans Toggle\ Tab\ &Expanding-tab<Tab>:set\ et! S&ekmeleri\ Boşluklara\ Dönüştürmeyi\ /Kapat<Tab>:set\ et!
menutrans Toggle\ &Auto\ Indenting<Tab>:set\ ai! &Otomatik\ Girintilemeyi\ /Kapat<Tab>:set\ ai!
menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin! &C\ Tarzı\ Girintilemeyi\ /Kapat<Tab>:set\ cin!
">>>---
menutrans &Shiftwidth &Girinti\ Düzeyi
menutrans Soft\ &Tabstop &Sekme\ Genişliği
menutrans Te&xt\ Width\.\.\. &Metin\ Genişliği\.\.\.
menutrans &File\ Format\.\.\. &Dosya\ Biçimi\.\.\.
"
"
"
" Tools menu
menutrans &Jump\ to\ This\ Tag<Tab>g^] Ş&u\ Etikete\ Atla<Tab>g^]
menutrans Jump\ &Back<Tab>^T &Geri\ Dön<Tab>^T
menutrans Build\ &Tags\ File &Etiket\ Dosyası\ Oluştur
"-------------------
menutrans &Folding &Kıvırmalar
menutrans &Spelling &Yazım\ Denetimi
menutrans &Diff &Ayrımlar\ (diff)
"-------------------
menutrans &Make<Tab>:make &Derle<Tab>:make
menutrans &List\ Errors<Tab>:cl &Hataları\ Listele<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! İ&letileri\ Listele<Tab>:cl!
menutrans &Next\ Error<Tab>:cn Bir\ &Sonraki\ Hata<Tab>:cn
menutrans &Previous\ Error<Tab>:cp Bir\ Ö&nceki\ Hata<Tab>:cp
menutrans &Older\ List<Tab>:cold Daha\ &Eski\ Hatalar<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew Daha\ &Yeni\ Hatalar<Tab>:cnew
menutrans Error\ &Window Hatalar\ &Penceresi
menutrans Se&t\ Compiler De&rleyici\ Seç
menutrans Show\ Compiler\ Se&ttings\ in\ Menu Derleyici\ Ayarlarını\ Menüde\ &Göster
"-------------------
menutrans &Convert\ to\ HEX<Tab>:%!xxd HEX'e\ &nüştür<Tab>:%!xxd
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r HEX'&ten\ Dönüştür<Tab>:%!xxd\ -r
">>>---------------- Tools/Spelling
menutrans &Spell\ Check\ On Yazım\ Denetimini\ &
menutrans Spell\ Check\ &Off Yazım\ Denetimini\ &Kapat
menutrans To\ &Next\ Error<Tab>]s Bir\ &Sonraki\ Hata<Tab>]s
menutrans To\ &Previous\ Error<Tab>[s Bir\ Ö&nceki\ Hata<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= &zeltme\ Öner<Tab>z=
menutrans &Repeat\ Correction<Tab>:spellrepall Düzeltmeyi\ &Yinele<Tab>spellrepall
"-------------------
menutrans Set\ Language\ to\ "en" Dili\ "en"\ yap
menutrans Set\ Language\ to\ "en_au" Dili\ "en_au"\ yap
menutrans Set\ Language\ to\ "en_ca" Dili\ "en_ca"\ yap
menutrans Set\ Language\ to\ "en_gb" Dili\ "en_gb"\ yap
menutrans Set\ Language\ to\ "en_nz" Dili\ "en_nz"\ yap
menutrans Set\ Language\ to\ "en_us" Dili\ "en_us"\ yap
menutrans &Find\ More\ Languages &Başka\ Diller\ Bul
let g:menutrans_set_lang_to = 'Dil Yükle'
"
"
" The Spelling popup menu
"
"
let g:menutrans_spell_change_ARG_to = 'Düzeltilecek:\ "%s"\ ->'
let g:menutrans_spell_add_ARG_to_word_list = '"%s"\ sözcüğünü\ sözlüğe\ ekle'
let g:menutrans_spell_ignore_ARG = '"%s"\ sözcüğünü\ yoksay'
">>>---------------- Folds
menutrans &Enable/Disable\ Folds<Tab>zi &Kıvırmaları\ Aç/Kapat<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv İ&mlecin\ Olduğu\ Satırı\ Görüntüle<Tab>zv
menutrans Vie&w\ Cursor\ Line\ Only<Tab>zMzx Ya&lnızca\ İmlecin\ Olduğu\ Satırı\ Görüntüle<Tab>zMzx
menutrans C&lose\ More\ Folds<Tab>zm &Daha\ Fazla\ Kıvırma\ Kapat<Tab>zm
menutrans &Close\ All\ Folds<Tab>zM Bütün\ Kı&vırmaları\ Kapat<Tab>zM
menutrans &Open\ All\ Folds<Tab>zR &tün\ Kıvırmaları\ <Tab>zR
menutrans O&pen\ More\ Folds<Tab>zr D&aha\ Fazla\ Kıvırma\ <Tab>zr
menutrans Fold\ Met&hod Kıvı&rma\ Yöntemi
menutrans Create\ &Fold<Tab>zf Kıvırma\ &Oluştur<Tab>zf
menutrans &Delete\ Fold<Tab>zd Kıvırma\ &Sil<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD &m\ Kıvırmaları\ Sil<Tab>zD
menutrans Fold\ col&umn\ Width Kıvırma\ Sütunu\ &Genişliği
">>>->>>----------- Tools/Folds/Fold Method
menutrans M&anual &El\ İle
menutrans I&ndent &Girinti
menutrans E&xpression İ&fade
menutrans S&yntax &Sözdizim
menutrans Ma&rker İ&mleyici
">>>--------------- Tools/Diff
menutrans &Update &Güncelle
menutrans &Get\ Block Bloğu\ &Al
menutrans &Put\ Block Bloğu\ &Koy
">>>--------------- Tools/Diff/Error window
menutrans &Update<Tab>:cwin &Güncelle<Tab>:cwin
menutrans &Close<Tab>:cclose &Kapat<Tab>:cclose
menutrans &Open<Tab>:copen &<Tab>:copen
"
"
" Syntax menu
"
menutrans &Show\ File\ Types\ in\ Menu Dosya\ Türlerini\ Menüde\ &Göster
menutrans Set\ '&syntax'\ only Yalnızca\ 'syntax'\ &Ayarla
menutrans Set\ '&filetype'\ too 'filetype'\ İçin\ &de\ Ayarla
menutrans &Off &Kapat
menutrans &Manual &El\ İle
menutrans A&utomatic &Otomatik
menutrans On/Off\ for\ &This\ File &Bu\ Dosya\ İçin\ Aç/Kapat
menutrans Co&lor\ Test &Renk\ Testi
menutrans &Highlight\ Test &Vurgulama\ Testi
menutrans &Convert\ to\ HTML &HTML'ye\ Dönüştür
"
"
" Buffers menu
"
menutrans &Refresh\ menu &Menüyü\ Güncelle
menutrans Delete &Sil
menutrans &Alternate Ö&teki
menutrans &Next So&nraki
menutrans &Previous Ön&ceki
menutrans [No\ File] [Dosya\ Yok]
"
"
" Window menu
"
menutrans &New<Tab>^Wn Yeni\ &Pencere<Tab>^Wn
menutrans S&plit<Tab>^Ws Pencereyi\ &Böl<Tab>^Ws
menutrans Sp&lit\ To\ #<Tab>^W^^ Pencereyi\ Başkasına\ &l<Tab>^W^^
menutrans Split\ &Vertically<Tab>^Wv Pencereyi\ &Dikey\ Olarak\ Böl<Tab>^Wv
menutrans Split\ File\ E&xplorer Yeni\ Bölü&mde\ Dosya\ Gezginini\
"
menutrans &Close<Tab>^Wc Pen&cereyi\ Kapat<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo Diğer\ Pencerele&ri\ Kapat<Tab>^Wo
"
menutrans Move\ &To &Taşı
menutrans Rotate\ &Up<Tab>^WR &Yukarı\ Taşı<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr &Aşağı\ Taşı<Tab>^Wr
"
menutrans &Equal\ Size<Tab>^W= &Eşit\ Boyut<Tab>^W=
menutrans &Max\ Height<Tab>^W_ E&n\ Büyük\ Yükseklik<Tab>^W_
menutrans M&in\ Height<Tab>^W1_ En\ Küçük\ Yüksekl&ik<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| En\ Büyük\ Gen&işlik<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| En\ Küçük\ Geniş&lik<Tab>^W1\|
">>>----------------- Window/Move To
menutrans &Top<Tab>^WK &Yukarı<Tab>^WK
menutrans &Bottom<Tab>^WJ &Aşağı<Tab>^WJ
menutrans &Left\ Side<Tab>^WH So&la<Tab>^WH
menutrans &Right\ Side<Tab>^WL &Sağa<Tab>^WL
"
"
" The popup menu
"
"
menutrans &Undo &Geri\ Al
menutrans Cu&t &Kes
menutrans &Copy K&opyala
menutrans &Paste &Yapıştır
menutrans &Delete &Sil
menutrans Select\ Blockwise &Blok\ Biçiminde\ Seç
menutrans Select\ &Word &zcük\ Seç
menutrans Select\ &Sentence &Tümce\ Seç
menutrans Select\ Pa&ragraph &Paragraf\ Seç
menutrans Select\ &Line S&atır\ Seç
menutrans Select\ &Block Bl&ok\ Seç
menutrans Select\ &All Tümü&\ Seç
"
" The GUI toolbar
"
if has("toolbar")
if exists("*Do_toolbar_tmenu")
delfun Do_toolbar_tmenu
endif
fun Do_toolbar_tmenu()
tmenu ToolBar.Open Dosya
tmenu ToolBar.Save Dosya Kaydet
tmenu ToolBar.SaveAll Tüm Dosyaları Kaydet
tmenu ToolBar.Print Yazdır
tmenu ToolBar.Undo Geri Al
tmenu ToolBar.Redo Yinele
tmenu ToolBar.Cut Kes
tmenu ToolBar.Copy Kopyala
tmenu ToolBar.Paste Yapıştır
tmenu ToolBar.Find Bul...
tmenu ToolBar.FindNext Sonrakini Bul
tmenu ToolBar.FindPrev Öncekini Bul
tmenu ToolBar.Replace Bul ve Değiştir...
if 0 " disabled; These are in the Windows menu
tmenu ToolBar.New Yeni Pencere
tmenu ToolBar.WinSplit Pencereyi Böl
tmenu ToolBar.WinMax En Büyük Pencere Yüksekliği
tmenu ToolBar.WinMin En Küçük Pencere Yüksekliği
tmenu ToolBar.WinClose Pencereyi Kapat
endif
tmenu ToolBar.LoadSesn Oturum Yükle
tmenu ToolBar.SaveSesn Oturum Kaydet
tmenu ToolBar.RunScript Betik Çalıştır
tmenu ToolBar.Make Derle
tmenu ToolBar.Shell Kabuk
tmenu ToolBar.RunCtags Etiket Dosyası Oluştur
tmenu ToolBar.TagJump Etikete Atla
tmenu ToolBar.Help Yardım
tmenu ToolBar.FindHelp Yardım Bul
endfun
endif
"
"
" Dialog texts
"
" Find in help dialog
"
let g:menutrans_help_dialog = "Yardım için komut veya sözcük girin:\n\nEkleme Kipi komutlarını aramak için i_ ekleyin (örneğin i_CTRL-X)\nNormal Kip komutlarını aramak için _c ekleyin (örneğin с_<Del>)\nSeçenekler hakkında yardım almak için ' ekleyin (örneğin 'shiftwidth')"
"
" Searh path dialog
"
let g:menutrans_path_dialog = "Dosya araması için yol belirtin.\nDizin adları virgüllerle ayrılır."
"
" Tag files dialog
"
let g:menutrans_tags_dialog = "Etiket dosyası adları belirtin (virgülle ayırarak).\n"
"
" Text width dialog
"
let g:menutrans_textwidth_dialog = "Biçimlendirme için metin genişliğini belirtin.\nBiçimlendirme iptali için 0 girin."
"
" File format dialog
"
let g:menutrans_fileformat_dialog = "Dosya biçimi seçin"
let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\nİ&ptal"
"
let menutrans_no_file = "[Dosya Yok]"
let &cpo = s:keepcpo
unlet s:keepcpo
+9 -1
View File
@@ -1,6 +1,6 @@
" matchit.vim: (global plugin) Extended "%" matching
" autload script of matchit plugin, see ../plugin/matchit.vim
" Last Change: 2019 Jan 28
" Last Change: 2019 Oct 24
let s:last_mps = ""
let s:last_words = ":"
@@ -211,6 +211,14 @@ function matchit#Match_wrapper(word, forward, mode) range
execute "if " . skip . "| let skip = '0' | endif"
endif
let sp_return = searchpair(ini, mid, fin, flag, skip)
if &selection isnot# 'inclusive' && a:mode == 'v'
" move cursor one pos to the right, because selection is not inclusive
" add virtualedit=onemore, to make it work even when the match ends the " line
if !(col('.') < col('$')-1)
set ve=onemore
endif
norm! l
endif
let final_position = "call cursor(" . line(".") . "," . col(".") . ")"
" Restore cursor position and original screen.
call winrestview(view)
+6 -2
View File
@@ -4,7 +4,7 @@ For instructions on installing this file, type
`:help matchit-install`
inside Vim.
For Vim version 8.1. Last change: 2019 May 05
For Vim version 8.1. Last change: 2019 Oct 24
VIM REFERENCE MANUAL by Benji Fisher et al
@@ -375,6 +375,10 @@ The back reference '\'.d refers to the same thing as '\'.b:match_table[d] in
==============================================================================
5. Known Bugs and Limitations *matchit-bugs*
Repository: https://github.com/chrisbra/matchit/
Bugs can be reported at the repository (alternatively you can send me a mail).
The latest development snapshot can also be downloaded there.
Just because I know about a bug does not mean that it is on my todo list. I
try to respond to reports of bugs that cause real problems. If it does not
cause serious problems, or if there is a work-around, a bug may sit there for
@@ -386,4 +390,4 @@ try to implement this in a future version. (This is not so easy to arrange as
you might think!)
==============================================================================
vim:tw=78:fo=tcq2:ft=help:
vim:tw=78:ts=8:fo=tcq2:ft=help:
+8 -8
View File
@@ -1,13 +1,13 @@
" matchit.vim: (global plugin) Extended "%" matching
" Maintainer: Christian Brabandt
" Version: 1.15
" Last Change: 2019 Jan 28
" Version: 1.16
" Last Change: 2019 Oct 24
" Repository: https://github.com/chrisbra/matchit
" Previous URL:http://www.vim.org/script.php?script_id=39
" Previous Maintainer: Benji Fisher PhD <benji@member.AMS.org>
" Documentation:
" The documentation is in a separate file: ../doc/matchit.txt .
" The documentation is in a separate file: ../doc/matchit.txt
" Credits:
" Vim editor by Bram Moolenaar (Thanks, Bram!)
@@ -48,8 +48,8 @@ set cpo&vim
nnoremap <silent> <Plug>(MatchitNormalForward) :<C-U>call matchit#Match_wrapper('',1,'n')<CR>
nnoremap <silent> <Plug>(MatchitNormalBackward) :<C-U>call matchit#Match_wrapper('',0,'n')<CR>
vnoremap <silent> <Plug>(MatchitVisualForward) :<C-U>call matchit#Match_wrapper('',1,'v')<CR>m'gv``
vnoremap <silent> <Plug>(MatchitVisualBackward) :<C-U>call matchit#Match_wrapper('',0,'v')<CR>m'gv``
xnoremap <silent> <Plug>(MatchitVisualForward) :<C-U>call matchit#Match_wrapper('',1,'v')<CR>m'gv``
xnoremap <silent> <Plug>(MatchitVisualBackward) :<C-U>call matchit#Match_wrapper('',0,'v')<CR>m'gv``
onoremap <silent> <Plug>(MatchitOperationForward) :<C-U>call matchit#Match_wrapper('',1,'o')<CR>
onoremap <silent> <Plug>(MatchitOperationBackward) :<C-U>call matchit#Match_wrapper('',0,'o')<CR>
@@ -63,8 +63,8 @@ omap <silent> g% <Plug>(MatchitOperationBackward)
" Analogues of [{ and ]} using matching patterns:
nnoremap <silent> <Plug>(MatchitNormalMultiBackward) :<C-U>call matchit#MultiMatch("bW", "n")<CR>
nnoremap <silent> <Plug>(MatchitNormalMultiForward) :<C-U>call matchit#MultiMatch("W", "n")<CR>
vnoremap <silent> <Plug>(MatchitVisualMultiBackward) :<C-U>call matchit#MultiMatch("bW", "n")<CR>m'gv``
vnoremap <silent> <Plug>(MatchitVisualMultiForward) :<C-U>call matchit#MultiMatch("W", "n")<CR>m'gv``
xnoremap <silent> <Plug>(MatchitVisualMultiBackward) :<C-U>call matchit#MultiMatch("bW", "n")<CR>m'gv``
xnoremap <silent> <Plug>(MatchitVisualMultiForward) :<C-U>call matchit#MultiMatch("W", "n")<CR>m'gv``
onoremap <silent> <Plug>(MatchitOperationMultiBackward) :<C-U>call matchit#MultiMatch("bW", "o")<CR>
onoremap <silent> <Plug>(MatchitOperationMultiForward) :<C-U>call matchit#MultiMatch("W", "o")<CR>
@@ -76,7 +76,7 @@ omap <silent> [% <Plug>(MatchitOperationMultiBackward)
omap <silent> ]% <Plug>(MatchitOperationMultiForward)
" text object:
vmap <silent> <Plug>(MatchitVisualTextObject) <Plug>(MatchitVisualMultiBackward)o<Plug>(MatchitVisualMultiForward)
xmap <silent> <Plug>(MatchitVisualTextObject) <Plug>(MatchitVisualMultiBackward)o<Plug>(MatchitVisualMultiForward)
xmap a% <Plug>(MatchitVisualTextObject)
" Call this function to turn on debugging information. Every time the main
+8 -3
View File
@@ -65,8 +65,8 @@ command -nargs=* -complete=file -bang Termdebug call s:StartDebug(<bang>0, <f-ar
command -nargs=+ -complete=file -bang TermdebugCommand call s:StartDebugCommand(<bang>0, <f-args>)
" Name of the gdb command, defaults to "gdb".
if !exists('termdebugger')
let termdebugger = 'gdb'
if !exists('g:termdebugger')
let g:termdebugger = 'gdb'
endif
let s:pc_id = 12
@@ -104,9 +104,14 @@ endfunc
func s:StartDebug_internal(dict)
if exists('s:gdbwin')
echoerr 'Terminal debugger already running'
echoerr 'Terminal debugger already running, cannot run two'
return
endif
if !executable(g:termdebugger)
echoerr 'Cannot execute debugger program "' .. g:termdebugger .. '"'
return
endif
let s:ptywin = 0
let s:pid = 0
+90
View File
@@ -0,0 +1,90 @@
" Vim syntax file
"
" Language: Dart
" Maintainer: Eugene 'pr3d4t0r' Ciurana <dart.syntax AT cime.net >
" Source: https://github.com/pr3d4t0r/dart-vim-syntax
" Last Update: 2019 Oct 19
"
" License: Vim is Charityware. dart.vim syntax is Charityware.
" (c) Copyright 2019 by Eugene Ciurana / pr3d4t0r. Licensed
" under the standard VIM LICENSE - Vim command :help uganda.txt
" for details.
"
" Questions, comments: <dart.syntax AT cime.net>
" https://ciurana.eu/pgp, https://keybase.io/pr3d4t0r
"
" vim: set fileencoding=utf-8:
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn keyword dartCommentTodo contained TODO FIXME XXX TBD
syn match dartLineComment "//.*" contains=dartTodo,@Spell
syn match dartCommentSkip "^[ \t]*\*\($\|[ \t]\+\)"
syn region dartComment start="/\*" end="\*/" contains=@Spell,dartTodo
syn keyword dartReserved assert async await class const export extends external final hide import implements interface library mixin on show super sync yield
syn match dartNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
syn keyword dartBoolean false true
syn keyword dartBranch break continue
syn keyword dartConditional if else switch
syn keyword dartException catch finally rethrow throw try
syn keyword dartIdentifier abstract covariant deferred dynamic factory Function operator part static this typedef var
syn keyword dartLabel case default
syn keyword dartNull null
syn keyword dartOperator is new
syn keyword dartRepeat for do in while
syn keyword dartStatement return with
syn keyword dartType bool double enum int String StringBuffer void
syn keyword dartTodo contained TODO FIXME XXX
syn match dartEscape contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)"
syn match dartSpecialError contained "\\."
syn match dartStrInterpol contained "\${[\x, _]*\}"
syn region dartDQString start=+"+ end=+"+ end=+$+ contains=dartEscape,dartStrInterpol,dartSpecialError,@Spell
syn region dartSQString start=+'+ end=+'+ end=+$+ contains=dartEscape,dartStrInterpol,dartSpecialError,@Spell
syn match dartBraces "[{}\[\]]"
syn match dartParens "[()]"
syn sync fromstart
syn sync maxlines=100
hi def link dartBoolean Boolean
hi def link dartBranch Conditional
hi def link dartComment Comment
hi def link dartConditional Conditional
hi def link dartDQString String
hi def link dartEscape SpecialChar
hi def link dartException Exception
hi def link dartIdentifier Identifier
hi def link dartLabel Label
hi def link dartLineComment Comment
hi def link dartNull Keyword
hi def link dartOperator Operator
hi def link dartRepeat Repeat
hi def link dartReserved Keyword
hi def link dartSQString String
hi def link dartSpecialError Error
hi def link dartStatement Statement
hi def link dartStrInterpol Special
hi def link dartTodo Todo
hi def link dartType Type
let b:current_syntax = "dart"
let &cpo = s:cpo_save
unlet s:cpo_save
+7 -6
View File
@@ -1,10 +1,11 @@
" Vim syntax file
" Language: DTD (Document Type Definition for XML)
" Maintainer: Johannes Zellner <johannes@zellner.org>
" Author and previous maintainer:
" Daniel Amyot <damyot@site.uottawa.ca>
" Last Change: Tue, 27 Apr 2004 14:54:59 CEST
" Filenames: *.dtd
" Language: DTD (Document Type Definition for XML)
" Maintainer: Christian Brabandt <cb@256bit.org>
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
" Author: Daniel Amyot <damyot@site.uottawa.ca>
" Last Changed: Sept 24, 2019
" Filenames: *.dtd
"
" REFERENCES:
" http://www.w3.org/TR/html40/
+165
View File
@@ -0,0 +1,165 @@
" Vim syntax file
" Language: Meson
" License: VIM License
" Maintainer: Nirbheek Chauhan <nirbheek.chauhan@gmail.com>
" Last Change: 2019 Oct 18
" Credits: Zvezdan Petkovic <zpetkovic@acm.org>
" Neil Schemenauer <nas@meson.ca>
" Dmitry Vasiliev
"
" This version is copied and edited from python.vim
" It's very basic, and doesn't do many things I'd like it to
" For instance, it should show errors for syntax that is valid in
" Python but not in Meson.
"
" Optional highlighting can be controlled using these variables.
"
" let meson_space_error_highlight = 1
"
" For version 5.x: Clear all syntax items.
" For version 6.x: Quit when a syntax file was already loaded.
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" We need nocompatible mode in order to continue lines with backslashes.
" Original setting will be restored.
let s:cpo_save = &cpo
set cpo&vim
" http://mesonbuild.com/Syntax.html
syn keyword mesonConditional elif else if endif
syn keyword mesonRepeat foreach endforeach
syn keyword mesonOperator and not or
syn match mesonComment "#.*$" contains=mesonTodo,@Spell
syn keyword mesonTodo FIXME NOTE NOTES TODO XXX contained
" Strings can either be single quoted or triple counted across multiple lines,
" but always with a '
syn region mesonString
\ start="\z('\)" end="\z1" skip="\\\\\|\\\z1"
\ contains=mesonEscape,@Spell
syn region mesonString
\ start="\z('''\)" end="\z1" keepend
\ contains=mesonEscape,mesonSpaceError,@Spell
syn match mesonEscape "\\[abfnrtv'\\]" contained
syn match mesonEscape "\\\o\{1,3}" contained
syn match mesonEscape "\\x\x\{2}" contained
syn match mesonEscape "\%(\\u\x\{4}\|\\U\x\{8}\)" contained
" Meson allows case-insensitive Unicode IDs: http://www.unicode.org/charts/
syn match mesonEscape "\\N{\a\+\%(\s\a\+\)*}" contained
syn match mesonEscape "\\$"
" Meson only supports integer numbers
" http://mesonbuild.com/Syntax.html#numbers
syn match mesonNumber "\<\d\+\>"
" booleans
syn keyword mesonConstant false true
" Built-in functions
syn keyword mesonBuiltin
\ add_global_arguments
\ add_global_link_arguments
\ add_languages
\ add_project_arguments
\ add_project_link_arguments
\ add_test_setup
\ alias_target
\ assert
\ benchmark
\ both_libraries
\ build_machine
\ build_target
\ configuration_data
\ configure_file
\ custom_target
\ declare_dependency
\ dependency
\ disabler
\ environment
\ error
\ executable
\ files
\ find_library
\ find_program
\ generator
\ get_option
\ get_variable
\ gettext
\ host_machine
\ import
\ include_directories
\ install_data
\ install_headers
\ install_man
\ install_subdir
\ is_disabler
\ is_variable
\ jar
\ join_paths
\ library
\ meson
\ message
\ option
\ project
\ run_command
\ run_target
\ set_variable
\ shared_library
\ shared_module
\ static_library
\ subdir
\ subdir_done
\ subproject
\ target_machine
\ test
\ vcs_tag
\ warning
if exists("meson_space_error_highlight")
" trailing whitespace
syn match mesonSpaceError display excludenl "\s\+$"
" mixed tabs and spaces
syn match mesonSpaceError display " \+\t"
syn match mesonSpaceError display "\t\+ "
endif
if version >= 508 || !exists("did_meson_syn_inits")
if version <= 508
let did_meson_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
" The default highlight links. Can be overridden later.
HiLink mesonStatement Statement
HiLink mesonConditional Conditional
HiLink mesonRepeat Repeat
HiLink mesonOperator Operator
HiLink mesonComment Comment
HiLink mesonTodo Todo
HiLink mesonString String
HiLink mesonEscape Special
HiLink mesonNumber Number
HiLink mesonBuiltin Function
HiLink mesonConstant Number
if exists("meson_space_error_highlight")
HiLink mesonSpaceError Error
endif
delcommand HiLink
endif
let b:current_syntax = "meson"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim:set sw=2 sts=2 ts=8 noet:
+2 -2
View File
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: BIND configuration file
" Maintainer: Nick Hibma <nick@van-laarhoven.org>
" Last Change: 2007-01-30
" Last Change: 2019 Oct 08
" Filenames: named.conf, rndc.conf
" Location: http://www.van-laarhoven.org/vim/syntax/named.vim
"
@@ -54,7 +54,7 @@ syn match namedIntIdent contained /"\=\k\+"\=/ nextgroup=namedIntSection skipwhi
syn region namedSection contained start=+{+ end=+};+ contains=namedSection,namedIntKeyword
" --- IntSection: section that does not contain other sections
syn region namedIntSection contained start=+{+ end=+}+ contains=namedIntKeyword,namedError
syn region namedIntSection contained start=+{+ end=+}+ contains=namedIntKeyword,namedError,namedComment
" --- IntKeyword: keywords contained within `{ ... }' sections only
" + these keywords are contained within `key' and `acl' sections
+20 -16
View File
@@ -1,11 +1,14 @@
" Vim syntax file
" Language: XML
" Maintainer: Johannes Zellner <johannes@zellner.org>
" Author and previous maintainer:
" Paul Siegmann <pauls@euronet.nl>
" Last Change: 2013 Jun 07
" Language: XML
" Maintainer: Christian Brabandt <cb@256bit.org>
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
" Author: Paul Siegmann <pauls@euronet.nl>
" Last Changed: Sept 24, 2019
" Filenames: *.xml
" $Id: xml.vim,v 1.3 2006/04/11 21:32:00 vimboss Exp $
" Last Change:
" 20190923 - Fix xmlEndTag to match xmlTag (vim/vim#884)
" 20190924 - Fix xmlAttribute property (amadeus/vim-xml@d8ce1c946)
" CONFIGURATION:
" syntax folding can be turned on by
@@ -81,7 +84,7 @@ syn match xmlEqual +=+ display
" ^^^^^^^^^^^^^
"
syn match xmlAttrib
\ +[-'"<]\@1<!\<[a-zA-Z:_][-.0-9a-zA-Z:_]*\>\%(['">]\@!\|$\)+
\ +[-'"<]\@1<!\<[a-zA-Z:_][-.0-9a-zA-Z:_]*\>\%(['"]\@!\|$\)+
\ contained
\ contains=xmlAttribPunct,@xmlAttribHook
\ display
@@ -122,7 +125,7 @@ endif
" ^^^
"
syn match xmlTagName
\ +<\@1<=[^ /!?<>"']\++
\ +\%(<\|</\)\@2<=[^ /!?<>"']\++
\ contained
\ contains=xmlNamespace,xmlAttribPunct,@xmlTagHook
\ display
@@ -157,11 +160,11 @@ if exists('g:xml_syntax_folding')
" </tag>
" ^^^^^^
"
syn match xmlEndTag
\ +</[^ /!?<>"']\+>+
syn region xmlEndTag
\ matchgroup=xmlTag start=+</[^ /!?<>"']\@=+
\ matchgroup=xmlTag end=+>+
\ contained
\ contains=xmlNamespace,xmlAttribPunct,@xmlTagHook
\ contains=xmlTagName,xmlNamespace,xmlAttribPunct,@xmlTagHook
" tag elements with syntax-folding.
" NOTE: NO HIGHLIGHTING -- highlighting is done by contained elements
@@ -181,7 +184,7 @@ if exists('g:xml_syntax_folding')
\ start=+<\z([^ /!?<>"']\+\)+
\ skip=+<!--\_.\{-}-->+
\ end=+</\z1\_\s\{-}>+
\ matchgroup=xmlEndTag end=+/>+
\ end=+/>+
\ fold
\ contains=xmlTag,xmlEndTag,xmlCdata,xmlRegion,xmlComment,xmlEntity,xmlProcessing,@xmlRegionHook,@Spell
\ keepend
@@ -198,9 +201,10 @@ else
\ matchgroup=xmlTag end=+>+
\ contains=xmlError,xmlTagName,xmlAttrib,xmlEqual,xmlString,@xmlStartTagHook
syn match xmlEndTag
\ +</[^ /!?<>"']\+>+
\ contains=xmlNamespace,xmlAttribPunct,@xmlTagHook
syn region xmlEndTag
\ matchgroup=xmlTag start=+</[^ /!?<>"']\@=+
\ matchgroup=xmlTag end=+>+
\ contains=xmlTagName,xmlNamespace,xmlAttribPunct,@xmlTagHook
endif
+7 -4
View File
@@ -2,7 +2,7 @@
" Language: Zsh shell script
" Maintainer: Christian Brabandt <cb@256bit.org>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2018-05-12
" Latest Revision: 2018-07-13
" License: Vim (see :h license)
" Repository: https://github.com/chrisbra/vim-zsh
@@ -112,7 +112,7 @@ syn keyword zshCommands alias autoload bg bindkey break bye cap cd
\ enable eval exec exit export false fc fg
\ functions getcap getln getopts hash history
\ jobs kill let limit log logout popd print
\ printf pushd pushln pwd r read readonly
\ printf pushd pushln pwd r read
\ rehash return sched set setcap shift
\ source stat suspend test times trap true
\ ttyctl type ulimit umask unalias unfunction
@@ -125,7 +125,7 @@ syn keyword zshCommands alias autoload bg bindkey break bye cap cd
" Create a list of option names from zsh source dir:
" #!/bin/zsh
" topdir=/path/to/zsh-xxx
" grep '^pindex([A-Za-z_]*)$' $topdir/Src/Doc/Zsh/optionsyo |
" grep '^pindex([A-Za-z_]*)$' $topdir/Doc/Zsh/options.yo |
" while read opt
" do
" echo ${${(L)opt#pindex\(}%\)}
@@ -136,6 +136,7 @@ syn case ignore
syn match zshOptStart /^\s*\%(\%(\%(un\)\?setopt\)\|set\s+[-+]o\)/ nextgroup=zshOption skipwhite
syn match zshOption /
\ \%(\%(\<no_\?\)\?aliases\>\)\|
\ \%(\%(\<no_\?\)\?aliasfuncdef\>\)\|\%(\%(no_\?\)\?alias_func_def\>\)\|
\ \%(\%(\<no_\?\)\?allexport\>\)\|\%(\%(no_\?\)\?all_export\>\)\|
\ \%(\%(\<no_\?\)\?alwayslastprompt\>\)\|\%(\%(no_\?\)\?always_last_prompt\>\)\|\%(\%(no_\?\)\?always_lastprompt\>\)\|
\ \%(\%(\<no_\?\)\?alwaystoend\>\)\|\%(\%(no_\?\)\?always_to_end\>\)\|
@@ -168,6 +169,7 @@ syn match zshOption /
\ \%(\%(\<no_\?\)\?chasedots\>\)\|\%(\%(no_\?\)\?chase_dots\>\)\|
\ \%(\%(\<no_\?\)\?chaselinks\>\)\|\%(\%(no_\?\)\?chase_links\>\)\|
\ \%(\%(\<no_\?\)\?checkjobs\>\)\|\%(\%(no_\?\)\?check_jobs\>\)\|
\ \%(\%(\<no_\?\)\?checkrunningjobs\>\)\|\%(\%(no_\?\)\?check_running_jobs\>\)\|
\ \%(\%(\<no_\?\)\?clobber\>\)\|
\ \%(\%(\<no_\?\)\?combiningchars\>\)\|\%(\%(no_\?\)\?combining_chars\>\)\|
\ \%(\%(\<no_\?\)\?completealiases\>\)\|\%(\%(no_\?\)\?complete_aliases\>\)\|
@@ -188,7 +190,7 @@ syn match zshOption /
\ \%(\%(\<no_\?\)\?equals\>\)\|
\ \%(\%(\<no_\?\)\?errexit\>\)\|\%(\%(no_\?\)\?err_exit\>\)\|
\ \%(\%(\<no_\?\)\?errreturn\>\)\|\%(\%(no_\?\)\?err_return\>\)\|
\ \%(\%(\<no_\?\)\?evallineno_\?\)\|\%(\%(no_\?\)\?eval_lineno_\?\)\|
\ \%(\%(\<no_\?\)\?evallineno\>\)\|\%(\%(no_\?\)\?eval_lineno\>\)\|
\ \%(\%(\<no_\?\)\?exec\>\)\|
\ \%(\%(\<no_\?\)\?extendedglob\>\)\|\%(\%(no_\?\)\?extended_glob\>\)\|
\ \%(\%(\<no_\?\)\?extendedhistory\>\)\|\%(\%(no_\?\)\?extended_history\>\)\|
@@ -322,6 +324,7 @@ syn match zshOption /
\ \%(\%(\<no_\?\)\?unset\>\)\|
\ \%(\%(\<no_\?\)\?verbose\>\)\|
\ \%(\%(\<no_\?\)\?vi\>\)\|
\ \%(\%(\<no_\?\)\?warnnestedvar\>\)\|\%(\%(no_\?\)\?warn_nested_var\>\)\|
\ \%(\%(\<no_\?\)\?warncreateglobal\>\)\|\%(\%(no_\?\)\?warn_create_global\>\)\|
\ \%(\%(\<no_\?\)\?xtrace\>\)\|
\ \%(\%(\<no_\?\)\?zle\>\)/ nextgroup=zshOption,zshComment skipwhite contained
File diff suppressed because it is too large Load Diff
+31 -31
View File
@@ -26,7 +26,7 @@
^
k 提示︰ h 的鍵位于左邊,每次按下就會向左移動。
< h l > l 的鍵位于右邊,每次按下就會向右移動。
j j 鍵看起來很象一支尖端方向朝下的箭頭。
j j 鍵看起來很象一支尖端方向朝下的箭頭。
v
1. 請隨意在屏幕內移動光標,直至您覺得舒服為止。
@@ -105,7 +105,7 @@
3. 然後按下 i 鍵,接著輸入必要的文本字符。
4. 所有文本都修正完畢,請按下 <ESC> 鍵返回正常模式。
4. 所有文本都修正完畢,請按下 <ESC> 鍵返回正常模式。
重復步驟2至步驟4以便修正句子。
---> There is text misng this .
@@ -128,7 +128,7 @@
<ESC> :q! <回車>
或者輸入以下命令保存所有修改︰
或者輸入以下命令保存所有修改︰
<ESC> :wq <回車>
@@ -138,7 +138,7 @@
i 輸入必要文本 <ESC>
特別提示︰按下 <ESC> 鍵會帶您回到正常模式或者取消一個不期望或者部分完成
特別提示︰按下 <ESC> 鍵會帶您回到正常模式或者取消一個不期望或者部分完成
的命令。
好了,第一講到此結束。下面接下來繼續第二講的內容。
@@ -196,7 +196,7 @@
刪除命令 d 的格式如下︰
[number] d object 或者 d [number] object
[number] d object 或者 d [number] object
其意如下︰
number - 代表執行命令的次數(可選項,缺省設置為 1 )。
@@ -209,7 +209,7 @@
$ - 從當前光標當前位置直到當前行末。
特別提示︰
對于勇于探索者,請在正常模式下面僅按代表相應對象的鍵而不使用命令,則
對于勇于探索者,請在正常模式下面僅按代表相應對象的鍵而不使用命令,則
將看到光標的移動正如上面的對象列表所代表的一樣。
@@ -221,7 +221,7 @@
** 輸入 dd 可以刪除整一個當前行。 **
鑒于整行刪除的高頻度,VIM 的設計者決定要簡化整行刪除,僅需要在同一行上
鑒于整行刪除的高頻度,VIM 的設計者決定要簡化整行刪除,僅需要在同一行上
擊打兩次 d 就可以刪除掉光標所在的整行了。
1. 請將光標移動到本節中下面的短句段落中的第二行。
@@ -249,14 +249,14 @@
2. 輸入 x 刪除第一個不想保留的字母。
3. 然後輸入 u 撤消最後執行的(一次)命令。
4. 這次要使用 x 修正本行的所有錯誤。
5. 現在輸入一個大寫的 U ,恢復到該行的原始狀態。
5. 現在輸入一個大寫的 U ,恢復到該行的原始狀態。
6. 接著多次輸入 u 以撤消 U 以及更前的命令。
7. 然後多次輸入 CTRL-R (先按下 CTRL 鍵不放開,接著輸入 R 鍵) ,這樣就
可以執行恢復命令,也就是撤消掉撤消命令。
可以執行恢復命令,也就是撤消掉撤消命令。
---> Fiix the errors oon thhis line and reeplace them witth undo.
8. 這些都是非常有用的命令。下面是第二講的小結了。
8. 這些都是非常有用的命令。下面是第二講的小結了。
@@ -273,7 +273,7 @@
4. 在正常模式下一個命令的格式是︰
[number] command object 或者 command [number] object
[number] command object 或者 command [number] object
其意是︰
number - 代表的是命令執行的次數
command - 代表要做的事情,比如 d 代表刪除
@@ -282,7 +282,7 @@
5. 欲撤消以前的操作,請輸入︰u (小寫的u)
欲撤消在一行中所做的改動,請輸入︰U (大寫的U)
欲撤消以前的撤消命令,恢復以前的操作結果,請輸入︰CTRL-R
欲撤消以前的撤消命令,恢復以前的操作結果,請輸入︰CTRL-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第三講第一節︰置入類命令
@@ -334,7 +334,7 @@
第三講第三節︰更改類命令
** 要改變一個單字/單詞的部分或者全部,請輸入 cw **
** 要改變一個單字/單詞的部分或者全部,請輸入 cw **
1. 請將光標移動到本節中下面標記有 ---> 的第一行。
@@ -361,7 +361,7 @@
1. 更改類指令的工作方式跟刪除類命令是一致的。操作格式是︰
[number] c object 或者 c [number] object
[number] c object 或者 c [number] object
2. 對象參數也是一樣的,比如 w 代表單字/單詞,$代表行末等等。
@@ -393,7 +393,7 @@
4. 更改類命令的格式是︰
[number] c object 或者 c [number] object
[number] c object 或者 c [number] object
下面我們繼續學習下一講。
@@ -427,7 +427,7 @@
** 輸入 / 以及尾隨的字符串可以用以在當前文件中查找該字符串。**
1. 在正常模式下輸入 / 字符。您此時會注意到該字符和光標都會出現在屏幕底
1. 在正常模式下輸入 / 字符。您此時會注意到該字符和光標都會出現在屏幕底
部,這跟 : 命令是一樣的。
2. 接著輸入 errroor <回車>。那個errroor就是您要查找的字符串。
@@ -500,7 +500,7 @@
2. 輸入 / 然後緊隨一個字符串是則是在當前所編輯的文檔中向後查找該字符串。
輸入問號 ? 然後緊隨一個字符串是則是在當前所編輯的文檔中向前查找該字
符串。完成一次查找之後按 n 鍵則是重復上一次的命令,可在同一方向上查
找下一個字符串所在;或者按 Shift-N 向相反方向查找下該字符串所在。
找下一個字符串所在;或者按 Shift-N 向相反方向查找下該字符串所在。
3. 如果光標當前位置是括號(、)、[、]、{、},按 % 可以將光標移動到配對的
括號上。
@@ -523,12 +523,12 @@
2. 接著輸入感嘆號 ! 這個字符,這樣就允許您執行外部的 shell 命令了。
3. 我們以 ls 命令為例。輸入 !ls <回車> 。該命令就會列舉出您當前目錄的
內容,就如同您在命令行提示符下輸入 ls 命令的結果一樣。如果 !ls 沒起
內容,就如同您在命令行提示符下輸入 ls 命令的結果一樣。如果 !ls 沒起
作用,您可以試試 :!dir 看看。
---> 提示︰ 所有的外部命令都可以以這種方式執行。
---> 提示︰ 所有的外部命令都可以以這種方式執行。
---> 提示︰ 所有的 : 命令都必須以 <回車> 告終。
---> 提示︰ 所有的 : 命令都必須以 <回車> 告終。
@@ -539,7 +539,7 @@
** 要將對文件的改動保存到文件中,請輸入 :w FILENAME **
1. 輸入 :!dir 或者 :!ls 獲知當前目錄的內容。您應當已知道最後還得敲
1. 輸入 :!dir 或者 :!ls 獲知當前目錄的內容。您應當已知道最後還得敲
<回車> 吧。
2. 選擇一個尚未存在文件名,比如 TEST 。
@@ -562,13 +562,13 @@
** 要保存文件的部分內容,請輸入 :#,# w FILENAME **
1. 再來執行一次 :!dir 或者 :!ls 獲知當前目錄的內容,然後選擇一個合適的
1. 再來執行一次 :!dir 或者 :!ls 獲知當前目錄的內容,然後選擇一個合適的
不重名的文件名,比如 TEST 。
2. 接著將光標移動至本頁的最頂端,然後按 CTRL-g 找到該行的行號。別忘了
行號哦。
3. 接著把光標移動至本頁的最底端,再按一次 CTRL-g 。也別忘了這個行哦。
3. 接著把光標移動至本頁的最底端,再按一次 CTRL-g 。也別忘了這個行哦。
4. 為了只保存文章的某個部分,請輸入 :#,# w TEST 。這裡的 #,# 就是上面
要求您記住的行號(頂端行號,底端行號),而 TEST 就是選定的文件名。
@@ -700,7 +700,7 @@ Open up a line above this by typing Shift-O while the cursor is on this line.
第六講第四節︰設置類命令的選項
** 設置可使查找或者替換可忽略大小寫的選項 **
** 設置可使查找或者替換可忽略大小寫的選項 **
1. 要查找單詞 ignore 可在正常模式下輸入 /ignore 。要重復查找該詞,可以
@@ -772,7 +772,7 @@ Open up a line above this by typing Shift-O while the cursor is on this line.
** 啟用vim的功能 **
Vim的功能特性要比vi多得多,但大部分功能都沒有缺省激活。為了啟動更多的
Vim的功能特性要比vi多得多,但大部分功能都沒有缺省激活。為了啟動更多的
功能,您得創建一個vimrc文件。
1. 開始編輯vimrc文件,這取決于您所使用的操作系統︰
@@ -801,15 +801,15 @@ Open up a line above this by typing Shift-O while the cursor is on this line.
為了更進一步的參考和學習,以下這本書值得推薦︰
Vim - Vi Improved - 作者︰Steve Oualline
Vim - Vi Improved - 作者︰Steve Oualline
出版社︰New Riders
這是第一本完全講解vim的書籍。對于初學者特別有用。其中還包含有大量實例
這是第一本完全講解vim的書籍。對于初學者特別有用。其中還包含有大量實例
和圖示。欲知詳情,請訪問 http://iccf-holland.org/click5.html
以下這本書比較老了而且內容主要是vi而不是vim,但是也值得推薦︰
Learning the Vi Editor - 作者︰Linda Lamb
Learning the Vi Editor - 作者︰Linda Lamb
出版社︰O'Reilly & Associates Inc.
這是一本不錯的書,通過它您幾乎能夠了解到全部vi能夠做到的事情。此書的第
@@ -817,7 +817,7 @@ Open up a line above this by typing Shift-O while the cursor is on this line.
本教程是由來自Calorado School of Minese的Michael C. Pierce、Robert K.
Ware 所編寫的,其中來自Colorado State University的Charles Smith提供了
很多創意。編者通信地址是︰
很多創意。編者通信地址是︰
bware@mines.colorado.edu
@@ -825,9 +825,9 @@ Open up a line above this by typing Shift-O while the cursor is on this line.
譯制者附言︰
譯制者附言︰
===========
簡體中文教程翻譯版之譯制者為梁昌泰 <beos@turbolinux.com.cn>,還有
簡體中文教程翻譯版之譯制者為梁昌泰 <beos@turbolinux.com.cn>,還有
另外一個聯系地址︰linuxrat@gnuchina.org。
繁體中文教程是從簡體中文教程翻譯版使用 Debian GNU/Linux 中文項目小
+1 -1
View File
@@ -568,7 +568,7 @@
2. 接著將光標移動至本頁的最頂端,然後按 CTRL-g 找到該行的行號。別忘了
行號哦。
3. 接著把光標移動至本頁的最底端,再按一次 CTRL-g 。也別忘了這個行哦。
3. 接著把光標移動至本頁的最底端,再按一次 CTRL-g 。也別忘了這個行哦。
4. 為了只保存文章的某個部分,請輸入 :#,# w TEST 。這裡的 #,# 就是上面
要求您記住的行號(頂端行號,底端行號),而 TEST 就是選定的文件名。
+1 -1
View File
@@ -568,7 +568,7 @@
2. 接著將光標移動至本頁的最頂端,然後按 CTRL-g 找到該行的行號。別忘了
行號哦。
3. 接著把光標移動至本頁的最底端,再按一次 CTRL-g 。也別忘了這個行哦。
3. 接著把光標移動至本頁的最底端,再按一次 CTRL-g 。也別忘了這個行哦。
4. 為了只保存文章的某個部分,請輸入 :#,# w TEST 。這裡的 #,# 就是上面
要求您記住的行號(頂端行號,底端行號),而 TEST 就是選定的文件名。
+4 -1
View File
@@ -4,16 +4,19 @@
# Translators: This is the Application Name used in the Vim desktop file
Name[de]=Vim
Name[eo]=Vim
Name[tr]=Vim
Name=Vim
# Translators: This is the Generic Application Name used in the Vim desktop file
GenericName[de]=Texteditor
GenericName[eo]=Tekstoredaktilo
GenericName[ja]=
GenericName[tr]=Metin Düzenleyici
GenericName=Text Editor
# Translators: This is the comment used in the Vim desktop file
Comment[de]=Textdateien bearbeiten
Comment[eo]=Redakti tekstajn dosierojn
Comment[ja]=
Comment[tr]=Metin dosyaları düzenle
Comment=Edit text files
# The translations should come from the po file. Leave them here for now, they will
# be overwritten by the po file when generating the desktop.file.
@@ -81,7 +84,6 @@ Comment[sv]=Redigera textfiler
Comment[ta]=
Comment[th]=
Comment[tk]=Metin faýllary editle
Comment[tr]=Metin dosyalarını düzenle
Comment[uk]=Редактор текстових файлів
Comment[vi]=Son tho tp tin văn bn
Comment[wa]=Asspougnî des fitchîs tecses
@@ -95,6 +97,7 @@ Type=Application
Keywords[de]=Text;Editor;
Keywords[eo]=Teksto;redaktilo;
Keywords[ja]=;;
Keywords[tr]=Metin;düzenleyici;
Keywords=Text;editor;
# Translators: This is the Icon file name. Do NOT translate
Icon[de]=gvim
+1 -1
View File
@@ -240,7 +240,7 @@ from CVS mirror ftp://ftp.polarhome.com/pub/cvs/SOURCE/
7.1 General notes
To be able to build external GUI or language support you have to enable
related feature in MAKE_VMS.MMS file. Usually it need some extra tuning
related feature in MAKE_VMS.MMS file. Usually it needs some extra tuning
around include files, shared libraries etc.
Please note, that leading "," are valuable for MMS/MMK syntax.
+4 -2
View File
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14113" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="15400" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<deployment version="1060" identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14113"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="15400"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
@@ -194,6 +194,7 @@
</menu>
</menuItem>
</items>
<point key="canvasLocation" x="139" y="154"/>
</menu>
<customObject id="235" userLabel="MMAppController" customClass="MMAppController"/>
<menu id="337" userLabel="DockMenu">
@@ -205,6 +206,7 @@
</connections>
</menuItem>
</items>
<point key="canvasLocation" x="139" y="67"/>
</menu>
<customObject id="Jqk-qh-n0J" customClass="SUUpdater"/>
</objects>
+1 -1
View File
@@ -1255,7 +1255,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>158</string>
<string>160</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
+2 -2
View File
@@ -2283,7 +2283,7 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
mods &= ~MOD_MASK_SHIFT;
// Interpret the ALT key as making the key META, include SHIFT, etc.
ch = extract_modifiers(ch, &mods);
ch = extract_modifiers(ch, &mods, TRUE, NULL);
if (ch == CSI)
ch = K_CSI;
@@ -3189,7 +3189,7 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
char_u *ptr = NULL;
char_u *cpo_save = p_cpo;
p_cpo = (char_u *)"Bk";
char_u *str = replace_termcodes((char_u *)string, &ptr, FALSE, TRUE, FALSE);
char_u *str = replace_termcodes((char_u *)string, &ptr, REPTERM_DO_LT, NULL);
p_cpo = cpo_save;
if (*ptr != NUL) /* trailing CTRL-V results in nothing */
+33 -1
View File
@@ -1028,6 +1028,38 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
- (void)setCursor
{
static NSCursor *ibeamCursor = nil;
if (!ibeamCursor) {
if (floor(NSAppKitVersionNumber) >= NSAppKitVersionNumber10_14)
{
// macOS 10.14 (Mojave) introduced dark mode, and seems to have
// added a thick white border around the system I-beam cursor,
// which makes it legible across bright and dark background. Just
// use it.
ibeamCursor = [NSCursor IBeamCursor];
}
else
{
// Pre-Mojave versions the I-beam cursors doesn't have the strong
// white background and is hard to read on dark background. Use a
// custom I-beam cursor that has better contrast against dark
// backgrounds.
NSImage *ibeamImage = [NSImage imageNamed:@"ibeam"];
if (ibeamImage) {
NSSize size = [ibeamImage size];
NSPoint hotSpot = { size.width*.5f, size.height*.5f };
ibeamCursor = [[NSCursor alloc]
initWithImage:ibeamImage hotSpot:hotSpot];
}
if (!ibeamCursor) {
ASLogWarn(@"Failed to load custom Ibeam cursor");
ibeamCursor = [NSCursor IBeamCursor];
}
}
}
// This switch should match mshape_names[] in misc2.c.
//
// We don't fill every shape here. Only the ones that make sense and have
@@ -1037,7 +1069,7 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
[[NSCursor arrowCursor] set]; break;
//case 1: // blank
case 2: // beam
[[NSCursor IBeamCursor] set]; break;
[ibeamCursor set]; break;
case 3: // updown
case 4: // udsizing
[[NSCursor resizeUpDownCursor] set]; break;
+3
View File
@@ -48,6 +48,9 @@
#ifndef NSAppKitVersionNumber10_13
# define NSAppKitVersionNumber10_13 1561
#endif
#ifndef NSAppKitVersionNumber10_14
# define NSAppKitVersionNumber10_14 1671
#endif
#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12
// Deprecated constants in 10.12 SDK
@@ -53,6 +53,7 @@
1DCD00D30E50B2B700460166 /* Undo.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00BE0E50B2B700460166 /* Undo.png */; };
1DD04DEC0C529C5E006CDC2B /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 1DD04DEB0C529C5E006CDC2B /* Credits.rtf */; };
1DD0C20C0C60FFB4008CD84A /* gvimrc in Copy Vim Runtime Files */ = {isa = PBXBuildFile; fileRef = 1DD0C20A0C60FF9A008CD84A /* gvimrc */; };
1DD3D51E0D82D4C9006E4320 /* ibeam.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DD3D51D0D82D4C9006E4320 /* ibeam.png */; };
1DD66ECE0C803D3600EBDAB3 /* MMApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DD66ECC0C803D3600EBDAB3 /* MMApplication.m */; };
1DD9F5E50C85D60500E8D5A5 /* SystemColors.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1DD9F5E40C85D60500E8D5A5 /* SystemColors.plist */; };
1DE3F8E70D50F80500052B9E /* Preferences.nib in Resources */ = {isa = PBXBuildFile; fileRef = 1DE3F8E50D50F80500052B9E /* Preferences.nib */; };
@@ -228,6 +229,7 @@
1DCD00BE0E50B2B700460166 /* Undo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Undo.png; path = Toolbar/Undo.png; sourceTree = "<group>"; };
1DD04DEB0C529C5E006CDC2B /* Credits.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = Credits.rtf; sourceTree = "<group>"; };
1DD0C20A0C60FF9A008CD84A /* gvimrc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = gvimrc; sourceTree = "<group>"; };
1DD3D51D0D82D4C9006E4320 /* ibeam.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ibeam.png; sourceTree = "<group>"; };
1DD66ECB0C803D3600EBDAB3 /* MMApplication.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MMApplication.h; sourceTree = "<group>"; };
1DD66ECC0C803D3600EBDAB3 /* MMApplication.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MMApplication.m; sourceTree = "<group>"; };
1DD9F5E40C85D60500E8D5A5 /* SystemColors.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = SystemColors.plist; sourceTree = "<group>"; };
@@ -554,6 +556,7 @@
1D8BEA73104992290069B072 /* FindAndReplace.nib */,
0395A8A90D72D88B00881434 /* General.png */,
1D22374A0E45DF4800E6FFFF /* Advanced.png */,
1DD3D51D0D82D4C9006E4320 /* ibeam.png */,
1D0F11480D58C77800D5DA09 /* Font */,
1DE9726C0C48050600F96A9F /* Toolbar */,
1DD9F5E40C85D60500E8D5A5 /* SystemColors.plist */,
@@ -842,6 +845,7 @@
1DD9F5E50C85D60500E8D5A5 /* SystemColors.plist in Resources */,
1DE3F8E70D50F80500052B9E /* Preferences.nib in Resources */,
0395A8AA0D72D88B00881434 /* General.png in Resources */,
1DD3D51E0D82D4C9006E4320 /* ibeam.png in Resources */,
1D22374B0E45DF4800E6FFFF /* Advanced.png in Resources */,
1DCD00BF0E50B2B700460166 /* Attention.png in Resources */,
1DCD00C00E50B2B700460166 /* Copy.png in Resources */,
+1 -1
View File
@@ -335,7 +335,7 @@ shouldUseBufferedDrawing()
int
getCurrentAppearance(NSAppearance *appearance){
int flag = 0; // for macOS 10.13 or eariler always return 0;
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_14
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_14
if (@available(macOS 10.14, *)) {
NSAppearanceName appearanceName = [appearance bestMatchFromAppearancesWithNames:
@[NSAppearanceNameAqua
@@ -0,0 +1,43 @@
//
// SPUDownloadData.h
// Sparkle
//
// Created by Mayur Pawashe on 8/10/16.
// Copyright © 2016 Sparkle Project. All rights reserved.
//
#if __has_feature(modules)
@import Foundation;
#else
#import <Foundation/Foundation.h>
#endif
#import "SUExport.h"
NS_ASSUME_NONNULL_BEGIN
/*!
* A class for containing downloaded data along with some information about it.
*/
SU_EXPORT @interface SPUDownloadData : NSObject <NSSecureCoding>
- (instancetype)initWithData:(NSData *)data textEncodingName:(NSString * _Nullable)textEncodingName MIMEType:(NSString * _Nullable)MIMEType;
/*!
* The raw data that was downloaded.
*/
@property (nonatomic, readonly) NSData *data;
/*!
* The IANA charset encoding name if available. Eg: "utf-8"
*/
@property (nonatomic, readonly, nullable, copy) NSString *textEncodingName;
/*!
* The MIME type if available. Eg: "text/plain"
*/
@property (nonatomic, readonly, nullable, copy) NSString *MIMEType;
@end
NS_ASSUME_NONNULL_END
@@ -0,0 +1,25 @@
//
// SPUDownloader.h
// Downloader
//
// Created by Mayur Pawashe on 4/1/16.
// Copyright © 2016 Sparkle Project. All rights reserved.
//
#if __has_feature(modules)
@import Foundation;
#else
#import <Foundation/Foundation.h>
#endif
#import "SPUDownloaderProtocol.h"
@protocol SPUDownloaderDelegate;
// This object implements the protocol which we have defined. It provides the actual behavior for the service. It is 'exported' by the service to make it available to the process hosting the service over an NSXPCConnection.
@interface SPUDownloader : NSObject <SPUDownloaderProtocol>
// Due to XPC remote object reasons, this delegate is strongly referenced
// Invoke cleanup when done with this instance
- (instancetype)initWithDelegate:(id <SPUDownloaderDelegate>)delegate;
@end
@@ -0,0 +1,38 @@
//
// SPUDownloaderDelegate.h
// Sparkle
//
// Created by Mayur Pawashe on 4/1/16.
// Copyright © 2016 Sparkle Project. All rights reserved.
//
#if __has_feature(modules)
@import Foundation;
#else
#import <Foundation/Foundation.h>
#endif
NS_ASSUME_NONNULL_BEGIN
@class SPUDownloadData;
@protocol SPUDownloaderDelegate <NSObject>
// This is only invoked for persistent downloads
- (void)downloaderDidSetDestinationName:(NSString *)destinationName temporaryDirectory:(NSString *)temporaryDirectory;
// Under rare cases, this may be called more than once, in which case the current progress should be reset back to 0
// This is only invoked for persistent downloads
- (void)downloaderDidReceiveExpectedContentLength:(int64_t)expectedContentLength;
// This is only invoked for persistent downloads
- (void)downloaderDidReceiveDataOfLength:(uint64_t)length;
// downloadData is nil if this is a persisent download, otherwise it's non-nil if it's a temporary download
- (void)downloaderDidFinishWithTemporaryDownloadData:(SPUDownloadData * _Nullable)downloadData;
- (void)downloaderDidFailWithError:(NSError *)error;
@end
NS_ASSUME_NONNULL_END
@@ -0,0 +1,13 @@
//
// SPUDownloaderDeprecated.h
// Sparkle
//
// Created by Deadpikle on 12/20/17.
// Copyright © 2017 Sparkle Project. All rights reserved.
//
#import "SPUDownloader.h"
@interface SPUDownloaderDeprecated : SPUDownloader <SPUDownloaderProtocol>
@end
@@ -0,0 +1,34 @@
//
// SPUDownloaderProtocol.h
// PersistentDownloader
//
// Created by Mayur Pawashe on 4/1/16.
// Copyright © 2016 Sparkle Project. All rights reserved.
//
#if __has_feature(modules)
@import Foundation;
#else
#import <Foundation/Foundation.h>
#endif
NS_ASSUME_NONNULL_BEGIN
@class SPUURLRequest;
// The protocol that this service will vend as its API. This header file will also need to be visible to the process hosting the service.
@protocol SPUDownloaderProtocol
- (void)startPersistentDownloadWithRequest:(SPUURLRequest *)request bundleIdentifier:(NSString *)bundleIdentifier desiredFilename:(NSString *)desiredFilename;
- (void)startTemporaryDownloadWithRequest:(SPUURLRequest *)request;
- (void)downloadDidFinish;
- (void)cleanup;
- (void)cancel;
@end
NS_ASSUME_NONNULL_END
@@ -0,0 +1,20 @@
//
// SPUDownloaderSession.h
// Sparkle
//
// Created by Deadpikle on 12/20/17.
// Copyright © 2017 Sparkle Project. All rights reserved.
//
#if __has_feature(modules)
@import Foundation;
#else
#import <Foundation/Foundation.h>
#endif
#import "SPUDownloader.h"
#import "SPUDownloaderProtocol.h"
NS_CLASS_AVAILABLE(NSURLSESSION_AVAILABLE, 7_0)
@interface SPUDownloaderSession : SPUDownloader <SPUDownloaderProtocol>
@end
@@ -0,0 +1,35 @@
//
// SPUURLRequest.h
// Sparkle
//
// Created by Mayur Pawashe on 5/19/16.
// Copyright © 2016 Sparkle Project. All rights reserved.
//
#if __has_feature(modules)
@import Foundation;
#else
#import <Foundation/Foundation.h>
#endif
NS_ASSUME_NONNULL_BEGIN
// A class that wraps NSURLRequest and implements NSSecureCoding
// This class exists because NSURLRequest did not support NSSecureCoding in macOS 10.8
// I have not verified if NSURLRequest in 10.9 implements NSSecureCoding or not
@interface SPUURLRequest : NSObject <NSSecureCoding>
// Creates a new URL request
// Only these properties are currently tracked:
// * URL
// * Cache policy
// * Timeout interval
// * HTTP header fields
// * networkServiceType
+ (instancetype)URLRequestWithRequest:(NSURLRequest *)request;
@property (nonatomic, readonly) NSURLRequest *request;
@end
NS_ASSUME_NONNULL_END
@@ -9,18 +9,27 @@
#ifndef SUAPPCAST_H
#define SUAPPCAST_H
#if __has_feature(modules)
@import Foundation;
#else
#import <Foundation/Foundation.h>
#endif
#import "SUExport.h"
NS_ASSUME_NONNULL_BEGIN
@class SUAppcastItem;
SU_EXPORT @interface SUAppcast : NSObject<NSURLDownloadDelegate>
SU_EXPORT @interface SUAppcast : NSObject
@property (copy) NSString *userAgentString;
@property (copy) NSDictionary *httpHeaders;
@property (copy, nullable) NSString *userAgentString;
@property (copy, nullable) NSDictionary<NSString *, NSString *> *httpHeaders;
- (void)fetchAppcastFromURL:(NSURL *)url completionBlock:(void (^)(NSError *))err;
- (void)fetchAppcastFromURL:(NSURL *)url inBackground:(BOOL)bg completionBlock:(void (^)(NSError *_Nullable))err;
- (SUAppcast *)copyWithoutDeltaUpdates;
@property (readonly, copy) NSArray *items;
@property (readonly, copy, nullable) NSArray *items;
@end
NS_ASSUME_NONNULL_END
#endif
@@ -9,22 +9,31 @@
#ifndef SUAPPCASTITEM_H
#define SUAPPCASTITEM_H
#if __has_feature(modules)
@import Foundation;
#else
#import <Foundation/Foundation.h>
#endif
#import "SUExport.h"
@class SUSignatures;
SU_EXPORT @interface SUAppcastItem : NSObject
@property (copy, readonly) NSString *title;
@property (copy, readonly) NSString *dateString;
@property (copy, readonly) NSDate *date;
@property (copy, readonly) NSString *itemDescription;
@property (strong, readonly) NSURL *releaseNotesURL;
@property (copy, readonly) NSString *DSASignature;
@property (strong, readonly) SUSignatures *signatures;
@property (copy, readonly) NSString *minimumSystemVersion;
@property (copy, readonly) NSString *maximumSystemVersion;
@property (strong, readonly) NSURL *fileURL;
@property (nonatomic, readonly) uint64_t contentLength;
@property (copy, readonly) NSString *versionString;
@property (copy, readonly) NSString *osString;
@property (copy, readonly) NSString *displayVersionString;
@property (copy, readonly) NSDictionary *deltaUpdates;
@property (strong, readonly) NSURL *infoURL;
@property (copy, readonly) NSNumber* phasedRolloutInterval;
// Initializes with data from a dictionary provided by the RSS class.
- (instancetype)initWithDictionary:(NSDictionary *)dict;
@@ -32,6 +41,7 @@ SU_EXPORT @interface SUAppcastItem : NSObject
@property (getter=isDeltaUpdate, readonly) BOOL deltaUpdate;
@property (getter=isCriticalUpdate, readonly) BOOL criticalUpdate;
@property (getter=isMacOsUpdate, readonly) BOOL macOsUpdate;
@property (getter=isInformationOnlyUpdate, readonly) BOOL informationOnlyUpdate;
// Returns the dictionary provided in initWithDictionary; this might be useful later for extensions.
@@ -0,0 +1,26 @@
//
// SUCodeSigningVerifier.h
// Sparkle
//
// Created by Andy Matuschak on 7/5/12.
//
//
#ifndef SUCODESIGNINGVERIFIER_H
#define SUCODESIGNINGVERIFIER_H
#if __has_feature(modules)
@import Foundation;
#else
#import <Foundation/Foundation.h>
#endif
#import "SUExport.h"
SU_EXPORT @interface SUCodeSigningVerifier : NSObject
+ (BOOL)codeSignatureAtBundleURL:(NSURL *)oldBundlePath matchesSignatureAtBundleURL:(NSURL *)newBundlePath error:(NSError **)error;
+ (BOOL)codeSignatureIsValidAtBundleURL:(NSURL *)bundlePath error:(NSError **)error;
+ (BOOL)bundleAtURLIsCodeSigned:(NSURL *)bundlePath;
+ (NSDictionary *)codeSignatureInfoAtBundleURL:(NSURL *)bundlePath;
@end
#endif
@@ -9,7 +9,11 @@
#ifndef SUERRORS_H
#define SUERRORS_H
#if __has_feature(modules)
@import Foundation;
#else
#import <Foundation/Foundation.h>
#endif
#import "SUExport.h"
/**
@@ -17,16 +21,20 @@
*/
SU_EXPORT extern NSString *const SUSparkleErrorDomain;
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wc++98-compat"
typedef NS_ENUM(OSStatus, SUError) {
// Appcast phase errors.
SUAppcastParseError = 1000,
SUNoUpdateError = 1001,
SUAppcastError = 1002,
SURunningFromDiskImageError = 1003,
// Downlaod phase errors.
SURunningTranslocated = 1004,
// Download phase errors.
SUTemporaryDirectoryError = 2000,
SUDownloadError = 2001,
// Extraction phase errors.
SUUnarchivingError = 3000,
SUSignatureError = 3001,
@@ -39,9 +47,11 @@ typedef NS_ENUM(OSStatus, SUError) {
SURelaunchError = 4004,
SUInstallationError = 4005,
SUDowngradeError = 4006,
SUInstallationCancelledError = 4007,
// System phase errors
SUSystemPowerOffError = 5000
};
#pragma clang diagnostic pop
#endif
@@ -9,10 +9,16 @@
#ifndef SUSTANDARDVERSIONCOMPARATOR_H
#define SUSTANDARDVERSIONCOMPARATOR_H
#if __has_feature(modules)
@import Foundation;
#else
#import <Foundation/Foundation.h>
#endif
#import "SUExport.h"
#import "SUVersionComparisonProtocol.h"
NS_ASSUME_NONNULL_BEGIN
/*!
Sparkle's default version comparator.
@@ -22,8 +28,15 @@
*/
SU_EXPORT @interface SUStandardVersionComparator : NSObject <SUVersionComparison>
/*!
Initializes a new instance of the standard version comparator.
*/
- (instancetype)init;
/*!
Returns a singleton instance of the comparator.
It is usually preferred to alloc/init new a comparator instead.
*/
+ (SUStandardVersionComparator *)defaultComparator;
@@ -35,4 +48,5 @@ SU_EXPORT @interface SUStandardVersionComparator : NSObject <SUVersionComparison
- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB;
@end
NS_ASSUME_NONNULL_END
#endif
@@ -9,12 +9,16 @@
#ifndef SUUPDATER_H
#define SUUPDATER_H
#import <Foundation/Foundation.h>
#if __has_feature(modules)
@import Cocoa;
#else
#import <Cocoa/Cocoa.h>
#endif
#import "SUExport.h"
#import "SUVersionComparisonProtocol.h"
#import "SUVersionDisplayProtocol.h"
@class SUUpdateDriver, SUAppcastItem, SUHost, SUAppcast;
@class SUAppcastItem, SUAppcast;
@protocol SUUpdaterDelegate;
@@ -28,60 +32,173 @@ SU_EXPORT @interface SUUpdater : NSObject
@property (unsafe_unretained) IBOutlet id<SUUpdaterDelegate> delegate;
/*!
The shared updater for the main bundle.
This is equivalent to passing [NSBundle mainBundle] to SUUpdater::updaterForBundle:
*/
+ (SUUpdater *)sharedUpdater;
/*!
The shared updater for a specified bundle.
If an updater has already been initialized for the provided bundle, that shared instance will be returned.
*/
+ (SUUpdater *)updaterForBundle:(NSBundle *)bundle;
/*!
Designated initializer for SUUpdater.
If an updater has already been initialized for the provided bundle, that shared instance will be returned.
*/
- (instancetype)initForBundle:(NSBundle *)bundle;
@property (readonly, strong) NSBundle *hostBundle;
@property (strong, readonly) NSBundle *sparkleBundle;
@property BOOL automaticallyChecksForUpdates;
@property NSTimeInterval updateCheckInterval;
/*!
* The URL of the appcast used to download update information.
*
* This property must be called on the main thread.
*/
@property (copy) NSURL *feedURL;
Explicitly checks for updates and displays a progress dialog while doing so.
@property (nonatomic, copy) NSString *userAgentString;
This method is meant for a main menu item.
Connect any menu item to this action in Interface Builder,
and Sparkle will check for updates and report back its findings verbosely
when it is invoked.
@property (copy) NSDictionary *httpHeaders;
@property BOOL sendsSystemProfile;
@property BOOL automaticallyDownloadsUpdates;
/*!
Explicitly checks for updates and displays a progress dialog while doing so.
This method is meant for a main menu item.
Connect any menu item to this action in Interface Builder,
and Sparkle will check for updates and report back its findings verbosely
when it is invoked.
This will find updates that the user has opted into skipping.
*/
- (IBAction)checkForUpdates:(id)sender;
/*!
Checks for updates, but does not display any UI unless an update is found.
The menu item validation used for the -checkForUpdates: action
*/
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem;
This is meant for programmatically initating a check for updates. That is,
it will display no UI unless it actually finds an update, in which case it
proceeds as usual.
/*!
Checks for updates, but does not display any UI unless an update is found.
If the fully automated updating is turned on, however, this will invoke that
behavior, and if an update is found, it will be downloaded and prepped for
installation.
This is meant for programmatically initating a check for updates. That is,
it will display no UI unless it actually finds an update, in which case it
proceeds as usual.
If automatic downloading of updates it turned on and allowed, however,
this will invoke that behavior, and if an update is found, it will be downloaded
in the background silently and will be prepped for installation.
This will not find updates that the user has opted into skipping.
*/
- (void)checkForUpdatesInBackground;
/*!
Checks for updates and, if available, immediately downloads and installs them.
A property indicating whether or not to check for updates automatically.
Setting this property will persist in the host bundle's user defaults.
The update schedule cycle will be reset in a short delay after the property's new value is set.
This is to allow reverting this property without kicking off a schedule change immediately
*/
@property BOOL automaticallyChecksForUpdates;
/*!
A property indicating whether or not updates can be automatically downloaded in the background.
Note that automatic downloading of updates can be disallowed by the developer
or by the user's system if silent updates cannot be done (eg: if they require authentication).
In this case, -automaticallyDownloadsUpdates will return NO regardless of how this property is set.
Setting this property will persist in the host bundle's user defaults.
*/
@property BOOL automaticallyDownloadsUpdates;
/*!
A property indicating the current automatic update check interval.
Setting this property will persist in the host bundle's user defaults.
The update schedule cycle will be reset in a short delay after the property's new value is set.
This is to allow reverting this property without kicking off a schedule change immediately
*/
@property NSTimeInterval updateCheckInterval;
/*!
Begins a "probing" check for updates which will not actually offer to
update to that version.
However, the delegate methods
SUUpdaterDelegate::updater:didFindValidUpdate: and
SUUpdaterDelegate::updaterDidNotFindUpdate: will be called,
so you can use that information in your UI.
Updates that have been skipped by the user will not be found.
*/
- (void)checkForUpdateInformation;
/*!
The URL of the appcast used to download update information.
Setting this property will persist in the host bundle's user defaults.
If you don't want persistence, you may want to consider instead implementing
SUUpdaterDelegate::feedURLStringForUpdater: or SUUpdaterDelegate::feedParametersForUpdater:sendingSystemProfile:
This property must be called on the main thread.
*/
@property (copy) NSURL *feedURL;
/*!
The host bundle that is being updated.
*/
@property (readonly, strong) NSBundle *hostBundle;
/*!
The bundle this class (SUUpdater) is loaded into.
*/
@property (strong, readonly) NSBundle *sparkleBundle;
/*!
The user agent used when checking for updates.
The default implementation can be overrided.
*/
@property (nonatomic, copy) NSString *userAgentString;
/*!
The HTTP headers used when checking for updates.
The keys of this dictionary are HTTP header fields (NSString) and values are corresponding values (NSString)
*/
@property (copy) NSDictionary<NSString *, NSString *> *httpHeaders;
/*!
A property indicating whether or not the user's system profile information is sent when checking for updates.
Setting this property will persist in the host bundle's user defaults.
*/
@property BOOL sendsSystemProfile;
/*!
A property indicating the decryption password used for extracting updates shipped as Apple Disk Images (dmg)
*/
@property (nonatomic, copy) NSString *decryptionPassword;
/*!
This function ignores normal update schedule, ignores user preferences,
and interrupts users with an unwanted immediate app update.
WARNING: this function should not be used in regular apps. This function
is a user-unfriendly hack only for very special cases, like unstable
rapidly-changing beta builds that would not run correctly if they were
even one day out of date.
Instead of this function you should set `SUAutomaticallyUpdate` to `YES`,
which will gracefully install updates when the app quits.
For UI-less/daemon apps that aren't usually quit, instead of this function,
you can use the delegate method
SUUpdaterDelegate::updater:willInstallUpdateOnQuit:immediateInstallationInvocation:
or
SUUpdaterDelegate::updater:willInstallUpdateOnQuit:immediateInstallationBlock:
to immediately start installation when an update was found.
A progress dialog is shown but the user will never be prompted to read the
release notes.
This function will cause update to be downloaded twice if automatic updates are
enabled.
You may want to respond to the userDidCancelDownload delegate method in case
the user clicks the "Cancel" button while the update is downloading.
*/
@@ -94,17 +211,6 @@ SU_EXPORT @interface SUUpdater : NSObject
*/
@property (readonly, copy) NSDate *lastUpdateCheckDate;
/*!
Begins a "probing" check for updates which will not actually offer to
update to that version.
However, the delegate methods
SUUpdaterDelegate::updater:didFindValidUpdate: and
SUUpdaterDelegate::updaterDidNotFindUpdate: will be called,
so you can use that information in your UI.
*/
- (void)checkForUpdateInformation;
/*!
Appropriately schedules or cancels the update checking timer according to
the preferences for time interval and automatic checks.
@@ -114,251 +220,14 @@ SU_EXPORT @interface SUUpdater : NSObject
*/
- (void)resetUpdateCycle;
/*!
A property indicating whether or not an update is in progress.
Note this property is not indicative of whether or not user initiated updates can be performed.
Use SUUpdater::validateMenuItem: for that instead.
*/
@property (readonly) BOOL updateInProgress;
@end
// -----------------------------------------------------------------------------
// SUUpdater Notifications for events that might be interesting to more than just the delegate
// The updater will be the notification object
// -----------------------------------------------------------------------------
SU_EXPORT extern NSString *const SUUpdaterDidFinishLoadingAppCastNotification;
SU_EXPORT extern NSString *const SUUpdaterDidFindValidUpdateNotification;
SU_EXPORT extern NSString *const SUUpdaterDidNotFindUpdateNotification;
SU_EXPORT extern NSString *const SUUpdaterWillRestartNotification;
#define SUUpdaterWillRelaunchApplicationNotification SUUpdaterWillRestartNotification;
#define SUUpdaterWillInstallUpdateNotification SUUpdaterWillRestartNotification;
// Key for the SUAppcastItem object in the SUUpdaterDidFindValidUpdateNotification userInfo
SU_EXPORT extern NSString *const SUUpdaterAppcastItemNotificationKey;
// Key for the SUAppcast object in the SUUpdaterDidFinishLoadingAppCastNotification userInfo
SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey;
// -----------------------------------------------------------------------------
// SUUpdater Delegate:
// -----------------------------------------------------------------------------
/*!
Provides methods to control the behavior of an SUUpdater object.
*/
@protocol SUUpdaterDelegate <NSObject>
@optional
/*!
Returns whether to allow Sparkle to pop up.
For example, this may be used to prevent Sparkle from interrupting a setup assistant.
\param updater The SUUpdater instance.
*/
- (BOOL)updaterMayCheckForUpdates:(SUUpdater *)updater;
/*!
Returns additional parameters to append to the appcast URL's query string.
This is potentially based on whether or not Sparkle will also be sending along the system profile.
\param updater The SUUpdater instance.
\param sendingProfile Whether the system profile will also be sent.
\return An array of dictionaries with keys: "key", "value", "displayKey", "displayValue", the latter two being specifically for display to the user.
*/
- (NSArray *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile;
/*!
Returns a custom appcast URL.
Override this to dynamically specify the entire URL.
\param updater The SUUpdater instance.
*/
- (NSString *)feedURLStringForUpdater:(SUUpdater *)updater;
/*!
Returns whether Sparkle should prompt the user about automatic update checks.
Use this to override the default behavior.
\param updater The SUUpdater instance.
*/
- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SUUpdater *)updater;
/*!
Called after Sparkle has downloaded the appcast from the remote server.
Implement this if you want to do some special handling with the appcast once it finishes loading.
\param updater The SUUpdater instance.
\param appcast The appcast that was downloaded from the remote server.
*/
- (void)updater:(SUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast;
/*!
Returns the item in the appcast corresponding to the update that should be installed.
If you're using special logic or extensions in your appcast,
implement this to use your own logic for finding a valid update, if any,
in the given appcast.
\param appcast The appcast that was downloaded from the remote server.
\param updater The SUUpdater instance.
*/
- (SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SUUpdater *)updater;
/*!
Called when a valid update is found by the update driver.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that is proposed to be installed.
*/
- (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)item;
/*!
Called when a valid update is not found.
\param updater The SUUpdater instance.
*/
- (void)updaterDidNotFindUpdate:(SUUpdater *)updater;
/*!
Called immediately before downloading the specified update.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that is proposed to be downloaded.
\param request The mutable URL request that will be used to download the update.
*/
- (void)updater:(SUUpdater *)updater willDownloadUpdate:(SUAppcastItem *)item withRequest:(NSMutableURLRequest *)request;
/*!
Called after the specified update failed to download.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that failed to download.
\param error The error generated by the failed download.
*/
- (void)updater:(SUUpdater *)updater failedToDownloadUpdate:(SUAppcastItem *)item error:(NSError *)error;
/*!
Called when the user clicks the cancel button while and update is being downloaded.
\param updater The SUUpdater instance.
*/
- (void)userDidCancelDownload:(SUUpdater *)updater;
/*!
Called immediately before installing the specified update.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that is proposed to be installed.
*/
- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)item;
/*!
Returns whether the relaunch should be delayed in order to perform other tasks.
This is not called if the user didn't relaunch on the previous update,
in that case it will immediately restart.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that is proposed to be installed.
\param invocation The invocation that must be completed before continuing with the relaunch.
\return \c YES to delay the relaunch until \p invocation is invoked.
*/
- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)item untilInvoking:(NSInvocation *)invocation;
/*!
Returns whether the application should be relaunched at all.
Some apps \b cannot be relaunched under certain circumstances.
This method can be used to explicitly prevent a relaunch.
\param updater The SUUpdater instance.
*/
- (BOOL)updaterShouldRelaunchApplication:(SUUpdater *)updater;
/*!
Called immediately before relaunching.
\param updater The SUUpdater instance.
*/
- (void)updaterWillRelaunchApplication:(SUUpdater *)updater;
/*!
Returns an object that compares version numbers to determine their arithmetic relation to each other.
This method allows you to provide a custom version comparator.
If you don't implement this method or return \c nil,
the standard version comparator will be used.
\sa SUStandardVersionComparator
\param updater The SUUpdater instance.
*/
- (id<SUVersionComparison>)versionComparatorForUpdater:(SUUpdater *)updater;
/*!
Returns an object that formats version numbers for display to the user.
If you don't implement this method or return \c nil,
the standard version formatter will be used.
\sa SUUpdateAlert
\param updater The SUUpdater instance.
*/
- (id<SUVersionDisplay>)versionDisplayerForUpdater:(SUUpdater *)updater;
/*!
Returns the path which is used to relaunch the client after the update is installed.
The default is the path of the host bundle.
\param updater The SUUpdater instance.
*/
- (NSString *)pathToRelaunchForUpdater:(SUUpdater *)updater;
/*!
Called before an updater shows a modal alert window,
to give the host the opportunity to hide attached windows that may get in the way.
\param updater The SUUpdater instance.
*/
- (void)updaterWillShowModalAlert:(SUUpdater *)updater;
/*!
Called after an updater shows a modal alert window,
to give the host the opportunity to hide attached windows that may get in the way.
\param updater The SUUpdater instance.
*/
- (void)updaterDidShowModalAlert:(SUUpdater *)updater;
/*!
Called when an update is scheduled to be silently installed on quit.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that is proposed to be installed.
\param invocation Can be used to trigger an immediate silent install and relaunch.
*/
- (void)updater:(SUUpdater *)updater willInstallUpdateOnQuit:(SUAppcastItem *)item immediateInstallationInvocation:(NSInvocation *)invocation;
/*!
Calls after an update that was scheduled to be silently installed on quit has been canceled.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that was proposed to be installed.
*/
- (void)updater:(SUUpdater *)updater didCancelInstallUpdateOnQuit:(SUAppcastItem *)item;
/*!
Called after an update is aborted due to an error.
\param updater The SUUpdater instance.
\param error The error that caused the abort
*/
- (void)updater:(SUUpdater *)updater didAbortWithError:(NSError *)error;
@end
#endif
@@ -0,0 +1,352 @@
//
// SUUpdaterDelegate.h
// Sparkle
//
// Created by Mayur Pawashe on 12/25/16.
// Copyright © 2016 Sparkle Project. All rights reserved.
//
#if __has_feature(modules)
@import Foundation;
#else
#import <Foundation/Foundation.h>
#endif
#import "SUExport.h"
@protocol SUVersionComparison, SUVersionDisplay;
@class SUUpdater, SUAppcast, SUAppcastItem;
NS_ASSUME_NONNULL_BEGIN
// -----------------------------------------------------------------------------
// SUUpdater Notifications for events that might be interesting to more than just the delegate
// The updater will be the notification object
// -----------------------------------------------------------------------------
SU_EXPORT extern NSString *const SUUpdaterDidFinishLoadingAppCastNotification;
SU_EXPORT extern NSString *const SUUpdaterDidFindValidUpdateNotification;
SU_EXPORT extern NSString *const SUUpdaterDidNotFindUpdateNotification;
SU_EXPORT extern NSString *const SUUpdaterWillRestartNotification;
#define SUUpdaterWillRelaunchApplicationNotification SUUpdaterWillRestartNotification;
#define SUUpdaterWillInstallUpdateNotification SUUpdaterWillRestartNotification;
// Key for the SUAppcastItem object in the SUUpdaterDidFindValidUpdateNotification userInfo
SU_EXPORT extern NSString *const SUUpdaterAppcastItemNotificationKey;
// Key for the SUAppcast object in the SUUpdaterDidFinishLoadingAppCastNotification userInfo
SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey;
// -----------------------------------------------------------------------------
// SUUpdater Delegate:
// -----------------------------------------------------------------------------
/*!
Provides methods to control the behavior of an SUUpdater object.
*/
@protocol SUUpdaterDelegate <NSObject>
@optional
/*!
Returns whether to allow Sparkle to pop up.
For example, this may be used to prevent Sparkle from interrupting a setup assistant.
\param updater The SUUpdater instance.
*/
- (BOOL)updaterMayCheckForUpdates:(SUUpdater *)updater;
/*!
Returns additional parameters to append to the appcast URL's query string.
This is potentially based on whether or not Sparkle will also be sending along the system profile.
\param updater The SUUpdater instance.
\param sendingProfile Whether the system profile will also be sent.
\return An array of dictionaries with keys: "key", "value", "displayKey", "displayValue", the latter two being specifically for display to the user.
*/
- (NSArray<NSDictionary<NSString *, NSString *> *> *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile;
/*!
Returns a custom appcast URL.
Override this to dynamically specify the entire URL.
An alternative may be to use SUUpdaterDelegate::feedParametersForUpdater:sendingSystemProfile:
and let the server handle what kind of feed to provide.
\param updater The SUUpdater instance.
*/
- (nullable NSString *)feedURLStringForUpdater:(SUUpdater *)updater;
/*!
Returns whether Sparkle should prompt the user about automatic update checks.
Use this to override the default behavior.
\param updater The SUUpdater instance.
*/
- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SUUpdater *)updater;
/*!
Called after Sparkle has downloaded the appcast from the remote server.
Implement this if you want to do some special handling with the appcast once it finishes loading.
\param updater The SUUpdater instance.
\param appcast The appcast that was downloaded from the remote server.
*/
- (void)updater:(SUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast;
/*!
Returns the item in the appcast corresponding to the update that should be installed.
If you're using special logic or extensions in your appcast,
implement this to use your own logic for finding a valid update, if any,
in the given appcast.
\param appcast The appcast that was downloaded from the remote server.
\param updater The SUUpdater instance.
*/
- (nullable SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SUUpdater *)updater;
/*!
Called when a valid update is found by the update driver.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that is proposed to be installed.
*/
- (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)item;
/*!
Called just before the scheduled update driver prompts the user to install an update.
\param updater The SUUpdater instance.
\return YES to allow the update prompt to be shown (the default behavior), or NO to suppress it.
*/
- (BOOL)updaterShouldShowUpdateAlertForScheduledUpdate:(SUUpdater *)updater forItem:(SUAppcastItem *)item;
/*!
Called after the user dismisses the update alert.
\param updater The SUUpdater instance.
\param permanently YES if the alert will not appear again for this update; NO if it may reappear.
*/
- (void)updater:(SUUpdater *)updater didDismissUpdateAlertPermanently:(BOOL)permanently forItem:(SUAppcastItem *)item;
/*!
Called when a valid update is not found.
\param updater The SUUpdater instance.
*/
- (void)updaterDidNotFindUpdate:(SUUpdater *)updater;
/*!
Called when the user clicks the Skip This Version button.
\param updater The SUUpdater instance.
*/
- (void)updater:(SUUpdater *)updater userDidSkipThisVersion:(SUAppcastItem *)item;
/*!
Called immediately before downloading the specified update.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that is proposed to be downloaded.
\param request The mutable URL request that will be used to download the update.
*/
- (void)updater:(SUUpdater *)updater willDownloadUpdate:(SUAppcastItem *)item withRequest:(NSMutableURLRequest *)request;
/*!
Called immediately after succesfull download of the specified update.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that has been downloaded.
*/
- (void)updater:(SUUpdater *)updater didDownloadUpdate:(SUAppcastItem *)item;
/*!
Called after the specified update failed to download.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that failed to download.
\param error The error generated by the failed download.
*/
- (void)updater:(SUUpdater *)updater failedToDownloadUpdate:(SUAppcastItem *)item error:(NSError *)error;
/*!
Called when the user clicks the cancel button while and update is being downloaded.
\param updater The SUUpdater instance.
*/
- (void)userDidCancelDownload:(SUUpdater *)updater;
/*!
Called immediately before extracting the specified downloaded update.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that is proposed to be extracted.
*/
- (void)updater:(SUUpdater *)updater willExtractUpdate:(SUAppcastItem *)item;
/*!
Called immediately after extracting the specified downloaded update.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that has been extracted.
*/
- (void)updater:(SUUpdater *)updater didExtractUpdate:(SUAppcastItem *)item;
/*!
Called immediately before installing the specified update.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that is proposed to be installed.
*/
- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)item;
/*!
Returns whether the relaunch should be delayed in order to perform other tasks.
This is not called if the user didn't relaunch on the previous update,
in that case it will immediately restart.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that is proposed to be installed.
\param invocation The invocation that must be completed with `[invocation invoke]` before continuing with the relaunch.
\return \c YES to delay the relaunch until \p invocation is invoked.
*/
- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)item untilInvoking:(NSInvocation *)invocation;
/*!
Returns whether the relaunch should be delayed in order to perform other tasks.
This is not called if the user didn't relaunch on the previous update,
in that case it will immediately restart.
This method acts as a simpler alternative to SUUpdaterDelegate::updater:shouldPostponeRelaunchForUpdate:untilInvoking: avoiding usage of NSInvocation, which is not available in Swift environments.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that is proposed to be installed.
\return \c YES to delay the relaunch.
*/
- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)item;
/*!
Returns whether the application should be relaunched at all.
Some apps \b cannot be relaunched under certain circumstances.
This method can be used to explicitly prevent a relaunch.
\param updater The SUUpdater instance.
*/
- (BOOL)updaterShouldRelaunchApplication:(SUUpdater *)updater;
/*!
Called immediately before relaunching.
\param updater The SUUpdater instance.
*/
- (void)updaterWillRelaunchApplication:(SUUpdater *)updater;
/*!
Called immediately after relaunching. SUUpdater delegate must be set before applicationDidFinishLaunching: to catch this event.
\param updater The SUUpdater instance.
*/
- (void)updaterDidRelaunchApplication:(SUUpdater *)updater;
/*!
Returns an object that compares version numbers to determine their arithmetic relation to each other.
This method allows you to provide a custom version comparator.
If you don't implement this method or return \c nil,
the standard version comparator will be used.
\sa SUStandardVersionComparator
\param updater The SUUpdater instance.
*/
- (nullable id<SUVersionComparison>)versionComparatorForUpdater:(SUUpdater *)updater;
/*!
Returns an object that formats version numbers for display to the user.
If you don't implement this method or return \c nil,
the standard version formatter will be used.
\sa SUUpdateAlert
\param updater The SUUpdater instance.
*/
- (nullable id<SUVersionDisplay>)versionDisplayerForUpdater:(SUUpdater *)updater;
/*!
Returns the path which is used to relaunch the client after the update is installed.
The default is the path of the host bundle.
\param updater The SUUpdater instance.
*/
- (nullable NSString *)pathToRelaunchForUpdater:(SUUpdater *)updater;
/*!
Called before an updater shows a modal alert window,
to give the host the opportunity to hide attached windows that may get in the way.
\param updater The SUUpdater instance.
*/
- (void)updaterWillShowModalAlert:(SUUpdater *)updater;
/*!
Called after an updater shows a modal alert window,
to give the host the opportunity to hide attached windows that may get in the way.
\param updater The SUUpdater instance.
*/
- (void)updaterDidShowModalAlert:(SUUpdater *)updater;
/*!
Called when an update is scheduled to be silently installed on quit.
This is after an update has been automatically downloaded in the background.
(i.e. SUUpdater::automaticallyDownloadsUpdates is YES)
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that is proposed to be installed.
\param invocation Can be used to trigger an immediate silent install and relaunch.
*/
- (void)updater:(SUUpdater *)updater willInstallUpdateOnQuit:(SUAppcastItem *)item immediateInstallationInvocation:(NSInvocation *)invocation;
/*!
Called when an update is scheduled to be silently installed on quit.
This is after an update has been automatically downloaded in the background.
(i.e. SUUpdater::automaticallyDownloadsUpdates is YES)
This method acts as a more modern alternative to SUUpdaterDelegate::updater:willInstallUpdateOnQuit:immediateInstallationInvocation: using a block instead of NSInvocation, which is not available in Swift environments.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that is proposed to be installed.
\param installationBlock Can be used to trigger an immediate silent install and relaunch.
*/
- (void)updater:(SUUpdater *)updater willInstallUpdateOnQuit:(SUAppcastItem *)item immediateInstallationBlock:(void (^)(void))installationBlock;
/*!
Calls after an update that was scheduled to be silently installed on quit has been canceled.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that was proposed to be installed.
*/
- (void)updater:(SUUpdater *)updater didCancelInstallUpdateOnQuit:(SUAppcastItem *)item;
/*!
Called after an update is aborted due to an error.
\param updater The SUUpdater instance.
\param error The error that caused the abort
*/
- (void)updater:(SUUpdater *)updater didAbortWithError:(NSError *)error;
@end
NS_ASSUME_NONNULL_END
@@ -9,9 +9,15 @@
#ifndef SUVERSIONCOMPARISONPROTOCOL_H
#define SUVERSIONCOMPARISONPROTOCOL_H
#import <Cocoa/Cocoa.h>
#if __has_feature(modules)
@import Foundation;
#else
#import <Foundation/Foundation.h>
#endif
#import "SUExport.h"
NS_ASSUME_NONNULL_BEGIN
/*!
Provides version comparison facilities for Sparkle.
*/
@@ -27,4 +33,5 @@
@end
NS_ASSUME_NONNULL_END
#endif
@@ -6,7 +6,11 @@
// Copyright 2009 Elgato Systems GmbH. All rights reserved.
//
#import <Cocoa/Cocoa.h>
#if __has_feature(modules)
@import Foundation;
#else
#import <Foundation/Foundation.h>
#endif
#import "SUExport.h"
/*!
@@ -20,6 +24,6 @@
Both versions are provided so that important distinguishing information
can be displayed while also leaving out unnecessary/confusing parts.
*/
- (void)formatVersion:(NSString **)inOutVersionA andVersion:(NSString **)inOutVersionB;
- (void)formatVersion:(NSString *_Nonnull*_Nonnull)inOutVersionA andVersion:(NSString *_Nonnull*_Nonnull)inOutVersionB;
@end
@@ -9,8 +9,6 @@
#ifndef SPARKLE_H
#define SPARKLE_H
#import <Cocoa/Cocoa.h>
// This list should include the shared headers. It doesn't matter if some of them aren't shared (unless
// there are name-space collisions) so we can list all of them to start with:
@@ -18,8 +16,18 @@
#import "SUAppcastItem.h"
#import "SUStandardVersionComparator.h"
#import "SUUpdater.h"
#import "SUUpdaterDelegate.h"
#import "SUVersionComparisonProtocol.h"
#import "SUVersionDisplayProtocol.h"
#import "SUErrors.h"
#import "SPUDownloader.h"
#import "SPUDownloaderDelegate.h"
#import "SPUDownloaderDeprecated.h"
#import "SPUDownloadData.h"
#import "SPUDownloaderProtocol.h"
#import "SPUDownloaderSession.h"
#import "SPUURLRequest.h"
#import "SUCodeSigningVerifier.h"
#endif
@@ -6,30 +6,16 @@
// Copyright 2006 Andy Matuschak. All rights reserved.
//
#ifndef SUUNARCHIVER_H
#define SUUNARCHIVER_H
#import <Foundation/Foundation.h>
@class SUHost;
@protocol SUUnarchiverDelegate;
NS_ASSUME_NONNULL_BEGIN
@protocol SUUnarchiverProtocol;
@interface SUUnarchiver : NSObject
@property (copy, readonly) NSString *archivePath;
@property (copy, readonly) NSString *updateHostBundlePath;
@property (weak) id<SUUnarchiverDelegate> delegate;
+ (nullable id <SUUnarchiverProtocol>)unarchiverForPath:(NSString *)path updatingHostBundlePath:(nullable NSString *)hostPath decryptionPassword:(nullable NSString *)decryptionPassword;
+ (SUUnarchiver *)unarchiverForPath:(NSString *)path updatingHostBundlePath:(NSString *)host;
- (void)start;
@end
@protocol SUUnarchiverDelegate <NSObject>
- (void)unarchiverDidFinish:(SUUnarchiver *)unarchiver;
- (void)unarchiverDidFail:(SUUnarchiver *)unarchiver;
@optional
- (void)unarchiver:(SUUnarchiver *)unarchiver extractedProgress:(double)progress;
@end
#endif
NS_ASSUME_NONNULL_END
@@ -3,13 +3,13 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>15E27e</string>
<string>19A558d</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>Autoupdate</string>
<key>CFBundleIconFile</key>
<string>AppIcon</string>
<string>AppIcon.icns</string>
<key>CFBundleIdentifier</key>
<string>org.sparkle-project.Sparkle.Autoupdate</string>
<key>CFBundleInfoDictionaryVersion</key>
@@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.13.1 git-2afc553</string>
<string>1.22.0 33-gd5222353e</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
@@ -25,21 +25,21 @@
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.13.1</string>
<string>1.22.0</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>7C68</string>
<string>11M392r</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>15C43</string>
<string>19A536d</string>
<key>DTSDKName</key>
<string>macosx10.11</string>
<string>macosx10.15</string>
<key>DTXcode</key>
<string>0720</string>
<string>1100</string>
<key>DTXcodeBuild</key>
<string>7C68</string>
<string>11M392r</string>
<key>LSBackgroundOnly</key>
<string>1</string>
<key>LSMinimumSystemVersion</key>

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