aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/news.txt2
-rw-r--r--runtime/doc/options.txt2
-rw-r--r--runtime/doc/vim_diff.txt2
-rw-r--r--runtime/ftplugin/sh.vim17
-rw-r--r--runtime/lua/vim/_editor.lua3
5 files changed, 17 insertions, 9 deletions
diff --git a/runtime/doc/news.txt b/runtime/doc/news.txt
index f0d01f92e7..b0f3b76587 100644
--- a/runtime/doc/news.txt
+++ b/runtime/doc/news.txt
@@ -203,6 +203,8 @@ The following changes to existing APIs or features add new behavior.
option, which allows for rendering e.g., diagnostic severities differently.
• Defaults:
+ • On Windows 'isfname' does not include ":". Drive letters are handled
+ correctly without it. (Use |gF| for filepaths suffixed with ":line:col").
• 'comments' includes "fb:•".
• 'shortmess' includes the "C" flag.
• Automatic linting of treesitter query files (see |ft-query-plugin|).
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index bc207d7755..283c1e3612 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -3453,7 +3453,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'isfname'* *'isf'*
'isfname' 'isf' string (default for Windows:
- "@,48-57,/,\,.,-,_,+,,,#,$,%,{,},[,],:,@-@,!,~,="
+ "@,48-57,/,\,.,-,_,+,,,#,$,%,{,},[,],@-@,!,~,="
otherwise: "@,48-57,/,.,-,_,+,,,#,$,%,~,=")
global
The characters specified by this option are included in file names and
diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt
index e9c04443a6..4161d3b21e 100644
--- a/runtime/doc/vim_diff.txt
+++ b/runtime/doc/vim_diff.txt
@@ -53,6 +53,8 @@ Defaults *nvim-defaults*
- 'hlsearch' is enabled
- 'include' defaults to "". The C ftplugin sets it to "^\\s*#\\s*include"
- 'incsearch' is enabled
+- 'isfname' does not include ":" (on Windows). Drive letters are handled
+ correctly without it. (Use |gF| for filepaths suffixed with ":line:col").
- 'joinspaces' is disabled
- 'langnoremap' is enabled
- 'langremap' is disabled
diff --git a/runtime/ftplugin/sh.vim b/runtime/ftplugin/sh.vim
index c227838d18..c1a6bc5ade 100644
--- a/runtime/ftplugin/sh.vim
+++ b/runtime/ftplugin/sh.vim
@@ -3,7 +3,8 @@
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Dan Sharp
" Contributor: Enno Nagel <ennonagel+vim@gmail.com>
-" Last Change: 2023 Aug 29
+" Eisuke Kawashima
+" Last Change: 2023 Sep 28
if exists("b:did_ftplugin")
finish
@@ -39,16 +40,16 @@ if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:undo_ftplugin ..= " | unlet! b:browsefilter"
endif
-if (exists("b:is_bash") && (b:is_bash == 1))
+if get(b:, "is_bash", 0)
if !has("gui_running") && executable("less")
- command! -buffer -nargs=1 Help silent exe '!bash -c "{ help "<args>" 2>/dev/null || man "<args>"; } | LESS= less"' | redraw!
- elseif has('terminal')
- command! -buffer -nargs=1 Help silent exe ':term bash -c "help "<args>" 2>/dev/null || man "<args>""'
+ command! -buffer -nargs=1 ShKeywordPrg silent exe '!bash -c "{ help "<args>" 2>/dev/null || man "<args>"; } | LESS= less"' | redraw!
+ elseif has("terminal")
+ command! -buffer -nargs=1 ShKeywordPrg silent exe ':term bash -c "help "<args>" 2>/dev/null || man "<args>""'
else
- command! -buffer -nargs=1 Help echo system('bash -c "help <args>" 2>/dev/null || man "<args>"')
+ command! -buffer -nargs=1 ShKeywordPrg echo system('bash -c "help <args>" 2>/dev/null || man "<args>"')
endif
- setlocal keywordprg=:Help
- let b:undo_ftplugin ..= " | setl kp< | sil! delc -buffer Help"
+ setlocal keywordprg=:ShKeywordPrg
+ let b:undo_ftplugin ..= " | setl kp< | sil! delc -buffer ShKeywordPrg"
endif
let &cpo = s:save_cpo
diff --git a/runtime/lua/vim/_editor.lua b/runtime/lua/vim/_editor.lua
index 1ba7d6163d..bbe93bfbc8 100644
--- a/runtime/lua/vim/_editor.lua
+++ b/runtime/lua/vim/_editor.lua
@@ -548,6 +548,9 @@ function vim.region(bufnr, pos1, pos2, regtype, inclusive)
else
c2 = #bufline + 1
end
+ elseif regtype == 'V' then -- linewise selection, always return whole line
+ c1 = 0
+ c2 = -1
else
c1 = (l == pos1[1]) and pos1[2] or 0
c2 = (l == pos2[1]) and (pos2[2] + (inclusive and 1 or 0)) or -1