mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-05-28 00:21:57 +02:00
Merge remote-tracking branch 'vim/master'
This commit is contained in:
@@ -208,6 +208,7 @@ runtime/ftplugin/json.vim @dbarnett
|
||||
runtime/ftplugin/json5.vim @dkearns
|
||||
runtime/ftplugin/jsonc.vim @izhakjakov
|
||||
runtime/ftplugin/julia.vim @carlobaldassi
|
||||
runtime/ftplugin/just.vim @pbnj
|
||||
runtime/ftplugin/jq.vim @vito-c
|
||||
runtime/ftplugin/kconfig.vim @chrisbra
|
||||
runtime/ftplugin/kdl.vim @imsnif @jiangyinzuo
|
||||
@@ -354,6 +355,7 @@ runtime/indent/javascript.vim @bounceme
|
||||
runtime/indent/json.vim @elzr
|
||||
runtime/indent/jsonc.vim @izhakjakov
|
||||
runtime/indent/julia.vim @carlobaldassi
|
||||
runtime/indent/just.vim @pbnj
|
||||
runtime/indent/kdl.vim @imsnif @jiangyinzuo
|
||||
runtime/indent/kotlin.vim @udalov
|
||||
runtime/indent/krl.vim @KnoP-01
|
||||
@@ -512,6 +514,7 @@ runtime/syntax/jjdescription.vim @gpanders
|
||||
runtime/syntax/json.vim @vito-c
|
||||
runtime/syntax/jsonc.vim @izhakjakov
|
||||
runtime/syntax/julia.vim @carlobaldassi
|
||||
runtime/syntax/just.vim @pbnj
|
||||
runtime/syntax/jq.vim @vito-c
|
||||
runtime/syntax/karel.vim @kirillmorozov
|
||||
runtime/syntax/kconfig.vim @chrisbra
|
||||
|
||||
@@ -163,6 +163,8 @@ src/shadow
|
||||
src/shadow-*
|
||||
src/runtime
|
||||
src/pixmaps
|
||||
src/LICENSE
|
||||
src/README.txt
|
||||
|
||||
# other files possibly created by tools
|
||||
src/cscope.out
|
||||
|
||||
+2
-2
@@ -79,7 +79,7 @@ can be translated:
|
||||
* Menus, see [runtime/lang/README.txt][2]
|
||||
* Vim tutor, see [runtime/tutor/README.txt][3]
|
||||
* Manual pages, see [runtime/doc/\*.1][4] for examples
|
||||
* Installer, see [nsis/lang/\*.nsi][5] for examples
|
||||
* Installer, see [nsis/lang/README.txt][5]
|
||||
|
||||
The help files can be translated and made available separately.
|
||||
See https://www.vim.org/translations.php for examples.
|
||||
@@ -103,7 +103,7 @@ mailing list. For other questions please use the [Vi Stack Exchange][8] website,
|
||||
[2]: https://github.com/vim/vim/blob/master/runtime/lang/README.txt
|
||||
[3]: https://github.com/vim/vim/blob/master/runtime/tutor/README.txt
|
||||
[4]: https://github.com/vim/vim/blob/master/runtime/doc/vim.1
|
||||
[5]: https://github.com/vim/vim/blob/master/nsis/lang/english.nsi
|
||||
[5]: https://github.com/vim/vim/blob/master/nsis/lang/README.txt
|
||||
[6]: https://github.com/vim/vim/discussions/13087
|
||||
[7]: https://github.com/vim/vim/blob/master/runtime/doc/develop.txt
|
||||
[8]: https://vi.stackexchange.com
|
||||
|
||||
@@ -52,6 +52,7 @@ SRC_ALL = \
|
||||
src/debugger.c \
|
||||
src/dict.c \
|
||||
src/diff.c \
|
||||
src/linematch.c \
|
||||
src/digraph.c \
|
||||
src/drawline.c \
|
||||
src/drawscreen.c \
|
||||
@@ -286,6 +287,7 @@ SRC_ALL = \
|
||||
src/proto/insexpand.pro \
|
||||
src/proto/job.pro \
|
||||
src/proto/json.pro \
|
||||
src/proto/linematch.pro \
|
||||
src/proto/list.pro \
|
||||
src/proto/locale.pro \
|
||||
src/proto/logfile.pro \
|
||||
@@ -607,6 +609,8 @@ SRC_DOS = \
|
||||
src/xxd/Make_mvc.mak \
|
||||
nsis/gvim.nsi \
|
||||
nsis/gvim_version.nsh \
|
||||
nsis/Makefile \
|
||||
nsis/Make_mvc.mak \
|
||||
nsis/README.txt \
|
||||
nsis/lang/*.nsi \
|
||||
nsis/lang/README.txt \
|
||||
@@ -708,8 +712,6 @@ RT_ALL = \
|
||||
README_VIM9.md \
|
||||
LICENSE \
|
||||
CONTRIBUTING.md \
|
||||
lang/LICENSE.itx \
|
||||
lang/README.itx \
|
||||
runtime/bugreport.vim \
|
||||
runtime/doc/*.awk \
|
||||
runtime/doc/*.pl \
|
||||
@@ -807,6 +809,14 @@ RT_ALL = \
|
||||
runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim \
|
||||
runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim \
|
||||
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim \
|
||||
runtime/pack/dist/opt/netrw/LICENSE.txt \
|
||||
runtime/pack/dist/opt/netrw/README.md \
|
||||
runtime/pack/dist/opt/netrw/autoload/netrw.vim \
|
||||
runtime/pack/dist/opt/netrw/autoload/netrwSettings.vim \
|
||||
runtime/pack/dist/opt/netrw/autoload/netrw_gitignore.vim \
|
||||
runtime/pack/dist/opt/netrw/doc/netrw.txt \
|
||||
runtime/pack/dist/opt/netrw/plugin/netrwPlugin.vim \
|
||||
runtime/pack/dist/opt/netrw/syntax/netrw.vim
|
||||
|
||||
# Runtime files for all distributions without CR/LF translation.
|
||||
RT_ALL_BIN = \
|
||||
@@ -1033,7 +1043,8 @@ IN_README_DIR = \
|
||||
|
||||
# Generic language files.
|
||||
LANG_GEN = \
|
||||
README.??x.txt \
|
||||
lang/README.*.txt \
|
||||
lang/LICENSE.*.txt \
|
||||
runtime/doc/*-da.1 \
|
||||
runtime/doc/*-da.UTF-8.1 \
|
||||
runtime/doc/*-de.1 \
|
||||
@@ -1049,7 +1060,6 @@ LANG_GEN = \
|
||||
runtime/doc/*-ru.UTF-8.1 \
|
||||
runtime/doc/*-tr.1 \
|
||||
runtime/doc/*-tr.UTF-8.1 \
|
||||
runtime/doc/uganda.??x \
|
||||
runtime/lang/README.txt \
|
||||
runtime/lang/Makefile \
|
||||
runtime/lang/Make_all.mak \
|
||||
|
||||
@@ -161,12 +161,12 @@ MINOR = 1
|
||||
# - See src/INSTALLpc.txt for installing the compiler and SDK.
|
||||
# - Set environment for Visual C++ 2015:
|
||||
# > cd src
|
||||
# > msvc2015.bat
|
||||
# > msvc-latest.bat
|
||||
# - Build the console binary:
|
||||
# > nmake -f Make_mvc.mak
|
||||
# > nmake.exe -f Make_mvc.mak
|
||||
# - Run the tests and check the output:
|
||||
# > nmake -f Make_mvc.mak testclean
|
||||
# > nmake -f Make_mvc.mak test
|
||||
# > nmake.exe -f Make_mvc.mak testclean
|
||||
# > nmake.exe -f Make_mvc.mak test
|
||||
# - Rename (using ../tools/rename.bat):
|
||||
# vim.exe to vimw32.exe
|
||||
# tee/tee.exe to teew32.exe
|
||||
@@ -176,10 +176,10 @@ MINOR = 1
|
||||
# uninstall.exe to uninstallw32.exe
|
||||
# Win32 GUI version build:
|
||||
# - > cd src
|
||||
# > nmake -f Make_mvc.mak GUI=yes
|
||||
# > nmake.exe -f Make_mvc.mak "GUI=yes"
|
||||
# - Run the tests and check the output:
|
||||
# > nmake -f Make_mvc.mak testclean
|
||||
# > nmake -f Make_mvc.mak testgvim
|
||||
# > nmake.exe -f Make_mvc.mak testclean
|
||||
# > nmake.exe -f Make_mvc.mak testgvim
|
||||
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
|
||||
# - Move gvim.pdb to here.
|
||||
# - Copy "GvimExt/gvimext.dll" to here.
|
||||
@@ -191,8 +191,8 @@ MINOR = 1
|
||||
# > cd src
|
||||
# > bigvim.bat
|
||||
# - Run the tests:
|
||||
# > nmake -f Make_mvc.mak testclean
|
||||
# > nmake -f Make_mvc.mak testgvim
|
||||
# > nmake.exe -f Make_mvc.mak testclean
|
||||
# > nmake.exe -f Make_mvc.mak testgvim
|
||||
# - check the output.
|
||||
# - Rename "gvim.exe" to "gvim_ole.exe".
|
||||
# - Rename gvim.pdb to "gvim_ole.pdb".
|
||||
@@ -216,9 +216,9 @@ MINOR = 1
|
||||
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
|
||||
# version). Also put winpty32.dll and winpty-agent.exe there.
|
||||
# - go to ../nsis and do:
|
||||
# > unzip icons.zip
|
||||
# > makensis gvim.nsi (takes a few minutes).
|
||||
# ignore warning for libwinpthread-1.dll
|
||||
# > nmake.exe -f Make_mvc.mak all
|
||||
# (takes a few minutes).
|
||||
# See nsis/README.txt for details.
|
||||
# - Copy gvim##.exe to the dist directory.
|
||||
#
|
||||
# 64 bit builds (these are not in the normal distribution, the 32 bit build
|
||||
@@ -226,9 +226,9 @@ MINOR = 1
|
||||
# Like the console and GUI version, but first run vcvars64.bat or
|
||||
# "..\VC\vcvarsall.bat x86_amd64".
|
||||
# - Build the console version:
|
||||
# > nmake -f Make_mvc.mak
|
||||
# > nmake.exe -f Make_mvc.mak
|
||||
# - Build the GUI version:
|
||||
# > nmake -f Make_mvc.mak GUI=yes
|
||||
# > nmake.exe -f Make_mvc.mak "GUI=yes"
|
||||
# - Build the OLE version with interfaces:
|
||||
# > bigvim64.bat
|
||||
#
|
||||
@@ -266,8 +266,8 @@ dist:
|
||||
# Clean up some files to avoid they are included.
|
||||
# Copy README files to the top directory.
|
||||
prepare:
|
||||
if test -f runtime/doc/uganda.nsis.txt; then \
|
||||
rm runtime/doc/uganda.nsis.???; fi
|
||||
if test -f lang/LICENSE.nsis.txt; then \
|
||||
rm -f lang/LICENSE*.nsis.txt; fi
|
||||
for name in $(IN_README_DIR); do \
|
||||
cp READMEdir/"$$name" .; \
|
||||
done
|
||||
@@ -408,8 +408,7 @@ amisrc: dist prepare
|
||||
mv dist/vim$(VERSION)src.tar.gz dist/vim$(VERSION)src.tgz
|
||||
|
||||
# MS-DOS sources
|
||||
dossrc: dist dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt \
|
||||
nsis/gvim_version.nsh
|
||||
dossrc: dist dist/$(COMMENT_SRC) license nsis/gvim_version.nsh
|
||||
-rm -rf dist/vim$(VERSION)src.zip
|
||||
-rm -rf dist/vim
|
||||
mkdir dist/vim
|
||||
@@ -420,23 +419,19 @@ dossrc: dist dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt \
|
||||
$(SRC_DOS_BIN) \
|
||||
$(SRC_AMI_DOS) \
|
||||
$(SRC_DOS_UNIX) \
|
||||
runtime/doc/uganda.nsis.??? \
|
||||
lang/LICENSE.*.txt \
|
||||
lang/README.*.txt \
|
||||
nsis/gvim_version.nsh \
|
||||
| (cd dist/vim/$(VIMRTDIR); tar xf -)
|
||||
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
|
||||
rmdir dist/vim/$(VIMRTDIR)/runtime
|
||||
cd dist && zip -9 -rD -z vim$(VERSION)src.zip vim <$(COMMENT_SRC)
|
||||
|
||||
runtime/doc/uganda.nsis.txt: runtime/doc/uganda.???
|
||||
cd runtime/doc && $(MAKE) uganda.nsis.txt
|
||||
license:
|
||||
cd nsis && $(MAKE) -f Makefile $@
|
||||
|
||||
nsis/gvim_version.nsh: Makefile
|
||||
echo "# Generated from Makefile: define the version numbers" > $@
|
||||
echo "!ifndef __GVIM_VER__NSH__" >> $@
|
||||
echo "!define __GVIM_VER__NSH__" >> $@
|
||||
echo "!define VER_MAJOR $(MAJOR)" >> $@
|
||||
echo "!define VER_MINOR $(MINOR)" >> $@
|
||||
echo "!endif" >> $@
|
||||
cd nsis && $(MAKE) -f Makefile $(@F)
|
||||
|
||||
dosrt: dist dist/$(COMMENT_RT) dosrt_files
|
||||
-rm -rf dist/vim$(VERSION)rt.zip
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
ЛИЦЕНЗИЯ VIM
|
||||
|
||||
I) Неизменённые копии программы Vim могут распространяться без ограничения
|
||||
при условии включения данного текста лицензии. Распространение
|
||||
неизменённых копий отдельных частей программы Vim также возможно
|
||||
при соблюдении условия о включении данного текста лицензии. Подобным
|
||||
образом разрешается добавлять исполняемые файлы, скомпилированные
|
||||
из неизменённого исходного кода программы Vim, а также собственные
|
||||
примеры использования и командные файлы редактора Vim.
|
||||
|
||||
II) Изменённую (или дополненную) версию программы Vim, включающую
|
||||
исполняемые файлы и/или исходный код, допускается распространять
|
||||
при соблюдении следующих четырёх условий:
|
||||
1) Текст настоящей лицензии должен включаться в состав распространяемой
|
||||
версии программы Vim без изменений.
|
||||
2) Изменённая версия программы Vim должна распространяться одним
|
||||
из следующих пяти способов:
|
||||
a) При внесении изменений в программу Vim, в дистрибутиве должны
|
||||
быть явно указаны контактные данные лица, внёсшего эти изменения.
|
||||
Ответственному разработчику по его запросу (в любой форме) должна
|
||||
быть безвозмездно предоставлена копия распространяемой изменённой
|
||||
версии программы Vim, включая её исходный код. Ответственный
|
||||
разработчик оставляет за собой право включать сделанные изменения
|
||||
в официальную версию программы Vim. Конкретные действия
|
||||
ответственного разработчика, относительно переданных изменений,
|
||||
а также лицензионные условия, на основании которых будет
|
||||
осуществляться их распространение, могут быть дополнительно
|
||||
согласованы. Если согласование не проводилось, сделанные изменения
|
||||
будут распространяться на условиях настоящей лицензии или более
|
||||
поздней её версии. Лица, в данное время являющиеся ответственными
|
||||
за разработку, указаны в перечне, размещённом по адресу:
|
||||
https://github.com/orgs/vim/people. В случае изменения этой
|
||||
информации, актуальные данные будут опубликованы на
|
||||
соответствующих ресурсах (вероятнее всего по интернет‐адресам
|
||||
vim.sf.net, www.vim.org и/или comp.editors). В случае полной
|
||||
невозможности установить контакт с ответственным разработчиком,
|
||||
обязательства по отправке изменений утрачивают силу. После
|
||||
передачи подтверждения о получении изменений от ответственного
|
||||
разработчика, необходимость в повторной отправке копии изменённой
|
||||
программы Vim неприменима.
|
||||
b) Если лицом получена изменённая версия программа Vim,
|
||||
распространяющаяся на условиях, указанных в ч. II) п. 2) пп. а)
|
||||
допускается дальнейшее её распространение этим лицом без внесения
|
||||
изменений и согласно ч. I) настоящей лицензии. В случае внесения
|
||||
дополнительных изменений, на эти изменения будут распространяться
|
||||
условия, указанные в ч. II) п. 2) пп. a).
|
||||
c) Каждая копия распространяемой изменённой версии программы Vim
|
||||
должна включать информацию обо всех произведённых изменениях,
|
||||
включая исходный код. Эта информация может быть представлена
|
||||
в виде построчного сравнения файлов. Выбор лицензии, по условиям
|
||||
которой будет распространяться добавленный код, остаётся
|
||||
за автором этих изменений. Изменения и лицензия на эти изменения
|
||||
не должны запрещать другим лицам внесение своих собственных
|
||||
изменений в официальную версию программы Vim.
|
||||
d) Изменённая версия программы Vim, содержащая изменения в
|
||||
соответствии с ч. II) п. 2 пп. c), может распространяться без
|
||||
исходного кода для этих изменений, при соблюдении следующих трёх
|
||||
условий:
|
||||
- Лицензия, применяемая к внесённым изменениям, предоставляет
|
||||
ответственному разработчику программы Vim возможность
|
||||
безвозмездного и неограниченного распространения этих изменений,
|
||||
а также право на безвозмездное и неограниченное включение этих
|
||||
изменений в официальную версию программы Vim.
|
||||
- Изменения должны сохраняться не менее трёх лет со времени
|
||||
распространения соответствующей изменённой версии программы Vim.
|
||||
В течение этого периода по запросу ответственного разработчика
|
||||
или другого пользователя изменённой версии программы Vim
|
||||
(в любой форме) необходимо предоставить исходный код данных
|
||||
изменений.
|
||||
- В дистрибутиве изменённой версии программы Vim должны быть явно
|
||||
указаны контактные данные лица, внёсшего эти изменения.
|
||||
Контактные данные должны сохранять актуальность в течение
|
||||
не менее трёх лет со времени последнего распространения
|
||||
соответствующей изменённой версии программы Vim или как можно
|
||||
дольше.
|
||||
e) Если к изменениям, внесённым в программу Vim, применимы условия
|
||||
лицензии GNU General Public License (GNU GPL), допускается
|
||||
распространение изменённой версия программы Vim на условиях
|
||||
лицензии GNU GPL версии 2 или любой более поздней версии этой
|
||||
лицензии.
|
||||
3) Необходимо добавить соответствующую информацию, которая должна быть
|
||||
выведена в результате выполнения команды ":version" в программе Vim,
|
||||
а также на экране приветствия программы Vim, чтобы пользователь
|
||||
изменённой версии программы Vim имел возможность определить,
|
||||
что он пользуется изменённой версией. При распространении
|
||||
на условиях, указанных в ч. II) п. 2) пп. e) такую информацию
|
||||
требуется добавлять только в том случае, когда она не противоречит
|
||||
лицензии, распространяющейся на эти изменения.
|
||||
4) Контактная информация, которая указывается по требованию ч. II) п. 2)
|
||||
пп. a) и ч. II) п. 2) пп. d) не должна удаляться или изменяться никем
|
||||
другим, кроме лица, указавшего данную контактную информацию.
|
||||
|
||||
III) При распространении изменённой версии программы Vim рекомендуется
|
||||
пользоваться лицензией Vim для произведённых изменений и обеспечить
|
||||
доступ к этим изменениям ответственного разработчика, включая исходный
|
||||
код изменений. Предпочтительным способом предоставления доступа
|
||||
к произведённым изменениям является отправка этих изменений через
|
||||
электронную почту или размещение файлов на сервер с отправкой
|
||||
URL-адреса по электронной почте. Если количество изменений
|
||||
незначительно (например, изменения в файле Makefile), достаточно будет
|
||||
отправить через электронную почту файл построчного сравнения. Изменения
|
||||
или URL-адреса должны быть направлены на адрес электронной почты
|
||||
maintainer@vim.org
|
||||
|
||||
IV) Не допускается удаление настоящей лицензия из дистрибутива исходного
|
||||
кода программы Vim, его отдельных частей или изменённой версии.
|
||||
Допускается использование настоящей лицензию для предыдущих
|
||||
изменённых выпусков программы Vim, взамен тех лицензий, с которыми
|
||||
они распространялись.
|
||||
@@ -1,4 +1,4 @@
|
||||
README.rux.txt для версии 9.1 программы Vim — Vi IMproved.
|
||||
README.ru.txt для версии 9.1 программы Vim — Vi IMproved.
|
||||
|
||||
|
||||
ЧТО ТАКОЕ РЕДАКТОР VIM?
|
||||
@@ -0,0 +1,134 @@
|
||||
#
|
||||
# Makefile for MS Windows for create self-installing exe of Vim.
|
||||
# 05/04/2024, Restorer restorer@mail2k.ru
|
||||
#
|
||||
|
||||
|
||||
#!INCLUDE .\Make_all.mak
|
||||
|
||||
.SUFFIXES :
|
||||
|
||||
!IFDEF PROGRAMW6432
|
||||
ProgFiles=%%PROGRAMFILES(x86)%%
|
||||
!ELSE
|
||||
ProgFiles=$(PROGRAMFILES)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF VIMSRC
|
||||
MKNSISFLAGS = /D"VIMSRC=$(VIMSRC)"
|
||||
!ENDIF
|
||||
|
||||
!IFDEF VIMRT
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /D"VIMRT=$(VIMRT)"
|
||||
!ENDIF
|
||||
|
||||
!IFDEF VIMTOOLS
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /D"VIMTOOLS=$(VIMTOOLS)"
|
||||
!ENDIF
|
||||
|
||||
!IFDEF GETTEXT
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /D"GETTEXT=$(GETTEXT)"
|
||||
!ENDIF
|
||||
|
||||
!IFDEF HAVE_UPX
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /DHAVE_UPX=$(HAVE_UPX)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF HAVE_NLS
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /DHAVE_NLS=$(HAVE_NLS)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF HAVE_MULTI_LANG
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /DHAVE_MULTI_LANG=$(HAVE_MULTI_LANG)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF WIN64
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /DWIN64=$(WIN64)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF INCLUDE_LIBGCC
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /DINCLUDE_LIBGCC=$(INCLUDE_LIBGCC)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF X
|
||||
XX = /X"$(X:;=" /X")"
|
||||
!ENDIF
|
||||
|
||||
# If necessary, correct the full path of the NSIS compiler in the next line.
|
||||
# Please do not enclose the path in quotation marks.
|
||||
MKNSIS = $(ProgFiles)\NSIS
|
||||
|
||||
PS = powershell.exe
|
||||
RM = del /f /q
|
||||
RD = rmdir /s /q
|
||||
|
||||
MKNSISFLAGS = /INPUTCHARSET UTF8 $(MKNSISFLAGS)
|
||||
PSFLAGS = -NoLogo -NoProfile -Command
|
||||
|
||||
# Read MAJOR and MINOR from version.h.
|
||||
!IF ![for /F "tokens=2,3" %G in ( \
|
||||
'findstr /rc:"VIM_VERSION_MINOR[ ^]*[0-9^]" \
|
||||
/rc:"VIM_VERSION_MAJOR[ ^]*[0-9^]" ..\src\version.h') do \
|
||||
@if "VIM_VERSION_MAJOR"=="%G" (echo MAJOR=%H>>_ver.tmp) \
|
||||
else echo MINOR=%H>>_ver.tmp]
|
||||
! INCLUDE .\_ver.tmp
|
||||
! IF [$(RM) .\_ver.tmp]
|
||||
! ENDIF
|
||||
!ENDIF
|
||||
|
||||
# Read PATCHLEVEL from version.c
|
||||
!IF ![for /F %G in ( \
|
||||
'findstr /nblc:"static int included_patches[^]" ..\src\version.c \
|
||||
^| (set /p "_t=" ^& set /a _t+=2 ^)') do \
|
||||
@cmd /q /c "for /F "skip=%G delims=, " %H in (..\src\version.c) do \
|
||||
(echo PATCH=%H>_patchlvl.tmp & exit /b)"]
|
||||
! INCLUDE .\_patchlvl.tmp
|
||||
! IF [$(RM) .\_patchlvl.tmp]
|
||||
! ENDIF
|
||||
!ENDIF
|
||||
!IF $(PATCH) < 10
|
||||
PATCH = 000$(PATCH)
|
||||
!ELSEIF $(PATCH) < 100
|
||||
PATCH = 00$(PATCH)
|
||||
!ELSEIF $(PATCH) < 1000
|
||||
PATCH = 0$(PATCH)
|
||||
!ENDIF
|
||||
|
||||
|
||||
all : makeinst
|
||||
|
||||
makeinst : prepare
|
||||
^"$(MKNSIS)\makensis.exe" $(MKNSISFLAGS) gvim.nsi $(XX)
|
||||
|
||||
prepare : unzipicons gvim_version.nsh license rename
|
||||
|
||||
unzipicons : icons.zip
|
||||
@ if exist %|fF\nul $(RD) %|fF
|
||||
@ $(PS) $(PSFLAGS) \
|
||||
Add-Type -AssemblyName 'System.IO.Compression.FileSystem'; \
|
||||
[System.IO.Compression.ZipFile]::ExtractToDirectory(\"$**\", \".\")
|
||||
|
||||
gvim_version.nsh : Make_mvc.mak
|
||||
@ 1> $@ echo:^# Generated from Makefile: define the version numbers
|
||||
@ 1>> $@ echo:^!ifndef __GVIM_VER__NSH__
|
||||
@ 1>> $@ echo:^!define __GVIM_VER__NSH__
|
||||
@ 1>> $@ echo:^!define VER_MAJOR $(MAJOR)
|
||||
@ 1>> $@ echo:^!define VER_MINOR $(MINOR)
|
||||
@ 1>> $@ echo:^!define PATCHLEVEL $(PATCH)
|
||||
@ 1>> $@ echo:^!endif
|
||||
|
||||
license : ..\lang\LICENSE.*.txt ..\LICENSE
|
||||
!@ $(PS) $(PSFLAGS) \
|
||||
Get-Content -Path '$**' -Encoding UTF8 ^| \
|
||||
Set-Content -Path '..\lang\$(**B).nsis.txt' -Enc Unicode -Force
|
||||
|
||||
rename :
|
||||
@ ..\tools\rename.bat "$(SRC)" "$(DST)" 1> nul
|
||||
|
||||
clean :
|
||||
@ if exist .\gvim_version.nsh $(RM) .\gvim_version.nsh
|
||||
@ if exist ..\lang\LICENSE*.nsis.txt $(RM) ..\lang\LICENSE*.nsis.txt
|
||||
@ if exist .\icons\nul $(RD) .\icons
|
||||
@ if exist .\gvim??.exe $(RM) .\gvim??.exe
|
||||
|
||||
# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0 ft=make:
|
||||
@@ -0,0 +1,95 @@
|
||||
#
|
||||
# Makefile for UNIX-like for create self-installing exe of Vim.
|
||||
# 15/12/2024, Restorer restorer@mail2k.ru
|
||||
#
|
||||
|
||||
|
||||
.SUFFIXES:
|
||||
.PHONY: all makeinst prepare rename clean
|
||||
|
||||
ifdef VIMSRC
|
||||
MKNSISFLAGS := -D"VIMSRC=$(VIMSRC)"
|
||||
endif
|
||||
|
||||
ifdef VIMRT
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -D"VIMRT=$(VIMRT)"
|
||||
endif
|
||||
|
||||
ifdef VIMTOOLS
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -D"VIMTOOLS=$(VIMTOOLS)"
|
||||
endif
|
||||
|
||||
ifdef GETTEXT
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -D"GETTEXT=$(GETTEXT)"
|
||||
endif
|
||||
|
||||
ifdef HAVE_UPX
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_UPX=$(HAVE_UPX)
|
||||
endif
|
||||
|
||||
ifdef HAVE_NLS
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_NLS=$(HAVE_NLS)
|
||||
endif
|
||||
|
||||
ifdef HAVE_MULTI_LANG
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_MULTI_LANG=$(HAVE_MULTI_LANG)
|
||||
endif
|
||||
|
||||
ifdef WIN64
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -DWIN64=$(WIN64)
|
||||
endif
|
||||
|
||||
ifdef INCLUDE_LIBGCC
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -DINCLUDE_LIBGCC=$(INCLUDE_LIBGCC)
|
||||
endif
|
||||
|
||||
ifdef X
|
||||
XX := -X"$(X:;=" -X")"
|
||||
endif
|
||||
|
||||
MAJOR != grep -E 'VIM_VERSION_MAJOR\s{2,}' ../src/version.h | \
|
||||
awk '{ printf "%d",$$3 }'
|
||||
MINOR != grep -E 'VIM_VERSION_MINOR\s{2,}' ../src/version.h | \
|
||||
awk '{ printf "%d",$$3 }'
|
||||
PATCH != awk '/number below this line/,/,/' ../src/version.c | \
|
||||
awk 'NR == 3 { printf "%04d",$$1 }' | sed -e 's/[ ,]//g'
|
||||
|
||||
MKNSISFLAGS := -INPUTCHARSET UTF8 $(MKNSISFLAGS)
|
||||
|
||||
all: makeinst
|
||||
|
||||
makeinst: prepare
|
||||
makensis $(MKNSISFLAGS) gvim.nsi $(XX)
|
||||
|
||||
prepare: unzipicons gvim_version.nsh license rename
|
||||
|
||||
unzipicons: icons.zip
|
||||
if test -d `basename $? .zip` ; then rm -rf `basename $? .zip` ; fi
|
||||
unzip $?
|
||||
|
||||
gvim_version.nsh: Makefile
|
||||
echo "# Generated from Makefile: define the version numbers" > $@
|
||||
echo "!ifndef __GVIM_VER__NSH__" >> $@
|
||||
echo "!define __GVIM_VER__NSH__" >> $@
|
||||
echo "!define VER_MAJOR $(MAJOR)" >> $@
|
||||
echo "!define VER_MINOR $(MINOR)" >> $@
|
||||
echo "!define PATCHLEVEL $(PATCH)" >> $@
|
||||
echo "!endif" >> $@
|
||||
|
||||
license: ../lang/LICENSE.*.txt ../LICENSE
|
||||
for lic in $? ; do \
|
||||
bn=`basename $$lic .txt` ; \
|
||||
awk 'sub("$$", "\r")' < $$lic | \
|
||||
iconv -f UTF-8 -t UTF-16 > ../lang/$$bn.nsis.txt ; \
|
||||
done
|
||||
|
||||
rename:
|
||||
../tools/rename.bat "$(SRC)" "$(DST)"
|
||||
|
||||
clean:
|
||||
if test -f gvim_version.nsh ; then rm -f gvim_version.nsh ; fi
|
||||
rm -f ../lang/LICENSE*.nsis.txt
|
||||
if test -d icons ; then rm -rf icons ; fi
|
||||
if test -f gvim??.exe ; then rm -f gvim??.exe ; fi
|
||||
|
||||
# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0 ft=make:
|
||||
+48
-48
@@ -3,22 +3,15 @@ Installation System (NSIS), available at http://nsis.sourceforge.net/
|
||||
|
||||
To build the installable .exe file:
|
||||
|
||||
1. Unpack three archives:
|
||||
PC sources
|
||||
PC runtime
|
||||
PC language files
|
||||
You can generate these from the Unix sources and runtime plus the extra
|
||||
archive (see the Makefile in the top directory).
|
||||
Preparatory stage
|
||||
|
||||
2. Go to the src directory and build:
|
||||
gvim.exe (the OLE version),
|
||||
vimrun.exe,
|
||||
install.exe,
|
||||
uninstall.exe,
|
||||
tee/tee.exe,
|
||||
xxd/xxd.exe
|
||||
1. Clone using the git tool the Vim repository or download its zip file
|
||||
available at:
|
||||
https://github.com/vim/vim
|
||||
|
||||
Then execute tools/rename.bat to rename the executables.
|
||||
2. Go to the "/src" directory and build the Vim editor, making sure to use the
|
||||
following variable values: "GUI=yes"; "OLE=yes"; "VIMDLL=yes". See
|
||||
INSTALLpc.txt and Make_mvc.mak for details.
|
||||
|
||||
3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
|
||||
archive). Both 64- and 32-bit versions are needed and should be placed
|
||||
@@ -32,8 +25,8 @@ To build the installable .exe file:
|
||||
https://www.mediafire.com/file/9edk4g3xvfgzby0/diff4Vim.zip/file
|
||||
When will you have "diff.exe" put it in the "../.." directory (above the
|
||||
"vim91" directory, it's the same for all Vim versions). However, you can
|
||||
specify another directory by passing /DVIMTOOLS=<dir> option to the
|
||||
"makensis.exe" program via the command line.
|
||||
specify a different directory by specifying the appropriate makefile value.
|
||||
How to do this is described below.
|
||||
|
||||
5. For the terminal window to work in Vim, the library winpty is required.
|
||||
You can get it at the following url:
|
||||
@@ -41,8 +34,8 @@ To build the installable .exe file:
|
||||
For the 32-bit version, rename "winpty.dll" from ia32/bin to "winpty32.dll",
|
||||
and for the 64-bit version — "winpty.dll" from x64/bin to "winpty64.dll".
|
||||
Put the renamed file and "winpty-agent.exe" in "../.." (above the "vim91"
|
||||
directory). However, you can specify another directory by passing
|
||||
/DVIMTOOLS=<dir> option to the "makensis.exe" program via the command line.
|
||||
directory). However, you can specify a different directory by specifying
|
||||
the appropriate makefile value. How to do this is described below.
|
||||
|
||||
6. To use stronger encryption, add the Sodium library. You can get it here:
|
||||
https://github.com/jedisct1/libsodium/releases/download/1.0.19-RELEASE/libsodium-1.0.19-msvc.zip
|
||||
@@ -52,12 +45,7 @@ To build the installable .exe file:
|
||||
"../.." directory (above the "vim91" directory, where "diff.exe" and
|
||||
"winpty{32|64}.dll").
|
||||
|
||||
7. On MS Windows do "nmake.exe -f Make_mvc.mak uganda.nsis.txt" in runtime/doc.
|
||||
On Unix-like system do "make runtime/doc/uganda.nsis.txt" in top directory
|
||||
or "make uganda.nsis.txt" in runtime/doc. The created files
|
||||
"uganda.nsis.???" will be automatically converted to DOS file format.
|
||||
|
||||
8. Get gettext and iconv DLLs from the following site:
|
||||
7. Get gettext and iconv DLLs from the following site:
|
||||
https://github.com/mlocati/gettext-iconv-windows/releases
|
||||
Both 64- and 32-bit versions are needed.
|
||||
Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
|
||||
@@ -74,35 +62,47 @@ To build the installable .exe file:
|
||||
libintl-8.dll
|
||||
libiconv-2.dll
|
||||
|
||||
The default <GETTEXT directory> is "..", however, you can specify another
|
||||
directory by passing /DGETTEXT=<dir> option to "makensis.exe" program via
|
||||
the command line.
|
||||
The default <GETTEXT directory> is "../..". However, you can specify a
|
||||
different directory by specifying the appropriate makefile value. How to do
|
||||
this is described below.
|
||||
|
||||
|
||||
Install NSIS if you didn't do that already.
|
||||
Download Unicode version the ShellExecAsUser plug-in for NSIS from:
|
||||
8. Install NSIS if you didn't do that already.
|
||||
Download Unicode version the ShellExecAsUser plug-in for NSIS from:
|
||||
https://nsis.sourceforge.io/ShellExecAsUser_plug-in
|
||||
and put ShellExecAsUser.dll to path\to\NSIS\Plugins\x86-unicode
|
||||
and put "ShellExecAsUser.dll" to path\to\NSIS\Plugins\x86-unicode
|
||||
|
||||
Installer assembly stage
|
||||
|
||||
Unpack the images:
|
||||
cd nsis
|
||||
unzip icons.zip or 7z x icons.zip (on Unix-like or MS Windows)
|
||||
WinRar.exe x icons.zip (on MS Windows)
|
||||
On MS Windows, open the Developer Command Prompt for VS and go to the
|
||||
"/nsis" directory and type the command
|
||||
nmake.exe -lf Make_mvc.mak [variables] all
|
||||
|
||||
Then build gvim.exe:
|
||||
cd nsis
|
||||
makensis.exe [options] gvim.nsi
|
||||
After the installer is created and you copy it to the desired location, run
|
||||
the following command in the "/nsis" directory
|
||||
nmake.exe -lf Make_mvc.mak clean
|
||||
|
||||
On UNIX-like systems, go to the "/nsis" directory and type the command
|
||||
make -f Makefile [variables] all
|
||||
|
||||
Options (not mandatory):
|
||||
/DVIMSRC=<dir> — directory where location of gvim_ole.exe, vimw32.exe,
|
||||
After the installer is created and you copy it to the desired location, run
|
||||
the following command in the "/nsis" directory
|
||||
make -f Makefile clean
|
||||
|
||||
Variables and their values available for building the installer (not mandatory):
|
||||
|
||||
"VIMSRC=<dir>" — directory where location of gvim_ole.exe, vimw32.exe,
|
||||
GvimExt/*, etc.
|
||||
/DVIMRT=<dir> — directory where location of runtime files
|
||||
/DVIMTOOLS=<dir> — directory where location of extra tools: diff.exe,
|
||||
winpty{32|64}.dll, winpty-agent.exe, libsodium.dll
|
||||
/DGETTEXT=<dir> — directory where location of gettext libraries
|
||||
/DHAVE_UPX=1 — additional compression of the installer. UPX program
|
||||
"VIMRT=<dir>" — directory where location of runtime files.
|
||||
"VIMTOOLS=<dir>" — directory where location of extra tools: diff.exe,
|
||||
winpty{32|64}.dll, winpty-agent.exe, libsodium.dll.
|
||||
"GETTEXT=<dir>" — directory where location of gettext libraries.
|
||||
"HAVE_UPX=1" — additional compression of the installer. UPX program
|
||||
must be installed.
|
||||
/DHAVE_NLS=0 — do not add native language support
|
||||
/DHAVE_MULTI_LANG=0 — to create an English-only the installer
|
||||
/DWIN64=1 — to create a 64-bit the installer
|
||||
"HAVE_NLS=0" — do not add native language support.
|
||||
"HAVE_MULTI_LANG=0" — to create an English-only the installer.
|
||||
"WIN64=1" — to create a 64-bit the installer.
|
||||
"X=<scriptcmd>" — executes scriptcmd in script. If multiple scriptcmd
|
||||
are specified, they are separated by a semicolon.
|
||||
Example "X=OutFile MyVim.exe;XPMode on"
|
||||
"MKNSIS=<dir>" — the directory where the "makensis.exe" program is
|
||||
located.
|
||||
|
||||
+38
-105
@@ -1,6 +1,6 @@
|
||||
# NSIS file to create a self-installing exe for Vim.
|
||||
# It requires NSIS version 3.0 or later.
|
||||
# Last Change: 2024 Mar 20
|
||||
# Last Change: 2025 Jan 05
|
||||
|
||||
Unicode true
|
||||
|
||||
@@ -14,19 +14,19 @@ Unicode true
|
||||
|
||||
# Location of runtime files
|
||||
!ifndef VIMRT
|
||||
!define VIMRT ".."
|
||||
!define VIMRT "..\runtime"
|
||||
!endif
|
||||
|
||||
# Location of extra tools: diff.exe, winpty{32|64}.dll, winpty-agent.exe, etc.
|
||||
!ifndef VIMTOOLS
|
||||
!define VIMTOOLS ..\..
|
||||
!define VIMTOOLS "..\.."
|
||||
!endif
|
||||
|
||||
# Location of gettext.
|
||||
# It must contain two directories: gettext32 and gettext64.
|
||||
# See README.txt for detail.
|
||||
!ifndef GETTEXT
|
||||
!define GETTEXT ${VIMRT}
|
||||
!define GETTEXT ${VIMTOOLS}
|
||||
!endif
|
||||
|
||||
# If you have UPX, use the switch /DHAVE_UPX=1 on the command line makensis.exe.
|
||||
@@ -74,6 +74,8 @@ Unicode true
|
||||
!include "nsDialogs.nsh"
|
||||
!include "Sections.nsh"
|
||||
!include "x64.nsh"
|
||||
!include "StrFunc.nsh"
|
||||
${StrRep}
|
||||
|
||||
# See https://nsis.sourceforge.io/LogicLib
|
||||
;FileExists is already part of LogicLib, but returns true for directories
|
||||
@@ -246,6 +248,9 @@ Var vim_nsd_mouse
|
||||
Var vim_compat_stat
|
||||
Var vim_keymap_stat
|
||||
Var vim_mouse_stat
|
||||
!if ${HAVE_NLS}
|
||||
Var lng_usr
|
||||
!endif
|
||||
|
||||
|
||||
# Reserve files
|
||||
@@ -423,6 +428,7 @@ Section "$(str_section_exe)" id_section_exe
|
||||
File /oname=xxd.exe ${VIMSRC}\xxdw32.exe
|
||||
File ..\vimtutor.bat
|
||||
File ..\README.txt
|
||||
File /oname=LICENSE.txt ..\LICENSE
|
||||
File ..\uninstall.txt
|
||||
File ${VIMRT}\*.vim
|
||||
|
||||
@@ -621,110 +627,23 @@ SectionGroupEnd
|
||||
Section "$(str_section_nls)" id_section_nls
|
||||
SectionIn 1 3
|
||||
|
||||
#; FIXME: When adding new translations, do not forget to make changes here.
|
||||
SetOutPath $0
|
||||
!if /FileExists ..\README.dax.txt
|
||||
${If} $Language = ${LANG_DANISH}
|
||||
File ..\README.dax.txt
|
||||
${EndIf}
|
||||
SetOutPath $INSTDIR
|
||||
!if /FileExists "..\lang\README.*.txt"
|
||||
File ..\lang\README.*.txt
|
||||
CopyFiles /SILENT /FILESONLY $INSTDIR\README.$lng_usr.txt \
|
||||
$INSTDIR\vim${VER_MAJOR}${VER_MINOR}\README.$lng_usr.txt
|
||||
Delete $INSTDIR\README.*.txt
|
||||
!endif
|
||||
!if /FileExists ..\README.nlx.txt
|
||||
${If} $Language = ${LANG_DUTCH}
|
||||
File ..\README.nlx.txt
|
||||
${EndIf}
|
||||
!if /FileExists "..\lang\LICENSE.??.txt"
|
||||
File ..\lang\LICENSE.??.txt
|
||||
!if /FileExists "..\lang\LICENSE.??_??.txt"
|
||||
File ..\lang\LICENSE.??_??.txt
|
||||
!endif
|
||||
!if /FileExists ..\README.dex.txt
|
||||
${If} $Language = ${LANG_GERMAN}
|
||||
File ..\README.dex.txt
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists ..\README.itx.txt
|
||||
${If} $Language = ${LANG_ITALIAN}
|
||||
File ..\README.itx.txt
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists ..\README.jax.txt
|
||||
${If} $Language = ${LANG_JAPANESE}
|
||||
File ..\README.jax.txt
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists ..\README.rux.txt
|
||||
${If} $Language = ${LANG_RUSSIAN}
|
||||
File ..\README.rux.txt
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists ..\README.srx.txt
|
||||
${If} $Language = ${LANG_SERBIAN}
|
||||
File ..\README.srx.txt
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists ..\README.cnx.txt
|
||||
${If} $Language = ${LANG_SIMPCHINESE}
|
||||
File ..\README.cnx.txt
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists ..\README.twx.txt
|
||||
${If} $Language = ${LANG_TRADCHINESE}
|
||||
File ..\README.twx.txt
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists ..\README.trx.txt
|
||||
${OrIf} $Language = ${LANG_TURKISH}
|
||||
File ..\README.trx.txt
|
||||
${EndIf}
|
||||
!endif
|
||||
#; FIXME: When adding new translations, do not forget to make changes here.
|
||||
SetOutPath $0\doc
|
||||
!if /FileExists "${VIMRT}\doc\uganda.dax"
|
||||
${If} $Language = ${LANG_DANISH}
|
||||
File ${VIMRT}\doc\uganda.dax
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\doc\uganda.nlx"
|
||||
${If} $Language = ${LANG_DUTCH}
|
||||
File ${VIMRT}\doc\uganda.nlx
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\doc\uganda.dex"
|
||||
${If} $Language = ${LANG_GERMAN}
|
||||
File ${VIMRT}\doc\uganda.dex
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\doc\uganda.itx"
|
||||
${If} $Language = ${LANG_ITALIAN}
|
||||
File ${VIMRT}\doc\uganda.itx
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\doc\uganda.jax"
|
||||
${If} $Language = ${LANG_JAPANESE}
|
||||
File ${VIMRT}\doc\uganda.jax
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\doc\uganda.rux"
|
||||
${If} $Language = ${LANG_RUSSIAN}
|
||||
File ${VIMRT}\doc\uganda.rux
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\doc\uganda.srx"
|
||||
${If} $Language = ${LANG_SERBIAN}
|
||||
File ${VIMRT}\doc\uganda.srx
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\doc\uganda.cnx"
|
||||
${If} $Language = ${LANG_SIMPCHINESE}
|
||||
File ${VIMRT}\doc\uganda.cnx
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\doc\uganda.twx"
|
||||
${If} $Language = ${LANG_TRADCHINESE}
|
||||
File ${VIMRT}\doc\uganda.twx
|
||||
${EndIf}
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\doc\uganda.trx"
|
||||
${If} $Language = ${LANG_TURKISH}
|
||||
File ${VIMRT}\doc\uganda.trx
|
||||
${EndIf}
|
||||
CopyFiles /SILENT /FILESONLY $INSTDIR\LICENSE.$lng_usr.txt \
|
||||
$INSTDIR\vim${VER_MAJOR}${VER_MINOR}\LICENSE.$lng_usr.txt
|
||||
Delete $INSTDIR\LICENSE.*.txt
|
||||
!endif
|
||||
|
||||
SetOutPath $0\lang
|
||||
File /r /x Makefile ${VIMRT}\lang\*.*
|
||||
SetOutPath $0
|
||||
@@ -883,6 +802,20 @@ Function .onInit
|
||||
!insertmacro MUI_LANGDLL_DISPLAY
|
||||
!endif
|
||||
|
||||
!if ${HAVE_NLS}
|
||||
ClearErrors
|
||||
System::Call 'kernel32::GetUserDefaultLocaleName(t.r19, *i${NSIS_MAX_STRLEN})'
|
||||
StrCmp $R9 "zh-cn" coincide 0
|
||||
StrCmp $R9 "zh-tw" 0 part
|
||||
coincide:
|
||||
System::Call 'User32::CharLower(t r19 r19)*i${NSIS_MAX_STRLEN}'
|
||||
${StrRep} $lng_usr "$R9" "-" "_"
|
||||
Goto done
|
||||
part:
|
||||
StrCpy $lng_usr $R9 2
|
||||
done:
|
||||
!endif
|
||||
|
||||
${If} $INSTDIR == ${DEFAULT_INSTDIR}
|
||||
# Check $VIM
|
||||
ReadEnvStr $3 "VIM"
|
||||
|
||||
@@ -3,4 +3,5 @@
|
||||
!define __GVIM_VER__NSH__
|
||||
!define VER_MAJOR 9
|
||||
!define VER_MINOR 1
|
||||
!define PATCHLEVEL 0
|
||||
!endif
|
||||
|
||||
@@ -18,17 +18,17 @@ allowable length of strings. For example:
|
||||
drop-down lists on the .vimrc page - 55 characters.
|
||||
Characters in this case mean characters of the English alphabet.
|
||||
|
||||
If you do not yet have a translated "uganda.txt" file and a main "README.txt"
|
||||
If you do not yet have a translated "LICENSE" file and/or a main "README.txt"
|
||||
file, set the following values:
|
||||
|
||||
for the license file
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
|
||||
for the readme.txt file
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
|
||||
Once you have the translations of these files, then set the values for these
|
||||
variables similarly to what is done in the other translation files.
|
||||
Also add the appropriate entries to the "gvim.nsi" file as done for other
|
||||
languages.
|
||||
|
||||
Translation files should be located in the "lang" subdirectory of the root
|
||||
directory. The name of the files is as follows: "README.xx.txt", where xx is the
|
||||
language code according to ISO639.
|
||||
|
||||
@@ -19,15 +19,15 @@ LangString ^UninstallCaption ${LANG_DANISH} "$(^Name) Uninstall"
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_DANISH} "${VIMRT}\doc\uganda.nsis.dax"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_DANISH} "..\lang\LICENSE.da.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_DANISH} "README.dax.txt"
|
||||
#LangString vim_readme_file ${LANG_DANISH} "README.da.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
+3
-3
@@ -21,15 +21,15 @@ LangString ^UninstallCaption ${LANG_DUTCH} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_DUTCH} "${VIMRT}\doc\uganda.nsis.nlx"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_DUTCH} "..\lang\LICENSE.nl.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_DUTCH} "README.nlx.txt"
|
||||
#LangString vim_readme_file ${LANG_DUTCH} "README.nl.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
@@ -21,7 +21,7 @@ LangString ^UninstallCaption ${LANG_ENGLISH} \
|
||||
# License file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file ${LANG_ENGLISH} "${VIMRT}\doc\uganda.nsis.txt"
|
||||
LicenseLangString page_lic_file ${LANG_ENGLISH} "..\lang\LICENSE.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# README.txt file, which is opened after installation {{{1
|
||||
|
||||
@@ -21,15 +21,15 @@ LangString ^UninstallCaption ${LANG_GERMAN} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_GERMAN} "${VIMRT}\doc\uganda.nsis.dex"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_GERMAN} "..\lang\LICENSE.de.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_GERMAN} "README.dex.txt"
|
||||
#LangString vim_readme_file ${LANG_GERMAN} "README.de.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
+3
-3
@@ -21,15 +21,15 @@ LangString ^UninstallCaption ${LANG_GREEK} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_GREEK} "${VIMRT}\doc\uganda.nsis.elx"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_GREEK} "..\lang\LICENSE.el.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_GREEK} "README.elx.txt"
|
||||
#LangString vim_readme_file ${LANG_GREEK} "README.el.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
@@ -21,15 +21,13 @@ LangString ^UninstallCaption ${LANG_ITALIAN} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_ITALIAN} "${VIMRT}\doc\uganda.nsis.itx"
|
||||
LicenseLangString page_lic_file ${LANG_ITALIAN} "..\lang\LICENSE.it.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_ITALIAN} "README.itx.txt"
|
||||
LangString vim_readme_file ${LANG_ITALIAN} "README.it.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
@@ -31,15 +31,15 @@ LangString ^InstallBtn ${LANG_JAPANESE} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_JAPANESE} "${VIMRT}\doc\uganda.nsis.jax"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_JAPANESE} "..\lang\LICENSE.ja.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_JAPANESE} "README.jax.txt"
|
||||
#LangString vim_readme_file ${LANG_JAPANESE} "README.ja.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
@@ -21,13 +21,13 @@ LangString ^UninstallCaption ${LANG_RUSSIAN} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file ${LANG_RUSSIAN} "${VIMRT}\doc\uganda.nsis.rux"
|
||||
LicenseLangString page_lic_file ${LANG_RUSSIAN} "..\lang\LICENSE.ru.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file ${LANG_RUSSIAN} "README.rux.txt"
|
||||
LangString vim_readme_file ${LANG_RUSSIAN} "README.ru.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
@@ -21,15 +21,15 @@ LangString ^UninstallCaption ${LANG_SERBIAN} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_SERBIAN} "${VIMRT}\doc\uganda.nsis.srx"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_SERBIAN} "..\lang\LICENSE.sr.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_SERBIAN} "README.srx.txt"
|
||||
#LangString vim_readme_file ${LANG_SERBIAN} "README.sr.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
@@ -22,16 +22,16 @@ LangString ^UninstallCaption ${LANG_SIMPCHINESE} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_SIMPCHINESE} \
|
||||
# "${VIMRT}\doc\uganda.nsis.cnx"
|
||||
# "..\lang\LICENSE.zh_cn.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_SIMPCHINESE} "README.cnx.txt"
|
||||
#LangString vim_readme_file ${LANG_SIMPCHINESE} "README.zh_cn.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
@@ -22,16 +22,16 @@ LangString ^UninstallCaption ${LANG_TRADCHINESE} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_TRADCHINESE} \
|
||||
# "${VIMRT}\doc\uganda.nsis.twx"
|
||||
# "..\lang\LICENSE.zh_tw.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_TRADCHINESE} "README.twx.txt"
|
||||
#LangString vim_readme_file ${LANG_TRADCHINESE} "README.zh_tw.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
|
||||
@@ -20,15 +20,15 @@ LangString ^UninstallCaption ${LANG_TURKISH} \
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_TURKISH} "${VIMRT}\doc\uganda.nsis.trx"
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_TURKISH} "..\lang\LICENSE.tr.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_TURKISH} "README.trx.txt"
|
||||
#LangString vim_readme_file ${LANG_TURKISH} "README.tr.txt"
|
||||
|
||||
##############################################################################
|
||||
|
||||
|
||||
Vendored
+2
-3
@@ -3,7 +3,7 @@ vim9script
|
||||
# Vim functions for file type detection
|
||||
#
|
||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
# Last Change: 2025 Jan 08
|
||||
# Last Change: 2025 Jan 11
|
||||
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
# These functions are moved here from runtime/filetype.vim to make startup
|
||||
@@ -437,7 +437,7 @@ export def FThtml()
|
||||
|
||||
while n < 40 && n <= line("$")
|
||||
# Check for Angular
|
||||
if getline(n) =~ '@\(if\|for\|defer\|switch\)\|\*\(ngIf\|ngFor\|ngSwitch\|ngTemplateOutlet\)\|ng-template\|ng-content\|{{.*}}'
|
||||
if getline(n) =~ '@\(if\|for\|defer\|switch\)\|\*\(ngIf\|ngFor\|ngSwitch\|ngTemplateOutlet\)\|ng-template\|ng-content'
|
||||
setf htmlangular
|
||||
return
|
||||
endif
|
||||
@@ -900,7 +900,6 @@ export def SetFileTypeSH(name: string, setft = true): string
|
||||
if exists("b:is_sh")
|
||||
unlet b:is_sh
|
||||
endif
|
||||
return SetFileTypeShell("bash", setft)
|
||||
elseif name =~ '\<sh\>' || name =~ '\<dash\>'
|
||||
# Ubuntu links "sh" to "dash", thus it is expected to work the same way
|
||||
b:is_sh = 1
|
||||
|
||||
Vendored
+4
-1
@@ -4,7 +4,7 @@ vim9script
|
||||
# Invoked from "scripts.vim" in 'runtimepath'
|
||||
#
|
||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
# Last Change: 2023 Aug 10
|
||||
# Last Change: 2025 Jan 20
|
||||
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
export def DetectFiletype()
|
||||
@@ -133,6 +133,9 @@ export def Exe2filetype(name: string, line1: string): string
|
||||
elseif name =~ 'node\(js\)\=\>\|js\>' || name =~ 'rhino\>'
|
||||
return 'javascript'
|
||||
|
||||
elseif name =~# 'just'
|
||||
return 'just'
|
||||
|
||||
# BC calculator
|
||||
elseif name =~ '^bc\>'
|
||||
return 'bc'
|
||||
|
||||
@@ -1,249 +0,0 @@
|
||||
" netrwSettings.vim: makes netrw settings simpler
|
||||
" Date: Nov 15, 2021
|
||||
" Maintainer: This runtime file is looking for a new maintainer.
|
||||
" Former Maintainer: Charles E Campbell
|
||||
" Version: 18
|
||||
" Last Change:
|
||||
" 2024 May 08 by Vim Project: cleanup legacy Win9X checks
|
||||
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
" netrwSettings.vim is provided *as is* and comes with no
|
||||
" warranty of any kind, either expressed or implied. By using
|
||||
" this plugin, you agree that in no event will the copyright
|
||||
" holder be liable for any damages resulting from the use
|
||||
" of this software.
|
||||
"
|
||||
" Mat 4:23 (WEB) Jesus went about in all Galilee, teaching in their {{{1
|
||||
" synagogues, preaching the gospel of the kingdom, and healing
|
||||
" every disease and every sickness among the people.
|
||||
" Load Once: {{{1
|
||||
if exists("g:loaded_netrwSettings") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwSettings = "v18"
|
||||
if v:version < 700
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrwSettings needs vim 7.0"
|
||||
echohl Normal
|
||||
finish
|
||||
endif
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwSettings: {{{1
|
||||
fun! netrwSettings#NetrwSettings()
|
||||
" this call is here largely just to insure that netrw has been loaded
|
||||
call netrw#WinPath("")
|
||||
if !exists("g:loaded_netrw")
|
||||
echohl WarningMsg | echomsg "***sorry*** netrw needs to be loaded prior to using NetrwSettings" | echohl None
|
||||
return
|
||||
endif
|
||||
|
||||
above wincmd s
|
||||
enew
|
||||
setlocal noswapfile bh=wipe
|
||||
set ft=vim
|
||||
file Netrw\ Settings
|
||||
|
||||
" these variables have the following default effects when they don't
|
||||
" exist (ie. have not been set by the user in his/her .vimrc)
|
||||
if !exists("g:netrw_liststyle")
|
||||
let g:netrw_liststyle= 0
|
||||
let g:netrw_list_cmd= "ssh HOSTNAME ls -FLa"
|
||||
endif
|
||||
if !exists("g:netrw_silent")
|
||||
let g:netrw_silent= 0
|
||||
endif
|
||||
if !exists("g:netrw_use_nt_rcp")
|
||||
let g:netrw_use_nt_rcp= 0
|
||||
endif
|
||||
if !exists("g:netrw_ftp")
|
||||
let g:netrw_ftp= 0
|
||||
endif
|
||||
if !exists("g:netrw_ignorenetrc")
|
||||
let g:netrw_ignorenetrc= 0
|
||||
endif
|
||||
|
||||
put ='+ ---------------------------------------------'
|
||||
put ='+ NetrwSettings: by Charles E. Campbell'
|
||||
put ='+ Press <F1> with cursor atop any line for help'
|
||||
put ='+ ---------------------------------------------'
|
||||
let s:netrw_settings_stop= line(".")
|
||||
|
||||
put =''
|
||||
put ='+ Netrw Protocol Commands'
|
||||
put = 'let g:netrw_dav_cmd = '.g:netrw_dav_cmd
|
||||
put = 'let g:netrw_fetch_cmd = '.g:netrw_fetch_cmd
|
||||
put = 'let g:netrw_ftp_cmd = '.g:netrw_ftp_cmd
|
||||
put = 'let g:netrw_http_cmd = '.g:netrw_http_cmd
|
||||
put = 'let g:netrw_rcp_cmd = '.g:netrw_rcp_cmd
|
||||
put = 'let g:netrw_rsync_cmd = '.g:netrw_rsync_cmd
|
||||
put = 'let g:netrw_scp_cmd = '.g:netrw_scp_cmd
|
||||
put = 'let g:netrw_sftp_cmd = '.g:netrw_sftp_cmd
|
||||
put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
|
||||
let s:netrw_protocol_stop= line(".")
|
||||
put = ''
|
||||
|
||||
put ='+Netrw Transfer Control'
|
||||
put = 'let g:netrw_cygwin = '.g:netrw_cygwin
|
||||
put = 'let g:netrw_ftp = '.g:netrw_ftp
|
||||
put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode
|
||||
put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc
|
||||
put = 'let g:netrw_sshport = '.g:netrw_sshport
|
||||
put = 'let g:netrw_silent = '.g:netrw_silent
|
||||
put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp
|
||||
let s:netrw_xfer_stop= line(".")
|
||||
put =''
|
||||
put ='+ Netrw Messages'
|
||||
put ='let g:netrw_use_errorwindow = '.g:netrw_use_errorwindow
|
||||
|
||||
put = ''
|
||||
put ='+ Netrw Browser Control'
|
||||
if exists("g:netrw_altfile")
|
||||
put = 'let g:netrw_altfile = '.g:netrw_altfile
|
||||
else
|
||||
put = 'let g:netrw_altfile = 0'
|
||||
endif
|
||||
put = 'let g:netrw_alto = '.g:netrw_alto
|
||||
put = 'let g:netrw_altv = '.g:netrw_altv
|
||||
put = 'let g:netrw_banner = '.g:netrw_banner
|
||||
if exists("g:netrw_bannerbackslash")
|
||||
put = 'let g:netrw_bannerbackslash = '.g:netrw_bannerbackslash
|
||||
else
|
||||
put = '\" let g:netrw_bannerbackslash = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_browse_split = '.g:netrw_browse_split
|
||||
if exists("g:netrw_browsex_viewer")
|
||||
put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
|
||||
else
|
||||
put = '\" let g:netrw_browsex_viewer = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_compress = '.g:netrw_compress
|
||||
if exists("g:Netrw_corehandler")
|
||||
put = 'let g:Netrw_corehandler = '.g:Netrw_corehandler
|
||||
else
|
||||
put = '\" let g:Netrw_corehandler = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_ctags = '.g:netrw_ctags
|
||||
put = 'let g:netrw_cursor = '.g:netrw_cursor
|
||||
let decompressline= line("$")
|
||||
put = 'let g:netrw_decompress = '.string(g:netrw_decompress)
|
||||
if exists("g:netrw_dynamic_maxfilenamelen")
|
||||
put = 'let g:netrw_dynamic_maxfilenamelen='.g:netrw_dynamic_maxfilenamelen
|
||||
else
|
||||
put = '\" let g:netrw_dynamic_maxfilenamelen= (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
|
||||
put = 'let g:netrw_errorlvl = '.g:netrw_errorlvl
|
||||
put = 'let g:netrw_fastbrowse = '.g:netrw_fastbrowse
|
||||
let fnameescline= line("$")
|
||||
put = 'let g:netrw_fname_escape = '.string(g:netrw_fname_escape)
|
||||
put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject
|
||||
put = 'let g:netrw_ftp_list_cmd = '.g:netrw_ftp_list_cmd
|
||||
put = 'let g:netrw_ftp_sizelist_cmd = '.g:netrw_ftp_sizelist_cmd
|
||||
put = 'let g:netrw_ftp_timelist_cmd = '.g:netrw_ftp_timelist_cmd
|
||||
let globescline= line("$")
|
||||
put = 'let g:netrw_glob_escape = '.string(g:netrw_glob_escape)
|
||||
put = 'let g:netrw_hide = '.g:netrw_hide
|
||||
if exists("g:netrw_home")
|
||||
put = 'let g:netrw_home = '.g:netrw_home
|
||||
else
|
||||
put = '\" let g:netrw_home = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_keepdir = '.g:netrw_keepdir
|
||||
put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd
|
||||
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
|
||||
put = 'let g:netrw_liststyle = '.g:netrw_liststyle
|
||||
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
|
||||
put = 'let g:netrw_localcopycmdopt = '.g:netrw_localcopycmdopt
|
||||
put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir
|
||||
put = 'let g:netrw_localmkdiropt = '.g:netrw_localmkdiropt
|
||||
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
|
||||
put = 'let g:netrw_localmovecmdopt = '.g:netrw_localmovecmdopt
|
||||
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
|
||||
put = 'let g:netrw_menu = '.g:netrw_menu
|
||||
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps
|
||||
put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd
|
||||
if exists("g:netrw_nobeval")
|
||||
put = 'let g:netrw_nobeval = '.g:netrw_nobeval
|
||||
else
|
||||
put = '\" let g:netrw_nobeval = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_remote_mkdir = '.g:netrw_remote_mkdir
|
||||
put = 'let g:netrw_preview = '.g:netrw_preview
|
||||
put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd
|
||||
put = 'let g:netrw_retmap = '.g:netrw_retmap
|
||||
put = 'let g:netrw_rm_cmd = '.g:netrw_rm_cmd
|
||||
put = 'let g:netrw_rmdir_cmd = '.g:netrw_rmdir_cmd
|
||||
put = 'let g:netrw_rmf_cmd = '.g:netrw_rmf_cmd
|
||||
put = 'let g:netrw_sort_by = '.g:netrw_sort_by
|
||||
put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction
|
||||
put = 'let g:netrw_sort_options = '.g:netrw_sort_options
|
||||
put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence
|
||||
put = 'let g:netrw_servername = '.g:netrw_servername
|
||||
put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax
|
||||
put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
|
||||
put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
|
||||
put = 'let g:netrw_scpport = '.g:netrw_scpport
|
||||
put = 'let g:netrw_sepchr = '.g:netrw_sepchr
|
||||
put = 'let g:netrw_sshport = '.g:netrw_sshport
|
||||
put = 'let g:netrw_timefmt = '.g:netrw_timefmt
|
||||
let tmpfileescline= line("$")
|
||||
put ='let g:netrw_tmpfile_escape...'
|
||||
put = 'let g:netrw_use_noswf = '.g:netrw_use_noswf
|
||||
put = 'let g:netrw_xstrlen = '.g:netrw_xstrlen
|
||||
put = 'let g:netrw_winsize = '.g:netrw_winsize
|
||||
|
||||
put =''
|
||||
put ='+ For help, place cursor on line and press <F1>'
|
||||
|
||||
1d
|
||||
silent %s/^+/"/e
|
||||
res 99
|
||||
silent %s/= \([^0-9].*\)$/= '\1'/e
|
||||
silent %s/= $/= ''/e
|
||||
1
|
||||
|
||||
call setline(decompressline,"let g:netrw_decompress = ".substitute(string(g:netrw_decompress),"^'\\(.*\\)'$",'\1',''))
|
||||
call setline(fnameescline, "let g:netrw_fname_escape = '".escape(g:netrw_fname_escape,"'")."'")
|
||||
call setline(globescline, "let g:netrw_glob_escape = '".escape(g:netrw_glob_escape,"'")."'")
|
||||
call setline(tmpfileescline,"let g:netrw_tmpfile_escape = '".escape(g:netrw_tmpfile_escape,"'")."'")
|
||||
|
||||
set nomod
|
||||
|
||||
nmap <buffer> <silent> <F1> :call NetrwSettingHelp()<cr>
|
||||
nnoremap <buffer> <silent> <leftmouse> <leftmouse>:call NetrwSettingHelp()<cr>
|
||||
let tmpfile= tempname()
|
||||
exe 'au BufWriteCmd Netrw\ Settings silent w! '.tmpfile.'|so '.tmpfile.'|call delete("'.tmpfile.'")|set nomod'
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwSettingHelp: {{{2
|
||||
fun! NetrwSettingHelp()
|
||||
" call Dfunc("NetrwSettingHelp()")
|
||||
let curline = getline(".")
|
||||
if curline =~ '='
|
||||
let varhelp = substitute(curline,'^\s*let ','','e')
|
||||
let varhelp = substitute(varhelp,'\s*=.*$','','e')
|
||||
" call Decho("trying help ".varhelp)
|
||||
try
|
||||
exe "he ".varhelp
|
||||
catch /^Vim\%((\a\+)\)\=:E149/
|
||||
echo "***sorry*** no help available for <".varhelp.">"
|
||||
endtry
|
||||
elseif line(".") < s:netrw_settings_stop
|
||||
he netrw-settings
|
||||
elseif line(".") < s:netrw_protocol_stop
|
||||
he netrw-externapp
|
||||
elseif line(".") < s:netrw_xfer_stop
|
||||
he netrw-variables
|
||||
else
|
||||
he netrw-browse-var
|
||||
endif
|
||||
" call Dret("NetrwSettingHelp")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Modelines: {{{1
|
||||
" vim:ts=8 fdm=marker
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -77,6 +77,7 @@ hi Type guifg=#ffa500 guibg=NONE gui=bold cterm=NONE
|
||||
hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Label guifg=#ffd700 guibg=NONE gui=NONE cterm=NONE
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Debug Special
|
||||
hi! link Added String
|
||||
hi! link Removed WarningMsg
|
||||
@@ -189,6 +190,7 @@ if s:t_Co >= 256
|
||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Label ctermfg=220 ctermbg=NONE cterm=NONE
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Debug Special
|
||||
hi! link Added String
|
||||
hi! link Removed WarningMsg
|
||||
@@ -304,6 +306,7 @@ if s:t_Co >= 16
|
||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Label ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Debug Special
|
||||
hi! link Added String
|
||||
hi! link Removed WarningMsg
|
||||
@@ -418,6 +421,7 @@ if s:t_Co >= 8
|
||||
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Label ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Debug Special
|
||||
hi! link Added String
|
||||
hi! link Removed WarningMsg
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original author Bohdan Vlasyuk <bohdan@vstu.edu.ua>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -19,6 +19,7 @@ if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#8b0000', '#90f020', '#ffa500', '#00008b', '#8b008b', '#008b8b', '#c0c0c0', '#808080', '#ffa0a0', '#90f020', '#ffff60', '#0030ff', '#ff00ff', '#90fff0', '#ffffff']
|
||||
endif
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link CursorColumn CursorLine
|
||||
hi! link CursorIM Cursor
|
||||
hi! link EndOfBuffer NonText
|
||||
@@ -129,6 +130,7 @@ hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
|
||||
|
||||
if s:t_Co >= 256
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link CursorColumn CursorLine
|
||||
hi! link CursorIM Cursor
|
||||
hi! link EndOfBuffer NonText
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer David Schweikert <david@schweikert.ch>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -19,6 +19,7 @@ if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#ffffff', '#0000ff', '#00cd00', '#cd00cd', '#008b8b', '#0000ff', '#ff1493', '#bcbcbc', '#ee0000', '#0000ff', '#00cd00', '#cd00cd', '#008b8b', '#0000ff', '#ff1493', '#000000']
|
||||
endif
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link CurSearch Search
|
||||
@@ -95,6 +96,7 @@ hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
|
||||
|
||||
if s:t_Co >= 256
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link CurSearch Search
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Hans Fugal <hans@fugal.net>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -27,6 +27,7 @@ hi! link CursorLineSign CursorLine
|
||||
hi! link EndOfBuffer NonText
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal guifg=#ffffff guibg=#333333 gui=NONE cterm=NONE
|
||||
hi StatusLine guifg=#333333 guibg=#c2bfa5 gui=NONE cterm=NONE
|
||||
hi StatusLineNC guifg=#7f7f8c guibg=#c2bfa5 gui=NONE cterm=NONE
|
||||
@@ -103,6 +104,7 @@ if s:t_Co >= 256
|
||||
hi! link EndOfBuffer NonText
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal ctermfg=231 ctermbg=236 cterm=NONE
|
||||
hi StatusLine ctermfg=236 ctermbg=144 cterm=NONE
|
||||
hi StatusLineNC ctermfg=242 ctermbg=144 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -19,6 +19,7 @@ if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0087ff', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||
endif
|
||||
hi! link VertSplit StatusLineNC
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link TabLineFill TabLine
|
||||
@@ -129,6 +130,7 @@ hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
|
||||
|
||||
if s:t_Co >= 256
|
||||
hi! link VertSplit StatusLineNC
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link TabLineFill TabLine
|
||||
@@ -242,6 +244,7 @@ endif
|
||||
|
||||
if s:t_Co >= 16
|
||||
hi! link VertSplit StatusLineNC
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link TabLineFill TabLine
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -22,6 +22,7 @@ hi! link Terminal Normal
|
||||
hi! link StatuslineTerm Statusline
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link javaScriptFunction Statement
|
||||
hi! link javaScriptIdentifier Statement
|
||||
hi! link sqlKeyword Statement
|
||||
@@ -117,6 +118,7 @@ if s:t_Co >= 256
|
||||
hi! link StatuslineTerm Statusline
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link javaScriptFunction Statement
|
||||
hi! link javaScriptIdentifier Statement
|
||||
hi! link sqlKeyword Statement
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Shian Lee.
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -81,6 +81,7 @@ hi Conceal guifg=#6c6c6c guibg=NONE gui=NONE cterm=NONE
|
||||
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Title guifg=#ff00ff guibg=NONE gui=bold cterm=bold
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link CurSearch Search
|
||||
@@ -157,6 +158,7 @@ if s:t_Co >= 256
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Title ctermfg=201 ctermbg=NONE cterm=bold
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link CurSearch Search
|
||||
@@ -236,6 +238,7 @@ if s:t_Co >= 16
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Title ctermfg=magenta ctermbg=NONE cterm=bold
|
||||
hi! link Terminal Normal
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link CurSearch Search
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
" Website: https://www.github.com/vim/colorschemes
|
||||
" License: Vim License (see `:help license`)
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -92,6 +92,7 @@ hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link MessageWindow PMenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
if &background ==# 'dark'
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#000000', '#af5f5f', '#5faf5f', '#af875f', '#5f87af', '#d787d7', '#5fafaf', '#c6c6c6', '#767676', '#ff5f5f', '#5fd75f', '#ffd787', '#5fafff', '#ff87ff', '#5fd7d7', '#ffffff']
|
||||
@@ -360,6 +361,7 @@ if s:t_Co >= 256
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link MessageWindow PMenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
if &background ==# 'dark'
|
||||
hi Normal ctermfg=251 ctermbg=16 cterm=NONE
|
||||
hi Statusline ctermfg=251 ctermbg=16 cterm=bold,reverse
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Bram Moolenaar <Bram@vim.org>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -28,6 +28,7 @@ hi! link StatuslineTerm Statusline
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal guifg=#000000 guibg=#e4e4e4 gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#0000ff guibg=#cccccc gui=bold cterm=bold
|
||||
hi Folded guifg=#00008b guibg=#d3d3d3 gui=NONE cterm=NONE
|
||||
@@ -102,6 +103,7 @@ if s:t_Co >= 256
|
||||
hi! link StatuslineTermNC StatuslineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal ctermfg=16 ctermbg=254 cterm=NONE
|
||||
hi EndOfBuffer ctermfg=21 ctermbg=252 cterm=bold
|
||||
hi Folded ctermfg=18 ctermbg=252 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>.
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -28,6 +28,7 @@ hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Added Constant
|
||||
hi Normal guifg=#87ff87 guibg=#000000 gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#0000ff guibg=#000000 gui=NONE cterm=NONE
|
||||
@@ -103,6 +104,7 @@ if s:t_Co >= 256
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Added Constant
|
||||
hi Normal ctermfg=120 ctermbg=16 cterm=NONE
|
||||
hi EndOfBuffer ctermfg=21 ctermbg=16 cterm=NONE
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Original maintainerRon Aaron <ron@ronware.org>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -25,6 +25,7 @@ hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
|
||||
hi Comment guifg=#808080 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Constant guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
|
||||
@@ -100,6 +101,7 @@ if s:t_Co >= 256
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal ctermfg=231 ctermbg=16 cterm=NONE
|
||||
hi Comment ctermfg=244 ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=51 ctermbg=NONE cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -26,6 +26,7 @@ hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal guifg=#000000 guibg=#ffdab9 gui=NONE cterm=NONE
|
||||
hi Folded guifg=#000000 guibg=#e3c1a5 gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#f5c195 gui=NONE cterm=NONE
|
||||
@@ -100,6 +101,7 @@ if s:t_Co >= 256
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal ctermfg=16 ctermbg=223 cterm=NONE
|
||||
hi Folded ctermfg=16 ctermbg=252 cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=180 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Maxence Weynans <neutaaaaan@gmail.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Vim License (see `:help license`)`
|
||||
" Last Change: 2024 Aug 05
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -21,6 +21,7 @@ hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Boolean Constant
|
||||
hi! link Character Constant
|
||||
hi! link Conditional Statement
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Maxim Kim <habamax@gmail.com>, ported from gruvbox8 of Lifepillar <lifepillar@lifepillar.me>
|
||||
" Website: https://www.github.com/vim/colorschemes
|
||||
" License: Vim License (see `:help license`)
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -21,6 +21,7 @@ hi! link Tag Special
|
||||
hi! link lCursor Cursor
|
||||
hi! link MessageWindow PMenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link CurSearch IncSearch
|
||||
hi! link Terminal Normal
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer is Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -30,6 +30,7 @@ hi! link Tag Special
|
||||
hi! link Operator Statement
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi Folded guifg=#00008b guibg=#dadada gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#dadada gui=NONE cterm=NONE
|
||||
@@ -110,6 +111,7 @@ if s:t_Co >= 256
|
||||
hi! link Operator Statement
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal ctermfg=16 ctermbg=231 cterm=NONE
|
||||
hi Folded ctermfg=18 ctermbg=253 cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=253 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Ralph Amissah <ralph@amissah.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -26,6 +26,7 @@ hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal guifg=#ffffff guibg=#262626 gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#5f87d7 guibg=NONE gui=NONE cterm=NONE
|
||||
hi StatusLine guifg=#000000 guibg=#afaf87 gui=NONE cterm=NONE
|
||||
@@ -105,6 +106,7 @@ if s:t_Co >= 256
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal ctermfg=231 ctermbg=235 cterm=NONE
|
||||
hi EndOfBuffer ctermfg=68 ctermbg=NONE cterm=NONE
|
||||
hi StatusLine ctermfg=16 ctermbg=144 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Maxence Weynans <neutaaaaan@gmail.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Vim License (see `:help license`)`
|
||||
" Last Change: 2024 Aug 05
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -20,6 +20,7 @@ hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Boolean Constant
|
||||
hi! link Character Constant
|
||||
hi! link Conditional Statement
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Thorsten Maerz <info@netztorte.de>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -28,6 +28,7 @@ hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal guifg=#cccccc guibg=#000000 gui=NONE cterm=NONE
|
||||
hi Comment guifg=#80a0ff guibg=NONE gui=NONE cterm=NONE
|
||||
hi Constant guifg=#ffa0a0 guibg=NONE gui=NONE cterm=NONE
|
||||
@@ -103,6 +104,7 @@ if s:t_Co >= 256
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal ctermfg=251 ctermbg=16 cterm=NONE
|
||||
hi Comment ctermfg=111 ctermbg=NONE cterm=NONE
|
||||
hi Constant ctermfg=217 ctermbg=NONE cterm=NONE
|
||||
|
||||
@@ -0,0 +1,521 @@
|
||||
" Name: unokai
|
||||
" Description: Color scheme similar to Monokai originally created by Wimer Hazenberg for TextMate
|
||||
" Author: k-37 <60838818+k-37@users.noreply.github.com>
|
||||
" Maintainer: k-37 <60838818+k-37@users.noreply.github.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Vim License (see `:help license`)
|
||||
" Last Change: 2024 Dec 15
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
set background=dark
|
||||
|
||||
hi clear
|
||||
let g:colors_name = 'unokai'
|
||||
|
||||
let s:t_Co = has('gui_running') ? -1 : (&t_Co ?? 0)
|
||||
let s:italics = has('gui_running') || (&t_ZH != '' && &t_ZH != '[7m' && !has('win32'))
|
||||
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
let g:terminal_ansi_colors = ['#282923', '#c61e5c', '#81af24', '#fd971f', '#51aebe', '#ae81ff', '#80beb5', '#bababa', '#74705d', '#f92672', '#a6e22e', '#e6db74', '#66d9ef', '#fd5ff0', '#a1efe4', '#f8f8f2']
|
||||
endif
|
||||
hi! link CursorLineFold FoldColumn
|
||||
hi! link CursorLineSign SignColumn
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link Terminal Normal
|
||||
hi! link Delimiter PreProc
|
||||
hi! link Operator PreProc
|
||||
hi! link StorageClass PreProc
|
||||
hi! link Structure PreProc
|
||||
hi! link Define Identifier
|
||||
hi! link Label String
|
||||
hi! link markdownCode Comment
|
||||
hi! link markdownCodeBlock markdownCode
|
||||
hi! link markdownCodeDelimiter markdownCode
|
||||
hi Normal guifg=#f8f8f2 guibg=#282923 gui=NONE cterm=NONE
|
||||
hi StatusLine guifg=#282923 guibg=#bababa gui=NONE cterm=NONE
|
||||
hi StatusLineNC guifg=#282923 guibg=#74705d gui=NONE cterm=NONE
|
||||
hi VertSplit guifg=#74705d guibg=#74705d gui=NONE cterm=NONE
|
||||
hi TabLine guifg=#282923 guibg=#74705d gui=NONE cterm=NONE
|
||||
hi TabLineFill guifg=#282923 guibg=#74705d gui=NONE cterm=NONE
|
||||
hi TabLineSel guifg=#282923 guibg=#bababa gui=bold cterm=bold
|
||||
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ToolbarButton guifg=#74705d guibg=#f8f8f2 gui=bold,reverse cterm=bold,reverse
|
||||
hi QuickFixLine guifg=#282923 guibg=#51aebe gui=NONE cterm=NONE
|
||||
hi CursorLineNr guifg=#dadada guibg=NONE gui=bold cterm=bold
|
||||
hi LineNr guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
|
||||
hi LineNrAbove guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
|
||||
hi LineNrBelow guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
|
||||
hi NonText guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
|
||||
hi EndOfBuffer guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
|
||||
hi SpecialKey guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
|
||||
hi FoldColumn guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
|
||||
hi Visual guifg=#a1efe4 guibg=#282923 gui=reverse cterm=reverse
|
||||
hi VisualNOS guifg=#282923 guibg=#80beb5 gui=NONE cterm=NONE
|
||||
hi Pmenu guifg=NONE guibg=#585858 gui=NONE cterm=NONE
|
||||
hi PmenuThumb guifg=NONE guibg=#74705d gui=NONE cterm=NONE
|
||||
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi PmenuSel guifg=NONE guibg=#8a8a8a gui=NONE cterm=NONE
|
||||
hi PmenuKind guifg=#80beb5 guibg=#585858 gui=NONE cterm=NONE
|
||||
hi PmenuKindSel guifg=#80beb5 guibg=#8a8a8a gui=NONE cterm=NONE
|
||||
hi PmenuExtra guifg=#bababa guibg=#585858 gui=NONE cterm=NONE
|
||||
hi PmenuExtraSel guifg=#bababa guibg=#8a8a8a gui=NONE cterm=NONE
|
||||
hi PmenuMatch guifg=#ffaf5f guibg=#585858 gui=NONE cterm=NONE
|
||||
hi PmenuMatchSel guifg=#ffaf5f guibg=#8a8a8a gui=NONE cterm=NONE
|
||||
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Error guifg=#f92672 guibg=#000000 gui=reverse cterm=reverse
|
||||
hi ErrorMsg guifg=#f92672 guibg=#000000 gui=reverse cterm=reverse
|
||||
hi ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi MoreMsg guifg=#81af24 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Question guifg=#e6db74 guibg=NONE gui=NONE cterm=NONE
|
||||
hi WarningMsg guifg=#f92672 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Todo guifg=#dadada guibg=NONE gui=bold cterm=bold
|
||||
hi MatchParen guifg=#fd971f guibg=NONE gui=bold cterm=bold
|
||||
hi Search guifg=#66d9ef guibg=#282923 gui=reverse cterm=reverse
|
||||
hi IncSearch guifg=#ffaf5f guibg=#282923 gui=reverse cterm=reverse
|
||||
hi CurSearch guifg=#ffaf5f guibg=#282923 gui=reverse cterm=reverse
|
||||
hi WildMenu guifg=#282923 guibg=#e6db74 gui=bold cterm=bold
|
||||
hi debugPC guifg=#282923 guibg=#51aebe gui=NONE cterm=NONE
|
||||
hi debugBreakpoint guifg=#282923 guibg=#f92672 gui=NONE cterm=NONE
|
||||
hi Cursor guifg=#000000 guibg=#dadada gui=NONE cterm=NONE
|
||||
hi lCursor guifg=#282923 guibg=#5fff00 gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#3a392f gui=NONE cterm=NONE
|
||||
hi CursorColumn guifg=NONE guibg=#3a392f gui=NONE cterm=NONE
|
||||
hi Folded guifg=#bababa guibg=#414141 gui=NONE cterm=NONE
|
||||
hi ColorColumn guifg=NONE guibg=#585858 gui=NONE cterm=NONE
|
||||
hi SpellBad guifg=NONE guibg=NONE guisp=#d75f5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi SpellCap guifg=NONE guibg=NONE guisp=#ffaf5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi SpellLocal guifg=NONE guibg=NONE guisp=#5fd75f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi SpellRare guifg=NONE guibg=NONE guisp=#fd5ff0 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi Constant guifg=#ae81ff guibg=NONE gui=NONE cterm=NONE
|
||||
hi Type guifg=#fd971f guibg=NONE gui=bold cterm=bold
|
||||
hi Character guifg=#a6e22e guibg=NONE gui=NONE cterm=NONE
|
||||
hi Comment guifg=#74705d guibg=NONE gui=NONE cterm=NONE
|
||||
hi String guifg=#e6db74 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Function guifg=#a6e22e guibg=NONE gui=NONE cterm=NONE
|
||||
hi Identifier guifg=#66d9ef guibg=NONE gui=NONE cterm=NONE
|
||||
hi PreProc guifg=#f92672 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Special guifg=#80beb5 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Statement guifg=#f92672 guibg=NONE gui=bold cterm=bold
|
||||
hi Underlined guifg=#66d9ef guibg=NONE gui=underline cterm=underline
|
||||
hi Title guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Debug guifg=#80beb5 guibg=NONE gui=NONE cterm=NONE
|
||||
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Directory guifg=#a1efe4 guibg=NONE gui=bold cterm=bold
|
||||
hi Conceal guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
|
||||
hi DiffAdd guifg=#5faf5f guibg=NONE gui=reverse cterm=reverse
|
||||
hi DiffChange guifg=#5f87af guibg=NONE gui=reverse cterm=reverse
|
||||
hi DiffText guifg=#af87af guibg=NONE gui=reverse cterm=reverse
|
||||
hi DiffDelete guifg=#af5f5f guibg=NONE gui=reverse cterm=reverse
|
||||
hi Added guifg=#5fd75f guibg=NONE gui=NONE cterm=NONE
|
||||
hi Changed guifg=#ffaf5f guibg=NONE gui=NONE cterm=NONE
|
||||
hi Removed guifg=#d75f5f guibg=NONE gui=NONE cterm=NONE
|
||||
hi htmlBold guifg=#f8f8f2 guibg=NONE gui=bold cterm=bold
|
||||
hi htmlItalic guifg=#f8f8f2 guibg=NONE gui=italic cterm=italic
|
||||
hi markdownHeadingDelimiter guifg=#f8f8f2 guibg=NONE gui=NONE cterm=NONE
|
||||
hi markdownH1Delimiter guifg=#f92672 guibg=NONE gui=NONE cterm=NONE
|
||||
hi markdownH2Delimiter guifg=#e6db74 guibg=NONE gui=NONE cterm=NONE
|
||||
hi markdownH4Delimiter guifg=#66d9ef guibg=NONE gui=NONE cterm=NONE
|
||||
hi markdownH6Delimiter guifg=#a6e22e guibg=NONE gui=NONE cterm=NONE
|
||||
hi markdownH3Delimiter guifg=#fd971f guibg=NONE gui=NONE cterm=NONE
|
||||
hi markdownH5Delimiter guifg=#51aebe guibg=NONE gui=NONE cterm=NONE
|
||||
if !s:italics
|
||||
hi htmlItalic gui=NONE cterm=NONE
|
||||
endif
|
||||
|
||||
if s:t_Co >= 256
|
||||
hi! link CursorLineFold FoldColumn
|
||||
hi! link CursorLineSign SignColumn
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link StatusLineTerm StatusLine
|
||||
hi! link StatusLineTermNC StatusLineNC
|
||||
hi! link Terminal Normal
|
||||
hi! link Delimiter PreProc
|
||||
hi! link Operator PreProc
|
||||
hi! link StorageClass PreProc
|
||||
hi! link Structure PreProc
|
||||
hi! link Define Identifier
|
||||
hi! link Label String
|
||||
hi! link markdownCode Comment
|
||||
hi! link markdownCodeBlock markdownCode
|
||||
hi! link markdownCodeDelimiter markdownCode
|
||||
hi Normal ctermfg=255 ctermbg=235 cterm=NONE
|
||||
hi StatusLine ctermfg=235 ctermbg=250 cterm=NONE
|
||||
hi StatusLineNC ctermfg=235 ctermbg=244 cterm=NONE
|
||||
hi VertSplit ctermfg=244 ctermbg=244 cterm=NONE
|
||||
hi TabLine ctermfg=235 ctermbg=244 cterm=NONE
|
||||
hi TabLineFill ctermfg=235 ctermbg=244 cterm=NONE
|
||||
hi TabLineSel ctermfg=235 ctermbg=250 cterm=bold
|
||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ToolbarButton ctermfg=244 ctermbg=255 cterm=bold,reverse
|
||||
hi QuickFixLine ctermfg=235 ctermbg=141 cterm=NONE
|
||||
hi CursorLineNr ctermfg=253 ctermbg=NONE cterm=bold
|
||||
hi LineNr ctermfg=245 ctermbg=NONE cterm=NONE
|
||||
hi LineNrAbove ctermfg=245 ctermbg=NONE cterm=NONE
|
||||
hi LineNrBelow ctermfg=245 ctermbg=NONE cterm=NONE
|
||||
hi NonText ctermfg=245 ctermbg=NONE cterm=NONE
|
||||
hi EndOfBuffer ctermfg=245 ctermbg=NONE cterm=NONE
|
||||
hi SpecialKey ctermfg=245 ctermbg=NONE cterm=NONE
|
||||
hi FoldColumn ctermfg=245 ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=116 ctermbg=235 cterm=reverse
|
||||
hi VisualNOS ctermfg=235 ctermbg=73 cterm=NONE
|
||||
hi Pmenu ctermfg=NONE ctermbg=240 cterm=NONE
|
||||
hi PmenuThumb ctermfg=NONE ctermbg=244 cterm=NONE
|
||||
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi PmenuSel ctermfg=NONE ctermbg=245 cterm=NONE
|
||||
hi PmenuKind ctermfg=73 ctermbg=240 cterm=NONE
|
||||
hi PmenuKindSel ctermfg=73 ctermbg=245 cterm=NONE
|
||||
hi PmenuExtra ctermfg=250 ctermbg=240 cterm=NONE
|
||||
hi PmenuExtraSel ctermfg=250 ctermbg=245 cterm=NONE
|
||||
hi PmenuMatch ctermfg=215 ctermbg=240 cterm=NONE
|
||||
hi PmenuMatchSel ctermfg=215 ctermbg=245 cterm=NONE
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Error ctermfg=197 ctermbg=16 cterm=reverse
|
||||
hi ErrorMsg ctermfg=197 ctermbg=16 cterm=reverse
|
||||
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi MoreMsg ctermfg=106 ctermbg=NONE cterm=NONE
|
||||
hi Question ctermfg=185 ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=197 ctermbg=NONE cterm=NONE
|
||||
hi Todo ctermfg=253 ctermbg=NONE cterm=bold
|
||||
hi MatchParen ctermfg=208 ctermbg=NONE cterm=bold
|
||||
hi Search ctermfg=81 ctermbg=235 cterm=reverse
|
||||
hi IncSearch ctermfg=215 ctermbg=235 cterm=reverse
|
||||
hi CurSearch ctermfg=215 ctermbg=235 cterm=reverse
|
||||
hi WildMenu ctermfg=235 ctermbg=185 cterm=bold
|
||||
hi debugPC ctermfg=235 ctermbg=73 cterm=NONE
|
||||
hi debugBreakpoint ctermfg=235 ctermbg=197 cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=237 cterm=NONE
|
||||
hi CursorColumn ctermfg=NONE ctermbg=237 cterm=NONE
|
||||
hi Folded ctermfg=250 ctermbg=238 cterm=NONE
|
||||
hi ColorColumn ctermfg=NONE ctermbg=240 cterm=NONE
|
||||
hi SpellBad ctermfg=167 ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=215 ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=77 ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=207 ctermbg=NONE cterm=underline
|
||||
hi Constant ctermfg=141 ctermbg=NONE cterm=NONE
|
||||
hi Type ctermfg=208 ctermbg=NONE cterm=bold
|
||||
hi Character ctermfg=112 ctermbg=NONE cterm=NONE
|
||||
hi Comment ctermfg=244 ctermbg=NONE cterm=NONE
|
||||
hi String ctermfg=185 ctermbg=NONE cterm=NONE
|
||||
hi Function ctermfg=112 ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=81 ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=197 ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=73 ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=197 ctermbg=NONE cterm=bold
|
||||
hi Underlined ctermfg=81 ctermbg=NONE cterm=underline
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Debug ctermfg=73 ctermbg=NONE cterm=NONE
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Directory ctermfg=116 ctermbg=NONE cterm=bold
|
||||
hi Conceal ctermfg=245 ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd ctermfg=71 ctermbg=NONE cterm=reverse
|
||||
hi DiffChange ctermfg=67 ctermbg=NONE cterm=reverse
|
||||
hi DiffText ctermfg=139 ctermbg=NONE cterm=reverse
|
||||
hi DiffDelete ctermfg=131 ctermbg=NONE cterm=reverse
|
||||
hi Added ctermfg=77 ctermbg=NONE cterm=NONE
|
||||
hi Changed ctermfg=215 ctermbg=NONE cterm=NONE
|
||||
hi Removed ctermfg=167 ctermbg=NONE cterm=NONE
|
||||
hi htmlBold ctermfg=255 ctermbg=NONE cterm=bold
|
||||
hi htmlItalic ctermfg=255 ctermbg=NONE cterm=underline
|
||||
hi markdownHeadingDelimiter ctermfg=255 ctermbg=NONE cterm=NONE
|
||||
hi markdownH1Delimiter ctermfg=197 ctermbg=NONE cterm=NONE
|
||||
hi markdownH2Delimiter ctermfg=185 ctermbg=NONE cterm=NONE
|
||||
hi markdownH4Delimiter ctermfg=81 ctermbg=NONE cterm=NONE
|
||||
hi markdownH6Delimiter ctermfg=112 ctermbg=NONE cterm=NONE
|
||||
hi markdownH3Delimiter ctermfg=208 ctermbg=NONE cterm=NONE
|
||||
hi markdownH5Delimiter ctermfg=73 ctermbg=NONE cterm=NONE
|
||||
unlet s:t_Co s:italics
|
||||
finish
|
||||
endif
|
||||
|
||||
if s:t_Co >= 16
|
||||
hi Normal ctermfg=white ctermbg=black cterm=NONE
|
||||
hi StatusLine ctermfg=black ctermbg=gray cterm=NONE
|
||||
hi StatusLineNC ctermfg=black ctermbg=darkgray cterm=NONE
|
||||
hi VertSplit ctermfg=darkgray ctermbg=darkgray cterm=NONE
|
||||
hi TabLine ctermfg=black ctermbg=darkgray cterm=NONE
|
||||
hi TabLineFill ctermfg=black ctermbg=darkgray cterm=NONE
|
||||
hi TabLineSel ctermfg=black ctermbg=gray cterm=bold
|
||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ToolbarButton ctermfg=darkgray ctermbg=white cterm=bold,reverse
|
||||
hi QuickFixLine ctermfg=black ctermbg=darkmagenta cterm=NONE
|
||||
hi CursorLineNr ctermfg=white ctermbg=NONE cterm=bold
|
||||
hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi LineNrAbove ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi LineNrBelow ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi FoldColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi Visual ctermfg=cyan ctermbg=black cterm=reverse
|
||||
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||
hi Pmenu ctermfg=black ctermbg=gray cterm=NONE
|
||||
hi PmenuThumb ctermfg=gray ctermbg=black cterm=NONE
|
||||
hi PmenuSbar ctermfg=NONE ctermbg=gray cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi PmenuKind ctermfg=darkred ctermbg=gray cterm=NONE
|
||||
hi PmenuKindSel ctermfg=darkred ctermbg=darkyellow cterm=NONE
|
||||
hi PmenuExtra ctermfg=darkgray ctermbg=gray cterm=NONE
|
||||
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi PmenuMatch ctermfg=black ctermbg=gray cterm=bold
|
||||
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Error ctermfg=red ctermbg=black cterm=reverse
|
||||
hi ErrorMsg ctermfg=red ctermbg=black cterm=reverse
|
||||
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi Question ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
|
||||
hi Todo ctermfg=white ctermbg=NONE cterm=bold
|
||||
hi MatchParen ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||
hi Search ctermfg=blue ctermbg=black cterm=reverse
|
||||
hi IncSearch ctermfg=red ctermbg=black cterm=reverse
|
||||
hi CurSearch ctermfg=red ctermbg=black cterm=reverse
|
||||
hi WildMenu ctermfg=black ctermbg=yellow cterm=bold
|
||||
hi debugPC ctermfg=black ctermbg=darkblue cterm=NONE
|
||||
hi debugBreakpoint ctermfg=black ctermbg=red cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi CursorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi Folded ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
|
||||
hi SpellCap ctermfg=darkyellow ctermbg=NONE cterm=underline
|
||||
hi SpellLocal ctermfg=darkgreen ctermbg=NONE cterm=underline
|
||||
hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
|
||||
hi Constant ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||
hi Type ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||
hi Character ctermfg=green ctermbg=NONE cterm=NONE
|
||||
hi Comment ctermfg=darkgray ctermbg=NONE cterm=NONE
|
||||
hi String ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi Function ctermfg=green ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=blue ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=red ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Statement ctermfg=red ctermbg=NONE cterm=bold
|
||||
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Debug ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Directory ctermfg=cyan ctermbg=NONE cterm=bold
|
||||
hi Conceal ctermfg=darkgrey ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd ctermfg=darkgreen ctermbg=NONE cterm=reverse
|
||||
hi DiffChange ctermfg=darkblue ctermbg=NONE cterm=reverse
|
||||
hi DiffText ctermfg=darkmagenta ctermbg=NONE cterm=reverse
|
||||
hi DiffDelete ctermfg=darkred ctermbg=NONE cterm=reverse
|
||||
hi Added ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi Changed ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi htmlBold ctermfg=white ctermbg=NONE cterm=bold
|
||||
hi htmlItalic ctermfg=white ctermbg=NONE cterm=underline
|
||||
hi markdownHeadingDelimiter ctermfg=white ctermbg=NONE cterm=NONE
|
||||
hi markdownH1Delimiter ctermfg=red ctermbg=NONE cterm=NONE
|
||||
hi markdownH2Delimiter ctermfg=yellow ctermbg=NONE cterm=NONE
|
||||
hi markdownH4Delimiter ctermfg=blue ctermbg=NONE cterm=NONE
|
||||
hi markdownH6Delimiter ctermfg=green ctermbg=NONE cterm=NONE
|
||||
hi markdownH3Delimiter ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi markdownH5Delimiter ctermfg=darkblue ctermbg=NONE cterm=NONE
|
||||
unlet s:t_Co s:italics
|
||||
finish
|
||||
endif
|
||||
|
||||
if s:t_Co >= 8
|
||||
hi Normal ctermfg=gray ctermbg=black cterm=NONE
|
||||
hi StatusLine ctermfg=gray ctermbg=black cterm=bold,reverse
|
||||
hi StatusLineNC ctermfg=gray ctermbg=black cterm=reverse
|
||||
hi VertSplit ctermfg=gray ctermbg=gray cterm=NONE
|
||||
hi TabLine ctermfg=black ctermbg=gray cterm=NONE
|
||||
hi TabLineFill ctermfg=gray ctermbg=gray cterm=NONE
|
||||
hi TabLineSel ctermfg=black ctermbg=gray cterm=bold
|
||||
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi ToolbarButton ctermfg=gray ctermbg=black cterm=reverse
|
||||
hi QuickFixLine ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi CursorLineNr ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||
hi LineNr ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi LineNrAbove ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi LineNrBelow ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi NonText ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi EndOfBuffer ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi SpecialKey ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi FoldColumn ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi Visual ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||
hi Pmenu ctermfg=black ctermbg=gray cterm=NONE
|
||||
hi PmenuThumb ctermfg=gray ctermbg=black cterm=NONE
|
||||
hi PmenuSbar ctermfg=NONE ctermbg=gray cterm=NONE
|
||||
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi PmenuKind ctermfg=darkred ctermbg=gray cterm=NONE
|
||||
hi PmenuKindSel ctermfg=darkred ctermbg=darkyellow cterm=NONE
|
||||
hi PmenuExtra ctermfg=black ctermbg=gray cterm=NONE
|
||||
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi PmenuMatch ctermfg=black ctermbg=gray cterm=bold
|
||||
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
|
||||
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Error ctermfg=darkred ctermbg=gray cterm=bold,reverse
|
||||
hi ErrorMsg ctermfg=darkred ctermbg=gray cterm=bold,reverse
|
||||
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi Question ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi Todo ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi MatchParen ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||
hi Search ctermfg=black ctermbg=darkblue cterm=NONE
|
||||
hi IncSearch ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi CurSearch ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi debugPC ctermfg=black ctermbg=darkblue cterm=NONE
|
||||
hi debugBreakpoint ctermfg=black ctermbg=darkcyan cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
hi CursorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi Folded ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
|
||||
hi SpellBad ctermfg=darkred ctermbg=gray cterm=reverse
|
||||
hi SpellCap ctermfg=darkblue ctermbg=gray cterm=reverse
|
||||
hi SpellLocal ctermfg=darkgreen ctermbg=black cterm=reverse
|
||||
hi SpellRare ctermfg=darkmagenta ctermbg=gray cterm=reverse
|
||||
hi Constant ctermfg=darkmagenta ctermbg=NONE cterm=NONE
|
||||
hi Type ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||
hi Character ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi Comment ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi String ctermfg=darkyellow ctermbg=NONE cterm=bold
|
||||
hi Function ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi Identifier ctermfg=darkblue ctermbg=NONE cterm=NONE
|
||||
hi PreProc ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi Special ctermfg=darkcyan ctermbg=NONE cterm=bold
|
||||
hi Statement ctermfg=darkred ctermbg=NONE cterm=bold
|
||||
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
|
||||
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
|
||||
hi Debug ctermfg=darkcyan ctermbg=NONE cterm=NONE
|
||||
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
|
||||
hi Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
|
||||
hi Conceal ctermfg=gray ctermbg=NONE cterm=NONE
|
||||
hi DiffAdd ctermfg=darkgreen ctermbg=NONE cterm=reverse
|
||||
hi DiffChange ctermfg=darkblue ctermbg=NONE cterm=reverse
|
||||
hi DiffText ctermfg=darkmagenta ctermbg=NONE cterm=reverse
|
||||
hi DiffDelete ctermfg=darkred ctermbg=NONE cterm=reverse
|
||||
hi Added ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi Changed ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi htmlBold ctermfg=gray ctermbg=NONE cterm=bold
|
||||
hi htmlItalic ctermfg=gray ctermbg=NONE cterm=underline
|
||||
hi markdownHeadingDelimiter ctermfg=gray ctermbg=NONE cterm=NONE
|
||||
hi markdownH1Delimiter ctermfg=darkred ctermbg=NONE cterm=NONE
|
||||
hi markdownH2Delimiter ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi markdownH4Delimiter ctermfg=darkblue ctermbg=NONE cterm=NONE
|
||||
hi markdownH6Delimiter ctermfg=darkgreen ctermbg=NONE cterm=NONE
|
||||
hi markdownH3Delimiter ctermfg=darkyellow ctermbg=NONE cterm=NONE
|
||||
hi markdownH5Delimiter ctermfg=darkblue ctermbg=NONE cterm=NONE
|
||||
unlet s:t_Co s:italics
|
||||
finish
|
||||
endif
|
||||
|
||||
if s:t_Co >= 0
|
||||
hi Normal term=NONE
|
||||
hi ColorColumn term=reverse
|
||||
hi Conceal term=NONE
|
||||
hi Cursor term=reverse
|
||||
hi CursorColumn term=NONE
|
||||
hi CursorLine term=underline
|
||||
hi CursorLineNr term=bold
|
||||
hi DiffAdd term=reverse
|
||||
hi DiffChange term=NONE
|
||||
hi DiffDelete term=reverse
|
||||
hi DiffText term=reverse
|
||||
hi Directory term=NONE
|
||||
hi EndOfBuffer term=NONE
|
||||
hi ErrorMsg term=bold,reverse
|
||||
hi FoldColumn term=NONE
|
||||
hi Folded term=NONE
|
||||
hi IncSearch term=bold,reverse,underline
|
||||
hi LineNr term=NONE
|
||||
hi MatchParen term=bold,underline
|
||||
hi ModeMsg term=bold
|
||||
hi MoreMsg term=NONE
|
||||
hi NonText term=NONE
|
||||
hi Pmenu term=reverse
|
||||
hi PmenuSbar term=reverse
|
||||
hi PmenuSel term=bold
|
||||
hi PmenuThumb term=NONE
|
||||
hi Question term=standout
|
||||
hi Search term=reverse
|
||||
hi SignColumn term=reverse
|
||||
hi SpecialKey term=bold
|
||||
hi SpellBad term=underline
|
||||
hi SpellCap term=underline
|
||||
hi SpellLocal term=underline
|
||||
hi SpellRare term=underline
|
||||
hi StatusLine term=bold,reverse
|
||||
hi StatusLineNC term=bold,underline
|
||||
hi TabLine term=bold,underline
|
||||
hi TabLineFill term=NONE
|
||||
hi Terminal term=NONE
|
||||
hi TabLineSel term=bold,reverse
|
||||
hi Title term=NONE
|
||||
hi VertSplit term=NONE
|
||||
hi Visual term=reverse
|
||||
hi VisualNOS term=NONE
|
||||
hi WarningMsg term=standout
|
||||
hi WildMenu term=bold
|
||||
hi CursorIM term=NONE
|
||||
hi ToolbarLine term=reverse
|
||||
hi ToolbarButton term=bold,reverse
|
||||
hi CurSearch term=reverse
|
||||
hi CursorLineFold term=underline
|
||||
hi CursorLineSign term=underline
|
||||
hi Comment term=bold
|
||||
hi Constant term=NONE
|
||||
hi Error term=bold,reverse
|
||||
hi Identifier term=NONE
|
||||
hi Ignore term=NONE
|
||||
hi PreProc term=NONE
|
||||
hi Special term=NONE
|
||||
hi Statement term=NONE
|
||||
hi Todo term=bold,reverse
|
||||
hi Type term=NONE
|
||||
hi Underlined term=underline
|
||||
unlet s:t_Co s:italics
|
||||
finish
|
||||
endif
|
||||
|
||||
" Background: dark
|
||||
" Color: color00 #282923 235 black
|
||||
" Color: color08 #74705d 244 darkgray
|
||||
" Color: color01 #c61e5c 125 darkred
|
||||
" Color: color09 #f92672 197 red
|
||||
" Color: color02 #81af24 106 darkgreen
|
||||
" Color: color10 #a6e22e 112 green
|
||||
" Color: color03 #fd971f 208 darkyellow
|
||||
" Color: color11 #e6db74 185 yellow
|
||||
" Color: color04 #51aebe 73 darkblue
|
||||
" Color: color12 #66d9ef 81 blue
|
||||
" Color: color05 #ae81ff 141 darkmagenta
|
||||
" Color: color13 #fd5ff0 207 magenta
|
||||
" Color: color06 #80beb5 73 darkcyan
|
||||
" Color: color14 #a1efe4 116 cyan
|
||||
" Color: color07 #bababa 250 gray
|
||||
" Color: color15 #f8f8f2 255 white
|
||||
" Color: colorLine #3a392f 237 darkgrey
|
||||
" Color: colorB #585858 240 darkgrey
|
||||
" Color: colorF #414141 238 darkgrey
|
||||
" Color: colorNonT #8a8a8a 245 darkgrey
|
||||
" Color: colorC #ffaf5f 215 red
|
||||
" Color: colorlC #5fff00 82 green
|
||||
" Color: colorV #1f3f5f 109 cyan
|
||||
" Color: colorMP #fd971f 208 darkyellow
|
||||
" Color: diffAdd #5faf5f 71 darkgreen
|
||||
" Color: diffDelete #af5f5f 131 darkred
|
||||
" Color: diffChange #5f87af 67 darkblue
|
||||
" Color: diffText #af87af 139 darkmagenta
|
||||
" Color: black #000000 16 black
|
||||
" Color: white #dadada 253 white
|
||||
" Color: Added #5fd75f 77 darkgreen
|
||||
" Color: Changed #ffaf5f 215 darkyellow
|
||||
" Color: Removed #d75f5f 167 darkred
|
||||
" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
|
||||
" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
|
||||
" vim: et ts=8 sw=2 sts=2
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -20,6 +20,7 @@ hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link MessageWindow PMenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link CurSearch IncSearch
|
||||
if &background ==# 'dark'
|
||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||
@@ -185,6 +186,7 @@ if s:t_Co >= 256
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link MessageWindow PMenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link CurSearch IncSearch
|
||||
if &background ==# 'dark'
|
||||
hi Normal ctermfg=252 ctermbg=16 cterm=NONE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -91,6 +91,7 @@ hi! link TabLineFill StatusLineNC
|
||||
hi! link TabLineSel StatusLine
|
||||
hi! link Terminal Normal
|
||||
hi! link lCursor Cursor
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Boolean Constant
|
||||
hi! link Character Constant
|
||||
hi! link Conditional Statement
|
||||
@@ -196,6 +197,7 @@ if s:t_Co >= 256
|
||||
hi! link TabLineSel StatusLine
|
||||
hi! link Terminal Normal
|
||||
hi! link lCursor Cursor
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Boolean Constant
|
||||
hi! link Character Constant
|
||||
hi! link Conditional Statement
|
||||
@@ -304,6 +306,7 @@ if s:t_Co >= 16
|
||||
hi! link TabLineSel StatusLine
|
||||
hi! link Terminal Normal
|
||||
hi! link lCursor Cursor
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Boolean Constant
|
||||
hi! link Character Constant
|
||||
hi! link Conditional Statement
|
||||
@@ -412,6 +415,7 @@ if s:t_Co >= 8
|
||||
hi! link TabLineSel StatusLine
|
||||
hi! link Terminal Normal
|
||||
hi! link lCursor Cursor
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi! link Boolean Constant
|
||||
hi! link Character Constant
|
||||
hi! link Conditional Statement
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>
|
||||
" Website: https://github.com/vim/colorschemes
|
||||
" License: Same as Vim
|
||||
" Last Change: 2024 Aug 15
|
||||
" Last Change: 2025 Jan 07
|
||||
|
||||
" Generated by Colortemplate v2.2.3
|
||||
|
||||
@@ -26,6 +26,7 @@ hi! link CursorLineFold CursorLine
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
|
||||
hi Folded guifg=#00008b guibg=#d3d3d3 gui=NONE cterm=NONE
|
||||
hi CursorLine guifg=NONE guibg=#e5e5e5 gui=NONE cterm=NONE
|
||||
@@ -101,6 +102,7 @@ if s:t_Co >= 256
|
||||
hi! link CursorLineSign CursorLine
|
||||
hi! link MessageWindow Pmenu
|
||||
hi! link PopupNotification Todo
|
||||
hi! link PopupSelected PmenuSel
|
||||
hi Normal ctermfg=16 ctermbg=231 cterm=NONE
|
||||
hi Folded ctermfg=18 ctermbg=252 cterm=NONE
|
||||
hi CursorLine ctermfg=NONE ctermbg=254 cterm=NONE
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
# Correct the following line for the where executable file vim is installed.
|
||||
# Please do not put the path in quotes.
|
||||
VIMPROG = D:\Programs\Vim\vim91\vim.exe
|
||||
VIMPROG = ..\..\src\vim.exe
|
||||
|
||||
# Correct the following line for the directory where iconv installed.
|
||||
# Please do not put the path in quotes.
|
||||
@@ -54,7 +54,7 @@ tags : doctags $(DOCS)
|
||||
doctags.exe $(DOCS) | sort /L C /O tags
|
||||
$(PS) $(PSFLAGS) \
|
||||
(Get-Content -Raw tags ^| Get-Unique ^| %%{$$_ -replace \"`r\", \"\"}) \
|
||||
^| New-Item -Path . -Force -ItemType file -Name tags
|
||||
^| New-Item -Path . -Name tags -ItemType file -Force
|
||||
|
||||
doctags : doctags.c
|
||||
$(CC) doctags.c
|
||||
@@ -65,15 +65,6 @@ doctags : doctags.c
|
||||
vimtags : $(DOCS)
|
||||
@"$(VIMPROG)" --clean -esX -V1 -u doctags.vim
|
||||
|
||||
|
||||
uganda.nsis.txt : uganda.???
|
||||
! $(PS) $(PSFLAGS) (Get-Content $? -Encoding UTF8 \
|
||||
^| %%{$$_ -replace '[\t\s]*\*.*\*', '' -replace 'vim:tw=\d\d:.*', ''}) \
|
||||
^| Set-Content \"$(@B)$$((Get-Item $?).Extension)\" -Encoding Unicode
|
||||
! $(PS) $(PSFLAGS)\
|
||||
(Get-Content $(@B)$$((Get-Item $?).Extension) -Raw).Trim() -replace '(\r\n){3,}', '$$1$$1' \
|
||||
^| Set-Content \"$(@B)$$((Get-Item $?).Extension)\" -Encoding Unicode
|
||||
|
||||
# TODO:
|
||||
#html: noerrors tags $(HTMLS)
|
||||
# if exist errors.log (more errors.log)
|
||||
@@ -108,8 +99,8 @@ test_urls :
|
||||
"$(VIMPROG)" --clean -S test_urls.vim
|
||||
|
||||
clean :
|
||||
$(RM) doctags.exe doctags.obj
|
||||
$(RM) *.html vim-stylesheet.css
|
||||
- $(RM) doctags.exe doctags.obj
|
||||
- $(RM) *.html vim-stylesheet.css
|
||||
|
||||
|
||||
arabic.txt :
|
||||
|
||||
@@ -49,16 +49,6 @@ vimtutor.man: vimtutor.1
|
||||
xxd.man: xxd.1
|
||||
nroff -man $? | sed -e s/.//g > $@
|
||||
|
||||
uganda.nsis.txt : uganda.???
|
||||
for dpn in $?; do \
|
||||
trg=$@; \
|
||||
sed -e 's/[ ]*\*.*\*//g' -e 's/vim:tw=[[:digit:]][[:digit:]]:.*//' \
|
||||
$${dpn} | uniq > $${trg%txt}$${dpn##*.}; \
|
||||
done
|
||||
# This files needs to be in dos fileformat for NSIS.
|
||||
$(VIMPROG) -e -X -u NONE --cmd "set notitle noicon nocp noml viminfo=" \
|
||||
-c "argdo write ++ff=dos" -c "qa" uganda.nsis.???
|
||||
|
||||
# Awk version of .txt to .html conversion.
|
||||
html: noerrors tags $(HTMLS)
|
||||
@if test -f errors.log; then more errors.log; fi
|
||||
|
||||
+80
-4
@@ -1,4 +1,4 @@
|
||||
*builtin.txt* For Vim version 9.1. Last change: 2025 Jan 06
|
||||
*builtin.txt* For Vim version 9.1. Last change: 2025 Jan 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -72,6 +72,7 @@ base64_encode({blob}) String base64 encode the bytes in {blob}
|
||||
bindtextdomain({package}, {path})
|
||||
Bool bind text domain to specified path
|
||||
blob2list({blob}) List convert {blob} into a list of numbers
|
||||
blob2str({blob} [, {options}]) List convert {blob} into a list of strings
|
||||
browse({save}, {title}, {initdir}, {default})
|
||||
String put up a file requester
|
||||
browsedir({title}, {initdir}) String put up a directory requester
|
||||
@@ -611,6 +612,8 @@ split({expr} [, {pat} [, {keepempty}]])
|
||||
sqrt({expr}) Float square root of {expr}
|
||||
srand([{expr}]) List get seed for |rand()|
|
||||
state([{what}]) String current state of Vim
|
||||
str2blob({list} [, {options}])
|
||||
Blob convert list of strings into a Blob
|
||||
str2float({expr} [, {quoted}]) Float convert String to Float
|
||||
str2list({expr} [, {utf8}]) List convert each character of {expr} to
|
||||
ASCII/UTF-8 value
|
||||
@@ -1243,7 +1246,7 @@ base64_decode({string}) *base64_decode()*
|
||||
" Write the decoded contents to a binary file
|
||||
call writefile(base64_decode(s), 'tools.bmp')
|
||||
" Decode a base64-encoded string
|
||||
echo list2str(blob2list(base64_decode(encodedstr)))
|
||||
echo blob2str(base64_decode(encodedstr))
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
GetEncodedString()->base64_decode()
|
||||
@@ -1259,7 +1262,7 @@ base64_encode({blob}) *base64_encode()*
|
||||
" Encode the contents of a binary file
|
||||
echo base64_encode(readblob('somefile.bin'))
|
||||
" Encode a string
|
||||
echo base64_encode(list2blob(str2list(somestr)))
|
||||
echo base64_encode(str2blob([somestr]))
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
GetBinaryData()->base64_encode()
|
||||
@@ -1291,6 +1294,42 @@ blob2list({blob}) *blob2list()*
|
||||
<
|
||||
Return type: list<any> or list<number>
|
||||
|
||||
|
||||
blob2str({blob} [, {options}]) *blob2str()*
|
||||
Return a List of Strings in the current 'encoding' by
|
||||
converting the bytes in {blob} into characters.
|
||||
|
||||
Each <NL> byte in the blob is interpreted as the end of a
|
||||
string and a new list item is added. Each <NUL> byte in the
|
||||
blob is converted into a <NL> character.
|
||||
|
||||
If {options} is not supplied, the current 'encoding' value is
|
||||
used to decode the bytes in {blob}.
|
||||
|
||||
The argument {options} is a |Dict| and supports the following
|
||||
items:
|
||||
encoding Decode the bytes in {blob} using this
|
||||
encoding. The value is a |String|. See
|
||||
|encoding-names| for the supported values.
|
||||
*E1515*
|
||||
An error is given and an empty List is returned if
|
||||
an invalid byte sequence is encountered in {blob},
|
||||
|
||||
Returns an empty List if blob is empty.
|
||||
|
||||
See also |str2blob()|
|
||||
|
||||
Examples: >
|
||||
blob2str(0z6162) returns ["ab"]
|
||||
blob2str(0zC2ABC2BB) returns ["«»"]
|
||||
blob2str(0zABBB, {'encoding': 'latin1'}) returns ["«»"]
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
GetBlob()->blob2str()
|
||||
<
|
||||
Return type: list<string>
|
||||
|
||||
|
||||
*browse()*
|
||||
browse({save}, {title}, {initdir}, {default})
|
||||
Put up a file requester. This only works when "has("browse")"
|
||||
@@ -1913,7 +1952,8 @@ complete_info([{what}]) *complete_info()*
|
||||
typed text only, or the last completion after
|
||||
no item is selected when using the <Up> or
|
||||
<Down> keys)
|
||||
inserted Inserted string. [NOT IMPLEMENTED YET]
|
||||
completed Return a dictionary containing the entries of
|
||||
the currently selected index item.
|
||||
|
||||
*complete_info_mode*
|
||||
mode values are:
|
||||
@@ -10580,6 +10620,42 @@ state([{what}]) *state()*
|
||||
Return type: |String|
|
||||
|
||||
|
||||
str2blob({list} [, {options}]) *str2blob()*
|
||||
Return a Blob by converting the characters in the List of
|
||||
strings in {list} into bytes.
|
||||
|
||||
A <NL> byte is added to the blob after each list item. A
|
||||
newline character in the string is translated into a <NUL>
|
||||
byte in the blob.
|
||||
|
||||
If {options} is not supplied, the current 'encoding' value is
|
||||
used to convert the characters into bytes.
|
||||
|
||||
The argument {options} is a |Dict| and supports the following
|
||||
items:
|
||||
encoding Encode the characters using this encoding.
|
||||
The value is a |String|. See |encoding-names|
|
||||
for the supported values.
|
||||
|
||||
An error is given and an empty blob is returned if the
|
||||
character encoding fails.
|
||||
|
||||
Returns an empty Blob if {list} is empty.
|
||||
|
||||
See also |blob2str()|
|
||||
|
||||
Examples: >
|
||||
str2blob(["ab"]) returns 0z6162
|
||||
str2blob(["«»"]) returns 0zC2ABC2BB
|
||||
str2blob(["a\nb"]) returns 0z610A62
|
||||
str2blob(readfile('myfile.txt'))
|
||||
str2blob(["«»"], {'encoding': 'latin1'}) returns 0zABBB
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
GetListOfStrings()->str2blob()
|
||||
<
|
||||
Return type: |Blob|
|
||||
|
||||
str2float({string} [, {quoted}]) *str2float()*
|
||||
Convert String {string} to a Float. This mostly works the
|
||||
same as when using a floating point number in an expression,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*helphelp.txt* For Vim version 9.1. Last change: 2024 Dec 26
|
||||
*helphelp.txt* For Vim version 9.1. Last change: 2025 Jan 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -247,10 +247,10 @@ command: >
|
||||
(requires write permission there): >
|
||||
:helptags $VIMRUNTIME/doc
|
||||
<
|
||||
*:HelpToc* *help-TOC* *help-toc-install*
|
||||
*:HelpToc* *help-TOC* *help-toc-install* *package-helptoc*
|
||||
|
||||
If you want to access an interactive table of contents, from any position in
|
||||
the file, you can use the helptoc plugin. Load the plugin with: >
|
||||
the file, you can use the helptoc plugin. Load the plugin with: >vim
|
||||
|
||||
packadd helptoc
|
||||
|
||||
|
||||
+59
-44
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 9.1. Last change: 2024 Dec 28
|
||||
*options.txt* For Vim version 9.1. Last change: 2025 Jan 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1030,7 +1030,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
When the |t_RB| option is set, Vim will use it to request the background
|
||||
color from the terminal. If the returned RGB value is dark/light and
|
||||
'background' is not dark/light, 'background' will be set and the
|
||||
screen is redrawn. This may have side effects, make t_BG empty in
|
||||
screen is redrawn. This may have side effects, make |t_RB| empty in
|
||||
your .vimrc if you suspect this problem. The response to |t_RB| can
|
||||
be found in |v:termrbgresp|.
|
||||
|
||||
@@ -2179,6 +2179,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
characters can be skipped and matches can be found even
|
||||
if the exact sequence is not typed.
|
||||
|
||||
nosort Disable sorting of completion candidates based on fuzzy
|
||||
scores when "fuzzy" is enabled. Candidates will appear
|
||||
in their original order.
|
||||
|
||||
*'completepopup'* *'cpp'*
|
||||
'completepopup' 'cpp' string (default empty)
|
||||
global
|
||||
@@ -2895,11 +2899,20 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Option settings for diff mode. It can consist of the following items.
|
||||
All are optional. Items must be separated by a comma.
|
||||
|
||||
filler Show filler lines, to keep the text
|
||||
synchronized with a window that has inserted
|
||||
lines at the same position. Mostly useful
|
||||
when windows are side-by-side and 'scrollbind'
|
||||
is set.
|
||||
algorithm:{text} Use the specified diff algorithm with the
|
||||
internal diff engine. Currently supported
|
||||
algorithms are:
|
||||
myers the default algorithm
|
||||
minimal spend extra time to generate the
|
||||
smallest possible diff
|
||||
patience patience diff algorithm
|
||||
histogram histogram diff algorithm
|
||||
|
||||
closeoff When a window is closed where 'diff' is set
|
||||
and there is only one window remaining in the
|
||||
same tab page with 'diff' set, execute
|
||||
`:diffoff` in that window. This undoes a
|
||||
`:diffsplit` command.
|
||||
|
||||
context:{n} Use a context of {n} lines between a change
|
||||
and a fold that contains unchanged lines.
|
||||
@@ -2910,6 +2923,23 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
value (999999) to disable folding completely.
|
||||
See |fold-diff|.
|
||||
|
||||
filler Show filler lines, to keep the text
|
||||
synchronized with a window that has inserted
|
||||
lines at the same position. Mostly useful
|
||||
when windows are side-by-side and 'scrollbind'
|
||||
is set.
|
||||
|
||||
foldcolumn:{n} Set the 'foldcolumn' option to {n} when
|
||||
starting diff mode. Without this 2 is used.
|
||||
|
||||
followwrap Follow the 'wrap' option and leave as it is.
|
||||
|
||||
horizontal Start diff mode with horizontal splits (unless
|
||||
explicitly specified otherwise).
|
||||
|
||||
hiddenoff Do not use diff mode for a buffer when it
|
||||
becomes hidden.
|
||||
|
||||
iblank Ignore changes where lines are all blank. Adds
|
||||
the "-B" flag to the "diff" command if
|
||||
'diffexpr' is empty. Check the documentation
|
||||
@@ -2923,6 +2953,17 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
are considered the same. Adds the "-i" flag
|
||||
to the "diff" command if 'diffexpr' is empty.
|
||||
|
||||
indent-heuristic
|
||||
Use the indent heuristic for the internal
|
||||
diff library.
|
||||
|
||||
internal Use the internal diff library. This is
|
||||
ignored when 'diffexpr' is set. *E960*
|
||||
When running out of memory when writing a
|
||||
buffer this item will be ignored for diffs
|
||||
involving that buffer. Set the 'verbose'
|
||||
option to see when this happens.
|
||||
|
||||
iwhite Ignore changes in amount of white space. Adds
|
||||
the "-b" flag to the "diff" command if
|
||||
'diffexpr' is empty. Check the documentation
|
||||
@@ -2942,46 +2983,19 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
of the "diff" command for what this does
|
||||
exactly.
|
||||
|
||||
horizontal Start diff mode with horizontal splits (unless
|
||||
explicitly specified otherwise).
|
||||
linematch:{n} Align and mark changes between the most
|
||||
similar lines between the buffers. When the
|
||||
total number of lines in the diff hunk exceeds
|
||||
{n}, the lines will not be aligned because for
|
||||
very large diff hunks there will be a
|
||||
noticeable lag. A reasonable setting is
|
||||
"linematch:60", as this will enable alignment
|
||||
for a 2 buffer diff hunk of 30 lines each,
|
||||
or a 3 buffer diff hunk of 20 lines each.
|
||||
|
||||
vertical Start diff mode with vertical splits (unless
|
||||
explicitly specified otherwise).
|
||||
|
||||
closeoff When a window is closed where 'diff' is set
|
||||
and there is only one window remaining in the
|
||||
same tab page with 'diff' set, execute
|
||||
`:diffoff` in that window. This undoes a
|
||||
`:diffsplit` command.
|
||||
|
||||
hiddenoff Do not use diff mode for a buffer when it
|
||||
becomes hidden.
|
||||
|
||||
foldcolumn:{n} Set the 'foldcolumn' option to {n} when
|
||||
starting diff mode. Without this 2 is used.
|
||||
|
||||
followwrap Follow the 'wrap' option and leave as it is.
|
||||
|
||||
internal Use the internal diff library. This is
|
||||
ignored when 'diffexpr' is set. *E960*
|
||||
When running out of memory when writing a
|
||||
buffer this item will be ignored for diffs
|
||||
involving that buffer. Set the 'verbose'
|
||||
option to see when this happens.
|
||||
|
||||
indent-heuristic
|
||||
Use the indent heuristic for the internal
|
||||
diff library.
|
||||
|
||||
algorithm:{text} Use the specified diff algorithm with the
|
||||
internal diff engine. Currently supported
|
||||
algorithms are:
|
||||
myers the default algorithm
|
||||
minimal spend extra time to generate the
|
||||
smallest possible diff
|
||||
patience patience diff algorithm
|
||||
histogram histogram diff algorithm
|
||||
|
||||
Examples: >
|
||||
:set diffopt=internal,filler,context:4
|
||||
:set diffopt=
|
||||
@@ -4447,7 +4461,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
#:TabLineSel,_:TabLineFill,!:CursorColumn,
|
||||
.:CursorLine,o:ColorColumn,q:QuickFixLine,
|
||||
z:StatusLineTerm,Z:StatusLineTermNC,
|
||||
g:MsgArea")
|
||||
g:MsgArea,h:ComplMatchIns")
|
||||
global
|
||||
This option can be used to set highlighting mode for various
|
||||
occasions. It is a comma-separated list of character pairs. The
|
||||
@@ -4467,6 +4481,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|hl-MoreMsg| m |more-prompt|
|
||||
|hl-ModeMsg| M Mode (e.g., "-- INSERT --")
|
||||
|hl-MsgArea| g |Command-line| and message area
|
||||
|hl-ComplMatchIns| h matched text of currently inserted completion
|
||||
|hl-LineNr| n line number for ":number" and ":#" commands, and
|
||||
when 'number' or 'relativenumber' option is set.
|
||||
|hl-LineNrAbove| a line number above the cursor for when the
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Symlink
+1
@@ -0,0 +1 @@
|
||||
../pack/dist/opt/netrw/doc/netrw.txt
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 9.1. Last change: 2024 Dec 27
|
||||
*quickfix.txt* For Vim version 9.1. Last change: 2025 Jan 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -550,9 +550,9 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||
< Otherwise it works the same as `:ldo`.
|
||||
|
||||
FILTERING A QUICKFIX OR LOCATION LIST:
|
||||
*cfilter-plugin* *:Cfilter* *:Lfilter*
|
||||
*cfilter-plugin* *:Cfilter* *:Lfilter* *package-cfilter*
|
||||
If you have too many entries in a quickfix list, you can use the cfilter
|
||||
plugin to reduce the number of entries. Load the plugin with: >
|
||||
plugin to reduce the number of entries. Load the plugin with: >vim
|
||||
|
||||
packadd cfilter
|
||||
|
||||
|
||||
+16
-3
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 9.1. Last change: 2024 Dec 16
|
||||
*syntax.txt* For Vim version 9.1. Last change: 2025 Jan 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1062,6 +1062,7 @@ Variable Highlight ~
|
||||
*c_no_cformat* don't highlight %-formats in strings
|
||||
*c_no_c99* don't highlight C99 standard items
|
||||
*c_no_c11* don't highlight C11 standard items
|
||||
*c_no_c23* don't highlight C23 standard items
|
||||
*c_no_bsd* don't highlight BSD specific types
|
||||
*c_functions* highlight function calls and definitions
|
||||
*c_function_pointers* highlight function pointers definitions
|
||||
@@ -2217,6 +2218,16 @@ To disable numbers having their own color add the following to your vimrc: >
|
||||
If you want quotes to have different highlighting than strings >
|
||||
let g:jq_quote_highlight = 1
|
||||
|
||||
KCONFIG *ft-kconfig-syntax*
|
||||
|
||||
Kconfig syntax highlighting language. For syntax syncing, you can configure
|
||||
the following variable (default: 50): >
|
||||
|
||||
let kconfig_minlines = 50
|
||||
|
||||
To configure a bit more (heavier) highlighting, set the following variable: >
|
||||
|
||||
let kconfig_syntax_heavy = 1
|
||||
|
||||
LACE *lace.vim* *ft-lace-syntax*
|
||||
|
||||
@@ -5854,9 +5865,11 @@ PmenuSbar Popup menu: Scrollbar.
|
||||
*hl-PmenuThumb*
|
||||
PmenuThumb Popup menu: Thumb of the scrollbar.
|
||||
*hl-PmenuMatch*
|
||||
PmenuMatch Popup menu: Matched text in normal item.
|
||||
PmenuMatch Popup menu: Matched text in normal item. Applied in
|
||||
combination with |hl-Pmenu|.
|
||||
*hl-PmenuMatchSel*
|
||||
PmenuMatchSel Popup menu: Matched text in selected item.
|
||||
PmenuMatchSel Popup menu: Matched text in selected item. Applied in
|
||||
combination with |hl-PmenuSel|.
|
||||
*hl-ComplMatchIns*
|
||||
ComplMatchIns Matched text of the currently inserted completion.
|
||||
*hl-PopupNotification*
|
||||
|
||||
+18
-4
@@ -2152,6 +2152,7 @@ $quote eval.txt /*$quote*
|
||||
:GnatTags ft_ada.txt /*:GnatTags*
|
||||
:HelpToc helphelp.txt /*:HelpToc*
|
||||
:Hexplore pi_netrw.txt /*:Hexplore*
|
||||
:Justify usr_25.txt /*:Justify*
|
||||
:LP pi_logipat.txt /*:LP*
|
||||
:LPE pi_logipat.txt /*:LPE*
|
||||
:LPF pi_logipat.txt /*:LPF*
|
||||
@@ -4637,6 +4638,7 @@ E1511 options.txt /*E1511*
|
||||
E1512 options.txt /*E1512*
|
||||
E1513 message.txt /*E1513*
|
||||
E1514 options.txt /*E1514*
|
||||
E1515 builtin.txt /*E1515*
|
||||
E152 helphelp.txt /*E152*
|
||||
E153 helphelp.txt /*E153*
|
||||
E154 helphelp.txt /*E154*
|
||||
@@ -5623,6 +5625,7 @@ J change.txt /*J*
|
||||
Japanese mbyte.txt /*Japanese*
|
||||
Job eval.txt /*Job*
|
||||
Jobs eval.txt /*Jobs*
|
||||
Justify() usr_25.txt /*Justify()*
|
||||
K various.txt /*K*
|
||||
KDE gui_x11.txt /*KDE*
|
||||
KVim gui_x11.txt /*KVim*
|
||||
@@ -6286,6 +6289,7 @@ blob-index eval.txt /*blob-index*
|
||||
blob-literal eval.txt /*blob-literal*
|
||||
blob-modification eval.txt /*blob-modification*
|
||||
blob2list() builtin.txt /*blob2list()*
|
||||
blob2str() builtin.txt /*blob2str()*
|
||||
blockwise-examples visual.txt /*blockwise-examples*
|
||||
blockwise-operators visual.txt /*blockwise-operators*
|
||||
blockwise-put change.txt /*blockwise-put*
|
||||
@@ -6452,6 +6456,7 @@ c_no_ansi syntax.txt /*c_no_ansi*
|
||||
c_no_bracket_error syntax.txt /*c_no_bracket_error*
|
||||
c_no_bsd syntax.txt /*c_no_bsd*
|
||||
c_no_c11 syntax.txt /*c_no_c11*
|
||||
c_no_c23 syntax.txt /*c_no_c23*
|
||||
c_no_c99 syntax.txt /*c_no_c99*
|
||||
c_no_cformat syntax.txt /*c_no_cformat*
|
||||
c_no_curly_error syntax.txt /*c_no_curly_error*
|
||||
@@ -7456,6 +7461,7 @@ ft-javascript-omni insert.txt /*ft-javascript-omni*
|
||||
ft-jq-syntax syntax.txt /*ft-jq-syntax*
|
||||
ft-json-plugin filetype.txt /*ft-json-plugin*
|
||||
ft-json-syntax syntax.txt /*ft-json-syntax*
|
||||
ft-kconfig-syntax syntax.txt /*ft-kconfig-syntax*
|
||||
ft-ksh-syntax syntax.txt /*ft-ksh-syntax*
|
||||
ft-lace-syntax syntax.txt /*ft-lace-syntax*
|
||||
ft-lex-syntax syntax.txt /*ft-lex-syntax*
|
||||
@@ -8027,6 +8033,7 @@ gf editing.txt /*gf*
|
||||
gg motion.txt /*gg*
|
||||
gh visual.txt /*gh*
|
||||
gi insert.txt /*gi*
|
||||
git-vimdumps terminal.txt /*git-vimdumps*
|
||||
gj motion.txt /*gj*
|
||||
gk motion.txt /*gk*
|
||||
glob() builtin.txt /*glob()*
|
||||
@@ -8644,6 +8651,7 @@ jump-motions motion.txt /*jump-motions*
|
||||
jumplist motion.txt /*jumplist*
|
||||
jumplist-stack motion.txt /*jumplist-stack*
|
||||
jumpto-diffs diff.txt /*jumpto-diffs*
|
||||
justify usr_25.txt /*justify*
|
||||
k motion.txt /*k*
|
||||
kcc uganda.txt /*kcc*
|
||||
kde gui_x11.txt /*kde*
|
||||
@@ -9161,7 +9169,6 @@ netrw-ctrl-r pi_netrw.txt /*netrw-ctrl-r*
|
||||
netrw-ctrl_l pi_netrw.txt /*netrw-ctrl_l*
|
||||
netrw-curdir pi_netrw.txt /*netrw-curdir*
|
||||
netrw-d pi_netrw.txt /*netrw-d*
|
||||
netrw-debug pi_netrw.txt /*netrw-debug*
|
||||
netrw-del pi_netrw.txt /*netrw-del*
|
||||
netrw-delete pi_netrw.txt /*netrw-delete*
|
||||
netrw-dir pi_netrw.txt /*netrw-dir*
|
||||
@@ -9195,7 +9202,6 @@ netrw-help pi_netrw.txt /*netrw-help*
|
||||
netrw-hexplore pi_netrw.txt /*netrw-hexplore*
|
||||
netrw-hide pi_netrw.txt /*netrw-hide*
|
||||
netrw-hiding pi_netrw.txt /*netrw-hiding*
|
||||
netrw-history pi_netrw.txt /*netrw-history*
|
||||
netrw-horiz pi_netrw.txt /*netrw-horiz*
|
||||
netrw-i pi_netrw.txt /*netrw-i*
|
||||
netrw-incompatible pi_netrw.txt /*netrw-incompatible*
|
||||
@@ -9306,7 +9312,6 @@ netrw-starstarpat pi_netrw.txt /*netrw-starstarpat*
|
||||
netrw-start pi_netrw.txt /*netrw-start*
|
||||
netrw-t pi_netrw.txt /*netrw-t*
|
||||
netrw-texplore pi_netrw.txt /*netrw-texplore*
|
||||
netrw-todo pi_netrw.txt /*netrw-todo*
|
||||
netrw-trailingslash pi_netrw.txt /*netrw-trailingslash*
|
||||
netrw-transparent pi_netrw.txt /*netrw-transparent*
|
||||
netrw-u pi_netrw.txt /*netrw-u*
|
||||
@@ -9323,6 +9328,7 @@ netrw-windows-s pi_netrw.txt /*netrw-windows-s*
|
||||
netrw-write pi_netrw.txt /*netrw-write*
|
||||
netrw-x pi_netrw.txt /*netrw-x*
|
||||
netrw-xfer pi_netrw.txt /*netrw-xfer*
|
||||
netrw.txt pi_netrw.txt /*netrw.txt*
|
||||
netrw.vim pi_netrw.txt /*netrw.vim*
|
||||
netterm-mouse options.txt /*netterm-mouse*
|
||||
network pi_netrw.txt /*network*
|
||||
@@ -9551,9 +9557,17 @@ out_name channel.txt /*out_name*
|
||||
out_timeout channel.txt /*out_timeout*
|
||||
p change.txt /*p*
|
||||
pack-add repeat.txt /*pack-add*
|
||||
package-cfilter quickfix.txt /*package-cfilter*
|
||||
package-comment usr_05.txt /*package-comment*
|
||||
package-create repeat.txt /*package-create*
|
||||
package-doc repeat.txt /*package-doc*
|
||||
package-documentation repeat.txt /*package-documentation*
|
||||
package-editorconfig usr_05.txt /*package-editorconfig*
|
||||
package-helptoc helphelp.txt /*package-helptoc*
|
||||
package-justify usr_25.txt /*package-justify*
|
||||
package-matchit usr_05.txt /*package-matchit*
|
||||
package-nohlsearch usr_05.txt /*package-nohlsearch*
|
||||
package-termdebug terminal.txt /*package-termdebug*
|
||||
package-translate_example repeat.txt /*package-translate_example*
|
||||
package-translation repeat.txt /*package-translation*
|
||||
packages repeat.txt /*packages*
|
||||
@@ -9631,7 +9645,6 @@ phtml.vim syntax.txt /*phtml.vim*
|
||||
pi_getscript.txt pi_getscript.txt /*pi_getscript.txt*
|
||||
pi_gzip.txt pi_gzip.txt /*pi_gzip.txt*
|
||||
pi_logipat.txt pi_logipat.txt /*pi_logipat.txt*
|
||||
pi_netrw.txt pi_netrw.txt /*pi_netrw.txt*
|
||||
pi_paren.txt pi_paren.txt /*pi_paren.txt*
|
||||
pi_spec.txt pi_spec.txt /*pi_spec.txt*
|
||||
pi_tar.txt pi_tar.txt /*pi_tar.txt*
|
||||
@@ -10408,6 +10421,7 @@ status-line windows.txt /*status-line*
|
||||
statusmsg-variable eval.txt /*statusmsg-variable*
|
||||
stl-%! options.txt /*stl-%!*
|
||||
stl-%{ options.txt /*stl-%{*
|
||||
str2blob() builtin.txt /*str2blob()*
|
||||
str2float() builtin.txt /*str2float()*
|
||||
str2list() builtin.txt /*str2list()*
|
||||
str2nr() builtin.txt /*str2nr()*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 9.1. Last change: 2024 Dec 30
|
||||
*terminal.txt* For Vim version 9.1. Last change: 2025 Jan 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -494,6 +494,12 @@ ConPTY problems have been fixed "winpty" will be preferred.
|
||||
Environment variables are used to pass information to the running job:
|
||||
VIM_SERVERNAME v:servername
|
||||
|
||||
*git-vimdumps*
|
||||
There exists a git-difftool extension called `git-vimdumps` that can be used
|
||||
to conveniently inspect screendump files and diff them. Please see in the Vim
|
||||
Repository the file `src/testdir/commondumps.vim` on how to create and use
|
||||
this git extension.
|
||||
|
||||
==============================================================================
|
||||
2. Terminal functions *terminal-function-details*
|
||||
|
||||
@@ -1254,7 +1260,7 @@ Alternatively, press "s" to swap the first and second dump. Do this several
|
||||
times so that you can spot the difference in the context of the text.
|
||||
|
||||
==============================================================================
|
||||
6. Debugging *terminal-debug* *terminal-debugger*
|
||||
6. Debugging *terminal-debug* *terminal-debugger* *package-termdebug*
|
||||
|
||||
The Terminal debugging plugin can be used to debug a program with gdb and view
|
||||
the source code in a Vim window. Since this is completely contained inside
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 9.1. Last change: 2024 Dec 30
|
||||
*todo.txt* For Vim version 9.1. Last change: 2025 Jan 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -309,9 +309,6 @@ Problem with Visual highlight when 'linebreak' and 'showbreak' are set.
|
||||
GUI Scroll test fails on FreeBSD when using Motif. See FIXME in
|
||||
Test_scrollbars in src/test_gui.vim
|
||||
|
||||
Selected index returned by complete_info() does not match the index in the
|
||||
list of items. #12230
|
||||
|
||||
Support dark mode for MS-Windows: #12282
|
||||
|
||||
Remote command escapes single quote with backslash, should be doubling the
|
||||
|
||||
@@ -1,337 +0,0 @@
|
||||
*uganda.txt* для Vim version 9.1 редакция от 14 авг 2024 г.
|
||||
|
||||
|
||||
СПРАВОЧНИК ПО РЕДАКТОРУ VIM
|
||||
автор Брам Моленар
|
||||
|
||||
|
||||
*uganda* *Uganda* *copying* *copyright* *license*
|
||||
КРАТКОЕ ОПИСАНИЕ
|
||||
*iccf* *ICCF*
|
||||
Редактор Vim является благотворительным программным обеспечением.
|
||||
Использование и копирование программы Vim не ограничено, однако
|
||||
рекомендуется сделать добровольное пожертвование для нуждающихся детей в
|
||||
Уганде. Ознакомьтесь с разделом |kcc| далее в этом документе или посетите
|
||||
веб-сайт организации ICCF, доступный по указанным ниже адресам:
|
||||
|
||||
https://iccf-holland.org/
|
||||
https://www.vim.org/iccf/
|
||||
https://www.iccf.nl/
|
||||
|
||||
Также возможно оказание финансовой помощи для разработки программы Vim,
|
||||
см. раздел |sponsor|. В любом случае деньги направляются в Уганду.
|
||||
|
||||
Документация, поставляемая в составе программы Vim, распространяется на
|
||||
условиях лицензии на Открытые публикации, см. раздел |manual-copyright|.
|
||||
|
||||
=== начало лицензии ===
|
||||
|
||||
ЛИЦЕНЗИЯ VIM
|
||||
|
||||
I) Неизменённые копии программы Vim могут распространяться без ограничения
|
||||
при условии включения данного текста лицензии. Распространение
|
||||
неизменённых копий отдельных частей программы Vim также возможно при
|
||||
соблюдении условия о включении данного текста лицензии. Подобным образом
|
||||
разрешается добавлять исполняемые файлы, скомпилированные из
|
||||
неизменённого исходного кода программы Vim, а также собственные примеры
|
||||
использования и командные файлы редактора Vim.
|
||||
|
||||
II) Изменённую (или дополненную) версию программы Vim, включающую
|
||||
исполняемые файлы и/или исходный код, допускается распространять при
|
||||
соблюдении следующих четырёх условий:
|
||||
1) Текст настоящей лицензии должен включаться в состав распространяемой
|
||||
версии программы Vim без изменений.
|
||||
2) Изменённая версия программы Vim должна распространяться одним из
|
||||
следующих пяти способов:
|
||||
a) При внесении изменений в программу Vim, в дистрибутиве должны
|
||||
быть явно указаны контактные данные лица, внёсшего эти изменения.
|
||||
Ответственному разработчику по его запросу (в любой форме) должна
|
||||
быть безвозмездно предоставлена копия распространяемой изменённой
|
||||
версии программы Vim, включая её исходный код. Ответственный
|
||||
разработчик оставляет за собой право включать сделанные изменения
|
||||
в официальную версию программы Vim. Конкретные действия
|
||||
ответственного разработчика, относительно переданных изменений, а
|
||||
также лицензионные условия, на основании которых будет
|
||||
осуществляться их распространение, могут быть дополнительно
|
||||
согласованы. Если согласование не проводилось, сделанные изменения
|
||||
будут распространяться на условиях настоящей лицензии или более
|
||||
поздней её версии. Лица, в данное время являющиеся ответственными
|
||||
за разработку, указаны в перечне, размещённом по следующему адресу:
|
||||
https://github.com/orgs/vim/people. В случае изменения этой
|
||||
информации, актуальные данные будут опубликованы на
|
||||
соответствующих ресурсах (вероятнее всего по интернет‐адресам
|
||||
vim.sf.net, www.vim.org и/или comp.editors). В случае полной
|
||||
невозможности установить контакт с ответственным разработчиком,
|
||||
обязательства по отправке изменений утрачивают силу. После
|
||||
передачи подтверждения о получении изменений от ответственного
|
||||
разработчика, необходимость в повторной отправке копии изменённой
|
||||
программы Vim неприменима.
|
||||
b) Если лицом получена изменённая версия программа Vim,
|
||||
распространяющаяся на условиях, указанных в ч. II) п. 2) пп. а)
|
||||
допускается дальнейшее её распространение этим лицом без внесения
|
||||
изменений и согласно ч. I) настоящей лицензии. В случае внесения
|
||||
дополнительных изменений, на эти изменения будут распространяться
|
||||
условия, указанные в ч. II) п. 2) пп. a).
|
||||
c) Каждая копия распространяемой изменённой версии программы Vim
|
||||
должна включать информацию обо всех произведённых изменениях,
|
||||
включая исходный код. Эта информация может быть представлена в
|
||||
виде построчного сравнения файлов. Выбор лицензии, по условиям
|
||||
которой будет распространяться добавленный код, остаётся за
|
||||
автором этих изменений. Изменения и лицензия на эти изменения не
|
||||
должны запрещать другим лицам внесение своих собственных
|
||||
изменений в официальную версию программы Vim.
|
||||
d) Изменённая версия программы Vim, содержащая изменения в
|
||||
соответствии с ч. II) п. 2 пп. c), может распространяться без
|
||||
исходного кода для этих изменений, при соблюдении следующих трёх
|
||||
условий:
|
||||
- Лицензия, применяемая к внесённым изменениям, предоставляет
|
||||
ответственному разработчику программы Vim возможность
|
||||
безвозмездного и неограниченного распространения этих изменений,
|
||||
а также право на безвозмездное и неограниченное включение этих
|
||||
изменений в официальную версию программы Vim.
|
||||
- Изменения должны сохраняться не менее трёх лет со времени
|
||||
распространения соответствующей изменённой версии программы Vim.
|
||||
В течение этого периода по запросу ответственного разработчика
|
||||
или другого пользователя изменённой версии программы Vim
|
||||
(в любой форме) необходимо предоставить исходный код данных
|
||||
изменений.
|
||||
- В дистрибутиве изменённой версии программы Vim должны быть явно
|
||||
указаны контактные данные лица, внёсшего эти изменения.
|
||||
Контактные данные должны сохранять актуальность в течение
|
||||
не менее трёх лет со времени последнего распространения
|
||||
соответствующей изменённой версии программы Vim или как можно
|
||||
дольше.
|
||||
e) Если к изменениям, внесённым в программу Vim, применимы условия
|
||||
лицензии GNU General Public License (GNU GPL), допускается
|
||||
распространение изменённой версия программы Vim на условиях
|
||||
лицензии GNU GPL версии 2 или любой более поздней версии этой
|
||||
лицензии.
|
||||
3) Необходимо добавить соответствующую информацию, которая должна быть
|
||||
выведена в результате выполнения команды ":version" в программе Vim,
|
||||
а также на экране приветствия программы Vim, чтобы пользователь
|
||||
изменённой версии программы Vim имел возможность определить, что он
|
||||
пользуется изменённой версией. При распространении на условиях,
|
||||
указанных в ч. II) п. 2) пп. e) такую информацию требуется добавлять
|
||||
только в том случае, когда она не противоречит лицензии,
|
||||
распространяющейся на эти изменения.
|
||||
4) Контактная информация, которая указывается по требованию ч. II) п. 2)
|
||||
пп. a) и ч. II) п. 2) пп. d) не должна удаляться или изменяться никем
|
||||
другим, кроме лица, указавшего данную контактную информацию.
|
||||
|
||||
III) При распространении изменённой версии программы Vim рекомендуется
|
||||
пользоваться лицензией Vim для произведённых изменений и обеспечить
|
||||
доступ к этим изменениям ответственного разработчика, включая исходный
|
||||
код изменений. Предпочтительным способом предоставления доступа к
|
||||
произведённым изменениям является отправка этих изменений по
|
||||
электронной почте или загрузка файлов на сервер с отправкой URL-адреса
|
||||
по электронной почте. Если количество изменений незначительно
|
||||
(например, изменения в файле Makefile) достаточно будет отправить по
|
||||
электронной почте файл построчного сравнения. Изменения или URL-адреса
|
||||
должны быть отправлены на адрес электронной почты maintainer@vim.org
|
||||
|
||||
IV) Не допускается удаление настоящей лицензия из дистрибутива исходного
|
||||
кода программы Vim, его отдельных частей или изменённой версии.
|
||||
Допускается использование настоящей лицензию для предыдущих изменённых
|
||||
выпусков программы Vim, взамен тех лицензий, с которыми они
|
||||
распространялись.
|
||||
|
||||
=== конец лицензии ===
|
||||
|
||||
Примечание.
|
||||
|
||||
- Если вам нравится программа Vim, дочитайте до конца и подумайте над
|
||||
оказанием помощи нуждающимся детям в Уганде.
|
||||
|
||||
- При наличии желания поддержать дальнейшую разработку программы Vim,
|
||||
рассмотрите возможность оказания финансовой поддержки (см. раздел
|
||||
|sponsor|). В любом случае деньги отправляются в Уганду.
|
||||
|
||||
- Ричард Столлман (Richard Stallman) подтвердил, что лицензия Vim совместима
|
||||
с лицензией GNU GPL. С момента его последней проверки были внесены
|
||||
незначительные изменения, но они не должны оказать на это никакого влияния.
|
||||
|
||||
- Если сборка программы Vim осуществляется с использованием библиотеки, на
|
||||
которую распространяется лицензия GNU GPL, дальнейшее распространение
|
||||
программы может осуществляться только на условиях лицензии GNU GPL. Даже
|
||||
если в саму программу Vim не было внесено никаких изменений.
|
||||
|
||||
- Если были внесены изменения, на которые распространяется лицензия GNU GPL,
|
||||
все дальнейшие изменения также должны добавляться на условиях лицензии
|
||||
GNU GPL или другой совместимой лицензии.
|
||||
|
||||
- При распространении изменённой версии программы Vim, своё имя и контактную
|
||||
информацию можно добавлять с помощью аргумента конфигурации
|
||||
"--with-modified-by" или директивы define MODIFIED_BY.
|
||||
|
||||
==============================================================================
|
||||
Детский центр в Кибаале *kcc* *Kibaale* *charity*
|
||||
|
||||
Детский центр в Кибаале (Kibaale Children's Centre, KCC) находится в гор.
|
||||
Кибаал. Это небольшой городок в восточной Африке на юге Уганды недалеко от
|
||||
Танзании на территории округа Ракаи. Большая часть населения занимается
|
||||
земледелием. Несмотря на бедность жителей, здесь обычно бывает достаточно
|
||||
пищи. Однако по числу заболевших СПИД этот округ превосходит любую другую
|
||||
точку планеты. Существует мнение, что именно отсюда началось распространение
|
||||
этой смертельной болезни. По некоторым оценкам в прошлом от 10 до 30
|
||||
процентов жителей Уганды были заражены ВИЧ. Высокая смертность родителей
|
||||
стала причиной появления большого количества сирот. При населении округа
|
||||
в 350 000 человек, 60 000 детей потеряло одного или обоих родителей. Однако
|
||||
даже несомненные успехи в уменьшении масштабов распространения СПИД
|
||||
не могут привести к полному исчезновению проблем.
|
||||
|
||||
Дети очень нуждаются в помощи. Организация KCC прилагает все усилия для
|
||||
предоставления нуждающимся пищи, медицинской помощи и образования. Пища и
|
||||
медицинская помощь предоставляются для поддержания здоровья, а образование
|
||||
даёт возможность позаботиться о себе в будущем. Организация KCC работает на
|
||||
базе христианской миссии, но помощь оказывается всем детям независимо от их
|
||||
приверженности к какой-либо религии.
|
||||
|
||||
В данном случае ключом к решению проблем является возможность получения
|
||||
образования. В последнее время при правлении президента Иди Амина (Idi Amin
|
||||
Dada Oumee), а также в ходе последовавших гражданских войн, этой проблеме не
|
||||
уделялось достаточно внимания. Однако сейчас после стабилизации деятельности
|
||||
правительства детям и их родителям нужно учиться жить и заботиться самим о
|
||||
себе, избегая при этом риска заражения инфекционными заболеваниями. Поэтому
|
||||
наряду с оказанием помощи больным и голодающим, основной целью миссии
|
||||
является предупреждение заболеваемости и прививание навыков по употреблению
|
||||
здоровой пищи.
|
||||
|
||||
Большинство сирот проживают у близких родственников, воспитываются дядями
|
||||
или старшими сёстрами. Вследствие больших размеров семей и низких доходов
|
||||
(если таковые имеются), большим везением для ребёнка будет обеспечение
|
||||
здоровым питанием. Про одежду, медицинскую помощь и школьное обучение
|
||||
говорить уже не приходится. Для оказания помощи таким нуждающимся детям была
|
||||
организована программа оказания финансовой помощи. Она позволяет взять
|
||||
ребёнка на финансовое обеспечение. За несколько долларов в месяц организация
|
||||
KCC обеспечит его необходимыми предметами обихода, будет следить за его
|
||||
здоровьем, организует школьное обучение, а также сделает всё необходимое для
|
||||
ребёнка и семьи, которая поддерживает его развитие.
|
||||
|
||||
Помимо непосредственного оказания помощи ребёнку, необходимо также проводить
|
||||
комплексное развитие среды, в которой живут дети. С этой целью организация
|
||||
KCC предоставляет школам помощь по улучшению методов обучения. На базе
|
||||
центра имеется показательная школа, в которой организуется обучение для
|
||||
учителей. Также проводится обучение медицинских работников, прививаются
|
||||
санитарно-гигиенические нормы, пропагандируется постройка туалетов
|
||||
надлежащей конструкции в местах проживания. Также лично мною была оказана
|
||||
помощь в постройке производственного объекта по созданию железобетонных плит,
|
||||
которые применяются при постройке туалетов и продаются по сниженным ценам.
|
||||
|
||||
На балансе проекта содержится клиника, в которой предоставляется медицинская
|
||||
помощь детям и их семьям. В 2020 году было открыто родильное отделение и
|
||||
пункт круглосуточного оказания медицинской помощи. При необходимости
|
||||
осуществляется доставка в больницу. Проводятся программы иммунизации
|
||||
населения, и предоставляется помощь при вспышках эпидемии (случаются вспышки
|
||||
кори и холеры).
|
||||
*donate*
|
||||
С лета 1994 года до лета 1995 года мне целый год довелось провести в центре,
|
||||
работая там в качестве волонтёра. Я помогал в расширении центра и трудился в
|
||||
сфере водоснабжения и санитарно-гигиенического контроля. Там я убедился в
|
||||
эффективности той помощи, которую оказывает организация KCC. По возвращении
|
||||
в Нидерланды утвердилось желание продолжить поддержку организации KCC.
|
||||
С этой целью я провожу сбор средств и организую программу оказания
|
||||
финансовой помощи. Поэтому предлагаю вам рассмотреть одну из следующих
|
||||
возможностей:
|
||||
|
||||
1. Предоставить финансовую помощь ребёнку в начальной школе — 17 евро в
|
||||
месяц (или больше).
|
||||
2. Предоставить финансовую помощь ребёнку в средней школе — 25 евро в месяц
|
||||
(или больше).
|
||||
3. Предоставить финансовую помощь клинике — любая сумма раз в месяц или
|
||||
в квартал.
|
||||
4. Единовременное пожертвование.
|
||||
|
||||
По сравнению с другими программами оказания финансовой поддержки детям,
|
||||
указанные выше суммы выглядят весьма скромно. Причина столь небольшого
|
||||
размера пожертвований заключается в том, что деньги направляются
|
||||
непосредственно в центр. На администрацию тратиться менее 5 %, что стало
|
||||
возможным благодаря малым размерам организации и привлечению волонтёров.
|
||||
Если вы предполагаете взять на финансовое обеспечение ребёнка, то важно
|
||||
понимать, что регулярное оказание помощи должно осуществляться на протяжении
|
||||
не менее одного года.
|
||||
|
||||
Я понимаю, что вам нужны гарантии поступления средств по адресу. Прежде
|
||||
всего, я готов предоставить свои личные гарантии, как автор программы Vim.
|
||||
Я доверяю людям, работающим в этом центре, и знаю их лично. Кроме того,
|
||||
финансирование и инспектирование центра осуществлялось совместно с такими
|
||||
общеизвестными благотворительными организациями, как «World Vision»,
|
||||
«Save the Children», а теперь центр находится на попечении организации
|
||||
«Pacific Academy Outreach Society». Посещение центра осуществляется (за свой
|
||||
собственный счёт) примерно раз в год для проверки хода выполнения текущих
|
||||
задач. Я сам неоднократно посещал этот центр, начиная с 1993 года. Отчёты о
|
||||
посещениях размещаются на веб-сайте организации ICCF.
|
||||
|
||||
Если у вас остались вопросы, можете задать их по электронной почте
|
||||
<Bram@vim.org>.
|
||||
|
||||
Адрес центра:
|
||||
Kibaale Children's Centre
|
||||
p.o. box 1658
|
||||
Masaka, Uganda, East Africa
|
||||
|
||||
Перечисление средств *iccf-donations*
|
||||
|
||||
Самая свежая информация доступна на веб-сайте организации ICCF!
|
||||
См. раздел |iccf|.
|
||||
|
||||
|
||||
США
|
||||
Можно использовать методы, перечисленные ниже. Если
|
||||
требуется отправить чек, то отправьте его нашему партнёру в
|
||||
Канаде, адрес: https://www.kuwasha.net/
|
||||
|
||||
Канада
|
||||
Свяжитесь с командой Kuwasha в гор. Сарри, Канада. Они
|
||||
могут оказать содействие благотворителям из Канады для
|
||||
помощи детям в гор. Кибаале. Команда Kuwasha переводит 100%
|
||||
средств, поступивших в пользу проекта в Уганде.
|
||||
Единовременное пожертвование может быть отправлено им
|
||||
напрямую.
|
||||
На их веб-сайте также можно ознакомиться с информацией по
|
||||
оказанию финансовой поддержки https://www.kuwasha.net/
|
||||
При отправке пожертвований через Kuwasha вы получите
|
||||
налоговое уведомление, которое можно будет подать вместе с
|
||||
налоговой декларацией.
|
||||
|
||||
Нидерланды
|
||||
Перевод на счёт «Stichting ICCF Holland», Amersfoort. Можно
|
||||
будет получить налоговый вычет, если вы проживаете в
|
||||
Нидерландах. Банк ING, IBAN: NL95 INGB 0004 5487 74
|
||||
|
||||
Германия
|
||||
Можно сделать пожертвование, дающее право на налоговый
|
||||
вычет. Ознакомьтесь с последней информацией на веб-сайте
|
||||
организации ICCF
|
||||
https://iccf-holland.org/germany.html
|
||||
|
||||
Европа
|
||||
Банковский перевод. См. далее «Другие варианты»,
|
||||
где указан код Swift и номер IBAN.
|
||||
Любые другие платёжные методы также должны работать.
|
||||
Проконсультируйтесь по вопросу отправки средств на
|
||||
благотворительные цели.
|
||||
|
||||
Банковская карта
|
||||
Можно воспользоваться платёжной системой PayPal для
|
||||
отправки денег с банковской карты. Это наиболее
|
||||
распространённая и чрезвычайно простая в использовании
|
||||
платёжная система на основе сети Интернет. Больше информации
|
||||
можно найти по адресу
|
||||
https://www.paypal.com/en_US/mrb/pal=XAC62PML3GF8Q
|
||||
Адрес электронной почты для обсуждения вопросов по
|
||||
отправке средств
|
||||
Bram@iccf-holland.org
|
||||
|
||||
Другие варианты
|
||||
Средства можно отправить на указанный ниже счёт.
|
||||
Банк ING. IBAN: NL95 INGB 0004 5487 74
|
||||
Код SWIFT: INGBNL2A
|
||||
на имя «stichting ICCF Holland», Amersfoort
|
||||
Чеки не принимаются.
|
||||
|
||||
=============================================================================
|
||||
|
||||
© Казорин Сергей, перевод на русский язык, 2022, <kazorin@basealt.ru>
|
||||
© Restorer, редакторская правка, 2024, <restorer@mail2k.ru>
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_02.txt* For Vim version 9.1. Last change: 2024 Oct 05
|
||||
*usr_02.txt* For Vim version 9.1. Last change: 2025 Jan 16
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -694,6 +694,13 @@ Summary: *help-summary* >
|
||||
:help E128
|
||||
< takes you to the |:function| command
|
||||
|
||||
27) Documentation for packages distributed with Vim have the form
|
||||
package-<name>. So >
|
||||
:help package-comment
|
||||
<
|
||||
will bring you to the help section for the included comment plugin and how to
|
||||
enable it.
|
||||
|
||||
|
||||
==============================================================================
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_05.txt* For Vim version 9.1. Last change: 2024 Oct 05
|
||||
*usr_05.txt* For Vim version 9.1. Last change: 2025 Jan 11
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -392,7 +392,7 @@ The ":map" command (with no arguments) lists your current mappings. At
|
||||
least the ones for Normal mode. More about mappings in section |40.1|.
|
||||
|
||||
==============================================================================
|
||||
*05.5* Adding a package *add-package* *matchit-install*
|
||||
*05.5* Adding a package *add-package* *matchit-install* *package-matchit*
|
||||
|
||||
A package is a set of files that you can add to Vim. There are two kinds of
|
||||
packages: optional and automatically loaded on startup.
|
||||
@@ -427,7 +427,7 @@ an archive or as a repository. For an archive you can follow these steps:
|
||||
Here "fancytext" is the name of the package, it can be anything
|
||||
else.
|
||||
|
||||
Adding the editorconfig package *editorconfig-install*
|
||||
Adding the editorconfig package *editorconfig-install* *package-editorconfig*
|
||||
|
||||
Similar to the matchit package, to load the distributed editorconfig plugin
|
||||
when Vim starts, add the following line to your vimrc file: >
|
||||
@@ -437,7 +437,7 @@ After restarting your Vim, the plugin is active and you can read about it at: >
|
||||
:h editorconfig.txt
|
||||
|
||||
|
||||
Adding comment package *comment-install*
|
||||
Adding comment package *comment-install* *package-comment*
|
||||
|
||||
Load the plugin with this command: >
|
||||
packadd comment
|
||||
@@ -450,7 +450,7 @@ the package loaded. Once the package is loaded, read about it at: >
|
||||
:h comment.txt
|
||||
|
||||
|
||||
Adding nohlsearch package *nohlsearch-install*
|
||||
Adding nohlsearch package *nohlsearch-install* *package-nohlsearch*
|
||||
|
||||
Load the plugin with this command: >
|
||||
packadd nohlsearch
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_25.txt* For Vim version 9.1. Last change: 2016 Mar 28
|
||||
*usr_25.txt* For Vim version 9.1. Last change: 2025 Jan 11
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -190,15 +190,15 @@ This results in the following:
|
||||
story. ~
|
||||
|
||||
|
||||
JUSTIFYING TEXT
|
||||
JUSTIFYING TEXT *justify* *:Justify* *Justify()* *package-justify*
|
||||
|
||||
Vim has no built-in way of justifying text. However, there is a neat macro
|
||||
package that does the job. To use this package, execute the following
|
||||
command: >
|
||||
command: >vim
|
||||
|
||||
:packadd justify
|
||||
|
||||
Or put this line in your |vimrc|: >
|
||||
Or put this line in your |vimrc|: >vim
|
||||
|
||||
packadd! justify
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 9.1. Last change: 2025 Jan 02
|
||||
*usr_41.txt* For Vim version 9.1. Last change: 2025 Jan 16
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -801,6 +801,8 @@ String manipulation: *string-functions*
|
||||
trim() trim characters from a string
|
||||
bindtextdomain() set message lookup translation base path
|
||||
gettext() lookup message translation
|
||||
str2blob() convert a list of strings into a blob
|
||||
blob2str() convert a blob into a list of strings
|
||||
|
||||
List manipulation: *list-functions*
|
||||
get() get an item without error for wrong index
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version9.txt* For Vim version 9.1. Last change: 2025 Jan 02
|
||||
*version9.txt* For Vim version 9.1. Last change: 2025 Jan 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -41560,15 +41560,17 @@ Support for Wayland UI.
|
||||
|
||||
Support for the XDG Desktop Specification |xdg-base-dir|
|
||||
|
||||
Support highlighting the matched text for insert-mode completion and
|
||||
command-line completion in |ins-completion-menu|.
|
||||
|
||||
Support highlighting the completion kind in |ins-completion-menu|, see
|
||||
|complete-items|.
|
||||
|
||||
Support for translating messages in Vim script plugins using the |gettext()|
|
||||
and |bindtextdomain()| functions.
|
||||
|
||||
Support highlighting the matched text and the completion kind for insert-mode
|
||||
completion and command-line completion in |ins-completion-menu|, see
|
||||
|complete-items|
|
||||
|
||||
Include the "linematch" algorithm for the 'diffopt' setting. This aligns
|
||||
changes between buffers on similar lines improving the diff highlighting in
|
||||
Vim
|
||||
|
||||
*changed-9.2*
|
||||
Changed~
|
||||
-------
|
||||
@@ -41617,14 +41619,13 @@ Changed~
|
||||
|CompleteDone| autocommand in the |v:event| dictionary
|
||||
- the default fontsize for the GTK builds of Vim (Windows and Unix) has been
|
||||
increased to 12pt to accomodate modern high-dpi monitors
|
||||
- filetype detection now detects bash scripts as a separate "bash" filetype
|
||||
instead of the "sh" filetype
|
||||
- the default value of the 'keyprotocol' option has been updated by support
|
||||
for the ghostty terminal emulator (using kitty protocol)
|
||||
- |complete_info()| returns the list of matches shown in the poppu menu via
|
||||
the "matches" key
|
||||
- |v:stacktrace| The stack trace of the exception most recently caught and
|
||||
not finished
|
||||
- New option value "nosort" for 'completeopt'
|
||||
|
||||
*added-9.2*
|
||||
Added ~
|
||||
@@ -41635,6 +41636,7 @@ Functions: ~
|
||||
|
||||
|base64_decode()| decode a base64 string into a blob
|
||||
|base64_encode()| encode a blob into a base64 string
|
||||
|blob2str()| convert a blob into a List of strings
|
||||
|bindtextdomain()| set message lookup translation base path
|
||||
|diff()| diff two Lists of strings
|
||||
|filecopy()| copy a file {from} to {to}
|
||||
@@ -41650,6 +41652,7 @@ Functions: ~
|
||||
|matchbufline()| all the matches of a pattern in a buffer
|
||||
|matchstrlist()| all the matches of a pattern in a List of strings
|
||||
|popup_setbuf()| switch to a different buffer in a popup
|
||||
|str2blob()| convert a List of strings into a blob
|
||||
|
||||
|
||||
Autocommands: ~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*vim9.txt* For Vim version 9.1. Last change: 2024 Dec 23
|
||||
*vim9.txt* For Vim version 9.1. Last change: 2025 Jan 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1938,9 +1938,10 @@ Exporting an item can be written as: >
|
||||
export def MyFunc() ...
|
||||
export class MyClass ...
|
||||
export interface MyClass ...
|
||||
export enum MyEnum ...
|
||||
< *E1043* *E1044*
|
||||
As this suggests, only constants, variables, `:def` functions and classes can
|
||||
be exported.
|
||||
As this suggests, only constants, variables, `:def` functions, classes,
|
||||
interfaces and enums can be exported.
|
||||
|
||||
*E1042*
|
||||
`:export` can only be used in Vim9 script, at the script level.
|
||||
|
||||
+14
-3
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2025 Jan 08
|
||||
" Last Change: 2025 Jan 21
|
||||
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
@@ -951,6 +951,9 @@ au BufNewFile,BufRead */.config/git/attributes setf gitattributes
|
||||
au BufNewFile,BufRead */etc/gitattributes setf gitattributes
|
||||
au BufNewFile,BufRead .gitignore,*.git/info/exclude setf gitignore
|
||||
au BufNewFile,BufRead */.config/git/ignore,*.prettierignore setf gitignore
|
||||
au BufNewFile,BufRead */.config/fd/ignore,.fdignore,.ignore setf gitignore
|
||||
au BufNewFile,BufRead .rgignore,.dockerignore setf gitignore
|
||||
au BufNewFile,BufRead .npmignore,.vscodeignore setf gitignore
|
||||
au BufNewFile,BufRead git-rebase-todo setf gitrebase
|
||||
au BufRead,BufNewFile .gitsendemail.msg.?????? setf gitsendemail
|
||||
au BufNewFile,BufRead *.git/*
|
||||
@@ -1268,11 +1271,13 @@ au BufNewFile,BufRead *.ipynb,*.jupyterlab-settings setf json
|
||||
au BufNewFile,BufRead *.sublime-project,*.sublime-settings,*.sublime-workspace setf json
|
||||
|
||||
" Other files that look like json
|
||||
au BufNewFile,BufRead .prettierrc,.firebaserc,.stylelintrc,.lintstagedrc,flake.lock,deno.lock setf json
|
||||
au BufNewFile,BufRead .prettierrc,.firebaserc,.stylelintrc,.lintstagedrc,flake.lock,deno.lock,.swcrc setf json
|
||||
|
||||
" JSONC (JSON with comments)
|
||||
au BufNewFile,BufRead *.jsonc,.babelrc,.eslintrc,.jsfmtrc,bun.lock setf jsonc
|
||||
au BufNewFile,BufRead .jshintrc,.jscsrc,.vsconfig,.hintrc,.swrc,[jt]sconfig*.json setf jsonc
|
||||
" Visual Studio Code settings
|
||||
au BufRead,BufNewFile ~/*/{Code,VSCodium}/User/*.json setf jsonc
|
||||
|
||||
" JSON
|
||||
au BufNewFile,BufRead *.json,*.jsonp,*.webmanifest setf json
|
||||
@@ -1287,7 +1292,7 @@ au BufNewFile,BufRead *.jsonnet,*.libsonnet setf jsonnet
|
||||
au BufNewFile,BufRead *.jl setf julia
|
||||
|
||||
" Just
|
||||
au BufNewFile,BufRead [jJ]ustfile,.justfile,*.just setf just
|
||||
au BufNewFile,BufRead \c{,*.}justfile,\c*.just setf just
|
||||
|
||||
" KAREL
|
||||
au BufNewFile,BufRead *.kl setf karel
|
||||
@@ -1722,6 +1727,9 @@ au BufNewFile,BufRead *.nse setf lua
|
||||
" NSIS
|
||||
au BufNewFile,BufRead *.nsi,*.nsh setf nsis
|
||||
|
||||
" N-Triples
|
||||
au BufNewFile,BufRead *.nt setf ntriples
|
||||
|
||||
" Nu
|
||||
au BufNewFile,BufRead *.nu setf nu
|
||||
|
||||
@@ -2318,6 +2326,9 @@ au BufNewFile,BufRead .tcshrc,*.tcsh,tcsh.tcshrc,tcsh.login call dist#ft#SetFile
|
||||
" (patterns ending in a start further below)
|
||||
au BufNewFile,BufRead .login,.cshrc,csh.cshrc,csh.login,csh.logout,*.csh,.alias call dist#ft#CSH()
|
||||
|
||||
" TriG
|
||||
au BufNewFile,BufRead *.trig setf trig
|
||||
|
||||
" Zig and Zig Object Notation (ZON)
|
||||
au BufNewFile,BufRead *.zig,*.zon setf zig
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ endif
|
||||
" When the matchit plugin is loaded, this makes the % command skip parens and
|
||||
" braces in comments properly.
|
||||
if !exists("b:match_words")
|
||||
let b:match_words = '^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
|
||||
let b:match_words = '^\s*#\s*if\%(\|def\|ndef\)\>:^\s*#\s*elif\%(\|def\|ndef\)\>:^\s*#\s*else\>:^\s*#\s*endif\>'
|
||||
let b:match_skip = 's:comment\|string\|character\|special'
|
||||
let b:undo_ftplugin ..= " | unlet! b:match_skip b:match_words"
|
||||
endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: EditorConfig
|
||||
" Maintainer: Riley Bruins <ribru17@gmail.com>
|
||||
" Last Change: 2024 Jul 06
|
||||
" Last Change: 2025 Jan 10
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
@@ -10,4 +10,6 @@ let b:did_ftplugin = 1
|
||||
|
||||
setl comments=:#,:; commentstring=#\ %s
|
||||
|
||||
let b:undo_ftplugin = 'setl com< cms<'
|
||||
setl omnifunc=syntaxcomplete#Complete
|
||||
|
||||
let b:undo_ftplugin = 'setl com< cms< ofu<'
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
" Vim ftplugin file
|
||||
" Language: Justfile
|
||||
" Maintainer: Peter Benjamin <@pbnj>
|
||||
" Last Change: 2025 Jan 19
|
||||
" Credits: The original author, Noah Bogart <https://github.com/NoahTheDuke/vim-just/>
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal iskeyword+=-
|
||||
setlocal comments=n:#
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
let b:undo_ftplugin = "setlocal iskeyword< comments< commentstring<"
|
||||
@@ -2,7 +2,7 @@
|
||||
" Vim syntax file
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2024-04-12
|
||||
" Latest Revision: 2025 Jan 20
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-kconfig
|
||||
|
||||
@@ -19,4 +19,5 @@ setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
" For matchit.vim
|
||||
if exists("loaded_matchit")
|
||||
let b:match_words = '^\<menu\>:\<endmenu\>,^\<if\>:\<endif\>,^\<choice\>:\<endchoice\>'
|
||||
let b:undo_ftplugin .= "| unlet! b:match_words"
|
||||
endif
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
" Vim indent file
|
||||
" Language: Justfile
|
||||
" Maintainer: Peter Benjamin <@pbnj>
|
||||
" Last Change: 2025 Jan 19
|
||||
" Credits: The original author, Noah Bogart <https://github.com/NoahTheDuke/vim-just/>
|
||||
|
||||
" Only load this indent file when no other was loaded yet.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentexpr=GetJustfileIndent()
|
||||
setlocal indentkeys=0},0),!^F,o,O,0=''',0=\"\"\"
|
||||
|
||||
let b:undo_indent = "setlocal indentexpr< indentkeys<"
|
||||
|
||||
if exists("*GetJustfileIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
function GetJustfileIndent()
|
||||
if v:lnum < 2
|
||||
return 0
|
||||
endif
|
||||
|
||||
let prev_line = getline(v:lnum - 1)
|
||||
let last_indent = indent(v:lnum - 1)
|
||||
|
||||
if getline(v:lnum) =~ "\\v^\\s+%([})]|'''$|\"\"\"$)"
|
||||
return last_indent - shiftwidth()
|
||||
elseif prev_line =~ '\V#'
|
||||
return last_indent
|
||||
elseif prev_line =~ "\\v%([:{(]|^.*\\S.*%([^']'''|[^\"]\"\"\"))\\s*$"
|
||||
return last_indent + shiftwidth()
|
||||
elseif prev_line =~ '\\$'
|
||||
if v:lnum == 2 || getline(v:lnum - 2) !~ '\\$'
|
||||
if prev_line =~ '\v:\=@!'
|
||||
return last_indent + shiftwidth() + shiftwidth()
|
||||
else
|
||||
return last_indent + shiftwidth()
|
||||
endif
|
||||
endif
|
||||
elseif v:lnum > 2 && getline(v:lnum - 2) =~ '\\$'
|
||||
return last_indent - shiftwidth()
|
||||
elseif prev_line =~ '\v:\s*%(\h|\()' && prev_line !~ '\V:='
|
||||
return last_indent + shiftwidth()
|
||||
endif
|
||||
|
||||
return last_indent
|
||||
endfunction
|
||||
@@ -113,284 +113,12 @@ echo 0
|
||||
end
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var result = Func(
|
||||
arg1,
|
||||
arg2
|
||||
)
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var result = Func(arg1,
|
||||
arg2)
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
filter(list, (k, v) =>
|
||||
v > 0)
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
filter(list, (k, v) => {
|
||||
const x = get(list, k, 0)
|
||||
return x > 0
|
||||
})
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if x > 0
|
||||
filter(list, (k, v) => {
|
||||
const x = get(list, k, 1)
|
||||
return x > 0
|
||||
})
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
{
|
||||
var temp = 'temp'
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var text = lead
|
||||
.. middle
|
||||
.. end
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var text = lead ..
|
||||
middle ..
|
||||
end
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var total = start +
|
||||
end -
|
||||
correction
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var result = start
|
||||
:+ print
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var result = positive
|
||||
? PosFunc(arg)
|
||||
: NegFunc(arg)
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var result = GetBuilder()
|
||||
->BuilderSetWidth(333)
|
||||
->BuilderSetHeight(777)
|
||||
->BuilderBuild()
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var result = MyDict
|
||||
.member
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
autocmd BufNewFile *.match if condition
|
||||
| echo 'match'
|
||||
| endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
set cpo+=C
|
||||
var lines =<< trim END
|
||||
| this works
|
||||
END
|
||||
set cpo-=C
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
syn region Text
|
||||
\ start='foo'
|
||||
#\ comment
|
||||
\ end='bar'
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
au CursorHold * echom 'BEFORE bar'
|
||||
#\ some comment
|
||||
| echom 'AFTER bar'
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def MyFunc(text: string,
|
||||
separator = '-'
|
||||
): string
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def MyFunc(
|
||||
text: string,
|
||||
separator = '-'
|
||||
): string
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
[var1, var2] =
|
||||
Func()
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
const list = ['one',
|
||||
'two']
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
const list = [
|
||||
'one',
|
||||
'two',
|
||||
]
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
const dict = {one: 1,
|
||||
two: 2
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
const dict = {
|
||||
one: 1,
|
||||
two: 2
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
const dict =
|
||||
{
|
||||
one: 1,
|
||||
two: 2
|
||||
}
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func()
|
||||
return {
|
||||
one: 1
|
||||
}
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
echo {
|
||||
a: 0,
|
||||
# b
|
||||
# c
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
echo search(
|
||||
# comment
|
||||
'1'
|
||||
.. '2'
|
||||
)
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
var v = ( # trailing "(" starts line continuation
|
||||
3 + 4 # nothing special
|
||||
) # end of expression indicates continued line
|
||||
var x: number # needs to align with previous "var"
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func() # {{{
|
||||
# comment
|
||||
if true
|
||||
return
|
||||
endif
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
echo {
|
||||
key:
|
||||
'value',
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var id = time
|
||||
->timer_start((_) => {
|
||||
n = 0
|
||||
})
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
augroup Name
|
||||
autocmd!
|
||||
augroup END
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var n =
|
||||
# comment
|
||||
1
|
||||
+ 2
|
||||
|
||||
var s = ''
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var keys = {
|
||||
J: 'j',
|
||||
"\<Home>": '1G',
|
||||
"\<End>": 'G',
|
||||
z: 'zz'
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
export def Func(
|
||||
n: number,
|
||||
s: string,
|
||||
...l: list<bool>
|
||||
)
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var heredoc =<< trim ENDD
|
||||
var nested_heredoc =<< trim END
|
||||
END
|
||||
ENDD
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
else " comment
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true | echo 'one' | endif
|
||||
if true | echo 'two' | endif
|
||||
if true | echo 'three' | endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
:'<-1 mark <
|
||||
else
|
||||
echo ''
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
substitute/pat /rep /
|
||||
echo
|
||||
@@ -404,92 +132,12 @@ echo 2
|
||||
endtry
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func()
|
||||
Cmd %
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if end == 'xxx' || end == 'yyy'
|
||||
echo
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
popup_move(id, {col: 1,
|
||||
line: 2})
|
||||
endif
|
||||
setwinvar(id, 'name', 3)
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var d = [
|
||||
{a: 'x',
|
||||
b: 'y'},
|
||||
FuncA(),
|
||||
FuncB(),
|
||||
]
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var ll = [[
|
||||
1,
|
||||
2,
|
||||
3], [
|
||||
4,
|
||||
5,
|
||||
6], [
|
||||
7,
|
||||
8,
|
||||
9]]
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var ld = [{
|
||||
a: 'xxx',
|
||||
b: 'yyy'}, {
|
||||
c: 'xxx',
|
||||
d: 'yyy'}, {
|
||||
e: 'xxx',
|
||||
f: 'yyy'}, {
|
||||
}]
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var d = {
|
||||
a: {
|
||||
b: {
|
||||
c: [{
|
||||
d: 'e',
|
||||
f: 'g',
|
||||
h: 'i'
|
||||
}],
|
||||
j: 'k',
|
||||
},
|
||||
},
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
var end: any
|
||||
if true
|
||||
end = 0
|
||||
elseif true
|
||||
echo
|
||||
endif
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
var d = {
|
||||
end: 0}
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
nunmap <buffer> (
|
||||
nunmap <buffer> )
|
||||
@@ -499,224 +147,6 @@ silent! xunmap i{
|
||||
silent! xunmap a{
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func(
|
||||
s: string,
|
||||
n = 1,
|
||||
m = 2
|
||||
)
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var h =<< END
|
||||
text
|
||||
END
|
||||
|
||||
def Func()
|
||||
echo
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func()
|
||||
var h =<< END
|
||||
text
|
||||
END
|
||||
echo 'test'
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Foo()
|
||||
lcd -
|
||||
enddef
|
||||
def Bar()
|
||||
echo
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
n = Func(1, 2,
|
||||
3)
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func(s: string,
|
||||
n: number): bool
|
||||
if true
|
||||
return false
|
||||
endif
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func(
|
||||
n: number)
|
||||
#
|
||||
echo
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
" INDENT_AT this-line
|
||||
def Func(
|
||||
n: number)
|
||||
#
|
||||
echo # this-line
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
if true
|
||||
normal! ==
|
||||
endif
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var d = {
|
||||
a: () => true,
|
||||
b: () => true
|
||||
&& true
|
||||
&& Foo(),
|
||||
c: () => Bar(),
|
||||
e: () => Baz(),
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Select(Cont: func(func(any)), Pred: func(any): bool): func(func(any))
|
||||
return (Emit: func(any)) => {
|
||||
Cont((t: any) => {
|
||||
if Pred(t)
|
||||
Emit(t)
|
||||
endif
|
||||
})
|
||||
}
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
" INDENT_EXE let g:vim_indent = {'more_in_bracket_block': v:true}
|
||||
def Select(Cont: func(func(any)), Pred: func(any): bool): func(func(any))
|
||||
return (Emit: func(any)) => {
|
||||
Cont((t: any) => {
|
||||
if Pred(t)
|
||||
Emit(t)
|
||||
endif
|
||||
})
|
||||
}
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
" INDENT_EXE unlet! g:vim_indent
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
g:lightline = {
|
||||
'active': {
|
||||
'left': [ [ 'mode', 'paste' ], [ 'readonly', 'relativepath', 'modified' ] ],
|
||||
},
|
||||
'inactive': {
|
||||
'left': [ [ 'readonly', 'relativepath', 'modified' ] ],
|
||||
}
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if getline(1, 10)
|
||||
->map((_, v: string): number => strcharlen(v))
|
||||
->max() > 1'000
|
||||
&l:breakindent = false
|
||||
&l:linebreak = false
|
||||
else
|
||||
&l:breakindent = true
|
||||
&l:linebreak = true
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var ext2cmd: dict<string> = {
|
||||
doc: $'antiword {fname}',
|
||||
docx: $'pandoc --from=docx --to=markdown {fname}',
|
||||
epub: $'pandoc --from=epub --to=markdown {fname}',
|
||||
odp: $'odt2txt {fname}',
|
||||
odt: $'odt2txt {fname}',
|
||||
pdf: $'pdftotext -nopgbrk -layout -q -eol unix {fname} -',
|
||||
rtf: 'unrtf --text',
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
const ptybuf: number = term_start(&shell, {
|
||||
hidden: true,
|
||||
exit_cb: (_, _) => {
|
||||
if true
|
||||
close
|
||||
else
|
||||
help
|
||||
endif
|
||||
}
|
||||
})
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var d = {
|
||||
a: 0,
|
||||
# a ' quote {{{
|
||||
#}}}
|
||||
b: 0,
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
echo printf('%s () %s',
|
||||
1,
|
||||
2
|
||||
)
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
prop_add(1, col('.'), {
|
||||
length: 2,
|
||||
type: 'test'
|
||||
})
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
echo (() => " string starting with space")()
|
||||
echo
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var variables = deepcopy(g:)
|
||||
->filter((k: string, _): bool =>
|
||||
k =~ '\c\V' .. keyword->escape('\')
|
||||
&& k !~ '\%(loaded\|did_plugin_\)')
|
||||
->items()
|
||||
->map((_, v): string => v[0] .. ' = ' .. string(v[1]))
|
||||
new
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var d = freq
|
||||
->map((_, v) =>
|
||||
v * (
|
||||
1
|
||||
+ 2
|
||||
))
|
||||
for item in d
|
||||
->items()
|
||||
->sort((a, b) => b[1] - a[1])
|
||||
echo
|
||||
endfor
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
make_job = job_start([&shell, &shellcmdflag, make_cmd], {
|
||||
callback: function(MakeProcessOutput, [qfid]),
|
||||
@@ -726,109 +156,16 @@ in_io: 'null'
|
||||
})
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var matching_abbrev: list<dict<string>> = copy(ABBREV)
|
||||
->filter((_, v: dict<string>): bool =>
|
||||
stridx(v.lhs, word_to_complete) == 0)
|
||||
->map((_, v: dict<string>) => ({
|
||||
word: v.lhs,
|
||||
menu: AbbrevRhs(v.rhs)->stridx('expand_') >= 0
|
||||
? AbbrevRhs(v.rhs)->matchstr('.*,\s*''\zs.*\ze'')')
|
||||
: AbbrevRhs(v.rhs)
|
||||
}))
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func()
|
||||
if true
|
||||
vimgrep /^\C\s*\%(fu\%[nction]\|def\)\s\+/ file
|
||||
endif
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
setlocal iskeyword+=[
|
||||
cword = expand('<cword>')
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
silent if true
|
||||
echo
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func()
|
||||
sort :^.*[\/]:
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func()
|
||||
d = {
|
||||
}
|
||||
hd =<< trim END
|
||||
['
|
||||
]'
|
||||
END
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func()
|
||||
if true
|
||||
var hd =<< trim END
|
||||
if get(b:, 'current_syntax', '')
|
||||
endif
|
||||
END
|
||||
elseif true
|
||||
echo
|
||||
endif
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
# test for control-flow keyword followed by commented fold marker {{{
|
||||
if true
|
||||
echo
|
||||
endif #}}}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if winsz == 0|let winsz= ""|endif
|
||||
exe "noswapfile ".winsz."wincmd s"
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
if true
|
||||
windo if true | echo | endif
|
||||
augroup Name
|
||||
autocmd WinLeave * if true | eval 1 + 2 | endif
|
||||
augroup END
|
||||
endif
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
echo ' =<< trim END'
|
||||
->len()
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
function Func()
|
||||
if true
|
||||
if true
|
||||
if true | echo com | endif
|
||||
if true | echo com | endif
|
||||
endif
|
||||
else
|
||||
endif
|
||||
endfunction
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
function Func()
|
||||
if v:true
|
||||
@@ -839,128 +176,11 @@ endif
|
||||
endfunction
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var matchpairs: string = &matchpairs
|
||||
var pairs: dict<list<string>>
|
||||
for [opening: string, closing: string]
|
||||
in matchpairs
|
||||
->split(',')
|
||||
->map((_, v: string): list<string> => split(v, ':'))
|
||||
pairs[opening] = [escape(opening, '[]'), escape(closing, '[]'), 'nW', 'w$']
|
||||
pairs[closing] = [escape(opening, '[]'), escape(closing, '[]'), 'bnW', 'w0']
|
||||
endfor
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
{
|
||||
echo []
|
||||
+ []
|
||||
+ [{a: 1,
|
||||
b: 2}]
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
silent! argdel *
|
||||
edit file
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Foo()
|
||||
Bar(1,
|
||||
[]->filter((_, v) => {
|
||||
return true
|
||||
}),
|
||||
() => {
|
||||
echo
|
||||
})
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
echo {
|
||||
k: () => {
|
||||
if true
|
||||
echo
|
||||
popup_setoptions(id,
|
||||
{title: 'title'})
|
||||
endif
|
||||
}
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
elseif
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if (
|
||||
true)
|
||||
&& true
|
||||
echo
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
abstract class Shape
|
||||
var color = Color.Black
|
||||
var thickness = 10
|
||||
endclass
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
class OtherThing
|
||||
var size: number
|
||||
static var totalSize: number
|
||||
|
||||
static def ClearTotalSize(): number
|
||||
var prev = totalSize
|
||||
totalSize = 0
|
||||
return prev
|
||||
enddef
|
||||
endclass
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
interface HasSurface
|
||||
var size: number
|
||||
def Surface(): number
|
||||
endinterface
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
interface EnterExit
|
||||
def Enter(): void
|
||||
def Exit(): void
|
||||
endinterface
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
enum Color
|
||||
White,
|
||||
Red,
|
||||
Green,
|
||||
Blue,
|
||||
Black
|
||||
endenum
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
enum Digits
|
||||
INVALID(v:numbermax), # The null value.
|
||||
ZERO(0 * v:numbermin), ONE(2 - 1),
|
||||
TWO(1 + 1), THREE(9 / 3), FOUR(1 * 4),
|
||||
FIVE(1 + 2 + 2), SIX(36 / 3 / 2), SEVEN(7), EIGHT(2 * 2 * 2),
|
||||
NINE(3 + 3 + 3)
|
||||
const value: number
|
||||
def new(value: number)
|
||||
this.value = value
|
||||
enddef
|
||||
endenum
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
call prop_type_add('indent_after_literal_dict', #{ foo: 'bar' })
|
||||
call prop_type_delete('indent_after_literal_dict')
|
||||
|
||||
@@ -113,284 +113,12 @@ if v:true
|
||||
end
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var result = Func(
|
||||
arg1,
|
||||
arg2
|
||||
)
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var result = Func(arg1,
|
||||
arg2)
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
filter(list, (k, v) =>
|
||||
v > 0)
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
filter(list, (k, v) => {
|
||||
const x = get(list, k, 0)
|
||||
return x > 0
|
||||
})
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if x > 0
|
||||
filter(list, (k, v) => {
|
||||
const x = get(list, k, 1)
|
||||
return x > 0
|
||||
})
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
{
|
||||
var temp = 'temp'
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var text = lead
|
||||
.. middle
|
||||
.. end
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var text = lead ..
|
||||
middle ..
|
||||
end
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var total = start +
|
||||
end -
|
||||
correction
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var result = start
|
||||
:+ print
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var result = positive
|
||||
? PosFunc(arg)
|
||||
: NegFunc(arg)
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var result = GetBuilder()
|
||||
->BuilderSetWidth(333)
|
||||
->BuilderSetHeight(777)
|
||||
->BuilderBuild()
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var result = MyDict
|
||||
.member
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
autocmd BufNewFile *.match if condition
|
||||
| echo 'match'
|
||||
| endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
set cpo+=C
|
||||
var lines =<< trim END
|
||||
| this works
|
||||
END
|
||||
set cpo-=C
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
syn region Text
|
||||
\ start='foo'
|
||||
#\ comment
|
||||
\ end='bar'
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
au CursorHold * echom 'BEFORE bar'
|
||||
#\ some comment
|
||||
| echom 'AFTER bar'
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def MyFunc(text: string,
|
||||
separator = '-'
|
||||
): string
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def MyFunc(
|
||||
text: string,
|
||||
separator = '-'
|
||||
): string
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
[var1, var2] =
|
||||
Func()
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
const list = ['one',
|
||||
'two']
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
const list = [
|
||||
'one',
|
||||
'two',
|
||||
]
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
const dict = {one: 1,
|
||||
two: 2
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
const dict = {
|
||||
one: 1,
|
||||
two: 2
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
const dict =
|
||||
{
|
||||
one: 1,
|
||||
two: 2
|
||||
}
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func()
|
||||
return {
|
||||
one: 1
|
||||
}
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
echo {
|
||||
a: 0,
|
||||
# b
|
||||
# c
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
echo search(
|
||||
# comment
|
||||
'1'
|
||||
.. '2'
|
||||
)
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
var v = ( # trailing "(" starts line continuation
|
||||
3 + 4 # nothing special
|
||||
) # end of expression indicates continued line
|
||||
var x: number # needs to align with previous "var"
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func() # {{{
|
||||
# comment
|
||||
if true
|
||||
return
|
||||
endif
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
echo {
|
||||
key:
|
||||
'value',
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var id = time
|
||||
->timer_start((_) => {
|
||||
n = 0
|
||||
})
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
augroup Name
|
||||
autocmd!
|
||||
augroup END
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var n =
|
||||
# comment
|
||||
1
|
||||
+ 2
|
||||
|
||||
var s = ''
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var keys = {
|
||||
J: 'j',
|
||||
"\<Home>": '1G',
|
||||
"\<End>": 'G',
|
||||
z: 'zz'
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
export def Func(
|
||||
n: number,
|
||||
s: string,
|
||||
...l: list<bool>
|
||||
)
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var heredoc =<< trim ENDD
|
||||
var nested_heredoc =<< trim END
|
||||
END
|
||||
ENDD
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
else " comment
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true | echo 'one' | endif
|
||||
if true | echo 'two' | endif
|
||||
if true | echo 'three' | endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
:'<-1 mark <
|
||||
else
|
||||
echo ''
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
substitute/pat /rep /
|
||||
echo
|
||||
@@ -404,92 +132,12 @@ catch /pat / # comment
|
||||
endtry
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func()
|
||||
Cmd %
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if end == 'xxx' || end == 'yyy'
|
||||
echo
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
popup_move(id, {col: 1,
|
||||
line: 2})
|
||||
endif
|
||||
setwinvar(id, 'name', 3)
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var d = [
|
||||
{a: 'x',
|
||||
b: 'y'},
|
||||
FuncA(),
|
||||
FuncB(),
|
||||
]
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var ll = [[
|
||||
1,
|
||||
2,
|
||||
3], [
|
||||
4,
|
||||
5,
|
||||
6], [
|
||||
7,
|
||||
8,
|
||||
9]]
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var ld = [{
|
||||
a: 'xxx',
|
||||
b: 'yyy'}, {
|
||||
c: 'xxx',
|
||||
d: 'yyy'}, {
|
||||
e: 'xxx',
|
||||
f: 'yyy'}, {
|
||||
}]
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var d = {
|
||||
a: {
|
||||
b: {
|
||||
c: [{
|
||||
d: 'e',
|
||||
f: 'g',
|
||||
h: 'i'
|
||||
}],
|
||||
j: 'k',
|
||||
},
|
||||
},
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
var end: any
|
||||
if true
|
||||
end = 0
|
||||
elseif true
|
||||
echo
|
||||
endif
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
var d = {
|
||||
end: 0}
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
nunmap <buffer> (
|
||||
nunmap <buffer> )
|
||||
@@ -499,224 +147,6 @@ silent! xunmap i{
|
||||
silent! xunmap a{
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func(
|
||||
s: string,
|
||||
n = 1,
|
||||
m = 2
|
||||
)
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var h =<< END
|
||||
text
|
||||
END
|
||||
|
||||
def Func()
|
||||
echo
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func()
|
||||
var h =<< END
|
||||
text
|
||||
END
|
||||
echo 'test'
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Foo()
|
||||
lcd -
|
||||
enddef
|
||||
def Bar()
|
||||
echo
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
n = Func(1, 2,
|
||||
3)
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func(s: string,
|
||||
n: number): bool
|
||||
if true
|
||||
return false
|
||||
endif
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func(
|
||||
n: number)
|
||||
#
|
||||
echo
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
" INDENT_AT this-line
|
||||
def Func(
|
||||
n: number)
|
||||
#
|
||||
echo # this-line
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
if true
|
||||
normal! ==
|
||||
endif
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var d = {
|
||||
a: () => true,
|
||||
b: () => true
|
||||
&& true
|
||||
&& Foo(),
|
||||
c: () => Bar(),
|
||||
e: () => Baz(),
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Select(Cont: func(func(any)), Pred: func(any): bool): func(func(any))
|
||||
return (Emit: func(any)) => {
|
||||
Cont((t: any) => {
|
||||
if Pred(t)
|
||||
Emit(t)
|
||||
endif
|
||||
})
|
||||
}
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
" INDENT_EXE let g:vim_indent = {'more_in_bracket_block': v:true}
|
||||
def Select(Cont: func(func(any)), Pred: func(any): bool): func(func(any))
|
||||
return (Emit: func(any)) => {
|
||||
Cont((t: any) => {
|
||||
if Pred(t)
|
||||
Emit(t)
|
||||
endif
|
||||
})
|
||||
}
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
" INDENT_EXE unlet! g:vim_indent
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
g:lightline = {
|
||||
'active': {
|
||||
'left': [ [ 'mode', 'paste' ], [ 'readonly', 'relativepath', 'modified' ] ],
|
||||
},
|
||||
'inactive': {
|
||||
'left': [ [ 'readonly', 'relativepath', 'modified' ] ],
|
||||
}
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if getline(1, 10)
|
||||
->map((_, v: string): number => strcharlen(v))
|
||||
->max() > 1'000
|
||||
&l:breakindent = false
|
||||
&l:linebreak = false
|
||||
else
|
||||
&l:breakindent = true
|
||||
&l:linebreak = true
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var ext2cmd: dict<string> = {
|
||||
doc: $'antiword {fname}',
|
||||
docx: $'pandoc --from=docx --to=markdown {fname}',
|
||||
epub: $'pandoc --from=epub --to=markdown {fname}',
|
||||
odp: $'odt2txt {fname}',
|
||||
odt: $'odt2txt {fname}',
|
||||
pdf: $'pdftotext -nopgbrk -layout -q -eol unix {fname} -',
|
||||
rtf: 'unrtf --text',
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
const ptybuf: number = term_start(&shell, {
|
||||
hidden: true,
|
||||
exit_cb: (_, _) => {
|
||||
if true
|
||||
close
|
||||
else
|
||||
help
|
||||
endif
|
||||
}
|
||||
})
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var d = {
|
||||
a: 0,
|
||||
# a ' quote {{{
|
||||
#}}}
|
||||
b: 0,
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
echo printf('%s () %s',
|
||||
1,
|
||||
2
|
||||
)
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
prop_add(1, col('.'), {
|
||||
length: 2,
|
||||
type: 'test'
|
||||
})
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
echo (() => " string starting with space")()
|
||||
echo
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var variables = deepcopy(g:)
|
||||
->filter((k: string, _): bool =>
|
||||
k =~ '\c\V' .. keyword->escape('\')
|
||||
&& k !~ '\%(loaded\|did_plugin_\)')
|
||||
->items()
|
||||
->map((_, v): string => v[0] .. ' = ' .. string(v[1]))
|
||||
new
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var d = freq
|
||||
->map((_, v) =>
|
||||
v * (
|
||||
1
|
||||
+ 2
|
||||
))
|
||||
for item in d
|
||||
->items()
|
||||
->sort((a, b) => b[1] - a[1])
|
||||
echo
|
||||
endfor
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
make_job = job_start([&shell, &shellcmdflag, make_cmd], {
|
||||
callback: function(MakeProcessOutput, [qfid]),
|
||||
@@ -726,109 +156,16 @@ make_job = job_start([&shell, &shellcmdflag, make_cmd], {
|
||||
})
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var matching_abbrev: list<dict<string>> = copy(ABBREV)
|
||||
->filter((_, v: dict<string>): bool =>
|
||||
stridx(v.lhs, word_to_complete) == 0)
|
||||
->map((_, v: dict<string>) => ({
|
||||
word: v.lhs,
|
||||
menu: AbbrevRhs(v.rhs)->stridx('expand_') >= 0
|
||||
? AbbrevRhs(v.rhs)->matchstr('.*,\s*''\zs.*\ze'')')
|
||||
: AbbrevRhs(v.rhs)
|
||||
}))
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func()
|
||||
if true
|
||||
vimgrep /^\C\s*\%(fu\%[nction]\|def\)\s\+/ file
|
||||
endif
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
setlocal iskeyword+=[
|
||||
cword = expand('<cword>')
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
silent if true
|
||||
echo
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func()
|
||||
sort :^.*[\/]:
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func()
|
||||
d = {
|
||||
}
|
||||
hd =<< trim END
|
||||
['
|
||||
]'
|
||||
END
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Func()
|
||||
if true
|
||||
var hd =<< trim END
|
||||
if get(b:, 'current_syntax', '')
|
||||
endif
|
||||
END
|
||||
elseif true
|
||||
echo
|
||||
endif
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
# test for control-flow keyword followed by commented fold marker {{{
|
||||
if true
|
||||
echo
|
||||
endif #}}}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if winsz == 0|let winsz= ""|endif
|
||||
exe "noswapfile ".winsz."wincmd s"
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
if true
|
||||
windo if true | echo | endif
|
||||
augroup Name
|
||||
autocmd WinLeave * if true | eval 1 + 2 | endif
|
||||
augroup END
|
||||
endif
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
echo ' =<< trim END'
|
||||
->len()
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
function Func()
|
||||
if true
|
||||
if true
|
||||
if true | echo com | endif
|
||||
if true | echo com | endif
|
||||
endif
|
||||
else
|
||||
endif
|
||||
endfunction
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
function Func()
|
||||
if v:true
|
||||
@@ -839,128 +176,11 @@ function Func()
|
||||
endfunction
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
var matchpairs: string = &matchpairs
|
||||
var pairs: dict<list<string>>
|
||||
for [opening: string, closing: string]
|
||||
in matchpairs
|
||||
->split(',')
|
||||
->map((_, v: string): list<string> => split(v, ':'))
|
||||
pairs[opening] = [escape(opening, '[]'), escape(closing, '[]'), 'nW', 'w$']
|
||||
pairs[closing] = [escape(opening, '[]'), escape(closing, '[]'), 'bnW', 'w0']
|
||||
endfor
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
{
|
||||
echo []
|
||||
+ []
|
||||
+ [{a: 1,
|
||||
b: 2}]
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
silent! argdel *
|
||||
edit file
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
def Foo()
|
||||
Bar(1,
|
||||
[]->filter((_, v) => {
|
||||
return true
|
||||
}),
|
||||
() => {
|
||||
echo
|
||||
})
|
||||
enddef
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
echo {
|
||||
k: () => {
|
||||
if true
|
||||
echo
|
||||
popup_setoptions(id,
|
||||
{title: 'title'})
|
||||
endif
|
||||
}
|
||||
}
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if true
|
||||
elseif
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
if (
|
||||
true)
|
||||
&& true
|
||||
echo
|
||||
endif
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
abstract class Shape
|
||||
var color = Color.Black
|
||||
var thickness = 10
|
||||
endclass
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
class OtherThing
|
||||
var size: number
|
||||
static var totalSize: number
|
||||
|
||||
static def ClearTotalSize(): number
|
||||
var prev = totalSize
|
||||
totalSize = 0
|
||||
return prev
|
||||
enddef
|
||||
endclass
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
interface HasSurface
|
||||
var size: number
|
||||
def Surface(): number
|
||||
endinterface
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
interface EnterExit
|
||||
def Enter(): void
|
||||
def Exit(): void
|
||||
endinterface
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
enum Color
|
||||
White,
|
||||
Red,
|
||||
Green,
|
||||
Blue,
|
||||
Black
|
||||
endenum
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
enum Digits
|
||||
INVALID(v:numbermax), # The null value.
|
||||
ZERO(0 * v:numbermin), ONE(2 - 1),
|
||||
TWO(1 + 1), THREE(9 / 3), FOUR(1 * 4),
|
||||
FIVE(1 + 2 + 2), SIX(36 / 3 / 2), SEVEN(7), EIGHT(2 * 2 * 2),
|
||||
NINE(3 + 3 + 3)
|
||||
const value: number
|
||||
def new(value: number)
|
||||
this.value = value
|
||||
enddef
|
||||
endenum
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
call prop_type_add('indent_after_literal_dict', #{ foo: 'bar' })
|
||||
call prop_type_delete('indent_after_literal_dict')
|
||||
|
||||
@@ -0,0 +1,782 @@
|
||||
vim9script
|
||||
# vim: set ft=vim sw=4 :
|
||||
|
||||
# START_INDENT
|
||||
var result = Func(
|
||||
arg1,
|
||||
arg2
|
||||
)
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var result = Func(arg1,
|
||||
arg2)
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
filter(list, (k, v) =>
|
||||
v > 0)
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
filter(list, (k, v) => {
|
||||
const x = get(list, k, 0)
|
||||
return x > 0
|
||||
})
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if x > 0
|
||||
filter(list, (k, v) => {
|
||||
const x = get(list, k, 1)
|
||||
return x > 0
|
||||
})
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
{
|
||||
var temp = 'temp'
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var text = lead
|
||||
.. middle
|
||||
.. end
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var text = lead ..
|
||||
middle ..
|
||||
end
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var total = start +
|
||||
end -
|
||||
correction
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var result = start
|
||||
:+ print
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var result = positive
|
||||
? PosFunc(arg)
|
||||
: NegFunc(arg)
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var result = GetBuilder()
|
||||
->BuilderSetWidth(333)
|
||||
->BuilderSetHeight(777)
|
||||
->BuilderBuild()
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var result = MyDict
|
||||
.member
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
autocmd BufNewFile *.match if condition
|
||||
| echo 'match'
|
||||
| endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
set cpo+=C
|
||||
var lines =<< trim END
|
||||
| this works
|
||||
END
|
||||
set cpo-=C
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
syn region Text
|
||||
\ start='foo'
|
||||
#\ comment
|
||||
\ end='bar'
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
au CursorHold * echom 'BEFORE bar'
|
||||
#\ some comment
|
||||
| echom 'AFTER bar'
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def MyFunc(text: string,
|
||||
separator = '-'
|
||||
): string
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def MyFunc(
|
||||
text: string,
|
||||
separator = '-'
|
||||
): string
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
[var1, var2] =
|
||||
Func()
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
const list = ['one',
|
||||
'two']
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
const list = [
|
||||
'one',
|
||||
'two',
|
||||
]
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
const dict = {one: 1,
|
||||
two: 2
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
const dict = {
|
||||
one: 1,
|
||||
two: 2
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
const dict =
|
||||
{
|
||||
one: 1,
|
||||
two: 2
|
||||
}
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func()
|
||||
return {
|
||||
one: 1
|
||||
}
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
echo {
|
||||
a: 0,
|
||||
# b
|
||||
# c
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
echo search(
|
||||
# comment
|
||||
'1'
|
||||
.. '2'
|
||||
)
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
var v = ( # trailing "(" starts line continuation
|
||||
3 + 4 # nothing special
|
||||
) # end of expression indicates continued line
|
||||
var x: number # needs to align with previous "var"
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func() # {{{
|
||||
# comment
|
||||
if true
|
||||
return
|
||||
endif
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
echo {
|
||||
key:
|
||||
'value',
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var id = time
|
||||
->timer_start((_) => {
|
||||
n = 0
|
||||
})
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var n =
|
||||
# comment
|
||||
1
|
||||
+ 2
|
||||
|
||||
var s = ''
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var keys = {
|
||||
J: 'j',
|
||||
"\<Home>": '1G',
|
||||
"\<End>": 'G',
|
||||
z: 'zz'
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
export def Func(
|
||||
n: number,
|
||||
s: string,
|
||||
...l: list<bool>
|
||||
)
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var heredoc =<< trim ENDD
|
||||
var nested_heredoc =<< trim END
|
||||
END
|
||||
ENDD
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
else " comment
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true | echo 'one' | endif
|
||||
if true | echo 'two' | endif
|
||||
if true | echo 'three' | endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
:'<-1 mark <
|
||||
else
|
||||
echo ''
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func()
|
||||
Cmd %
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
popup_move(id, {col: 1,
|
||||
line: 2})
|
||||
endif
|
||||
setwinvar(id, 'name', 3)
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var d = [
|
||||
{a: 'x',
|
||||
b: 'y'},
|
||||
FuncA(),
|
||||
FuncB(),
|
||||
]
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var ll = [[
|
||||
1,
|
||||
2,
|
||||
3], [
|
||||
4,
|
||||
5,
|
||||
6], [
|
||||
7,
|
||||
8,
|
||||
9]]
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var ld = [{
|
||||
a: 'xxx',
|
||||
b: 'yyy'}, {
|
||||
c: 'xxx',
|
||||
d: 'yyy'}, {
|
||||
e: 'xxx',
|
||||
f: 'yyy'}, {
|
||||
}]
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var d = {
|
||||
a: {
|
||||
b: {
|
||||
c: [{
|
||||
d: 'e',
|
||||
f: 'g',
|
||||
h: 'i'
|
||||
}],
|
||||
j: 'k',
|
||||
},
|
||||
},
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
var end: any
|
||||
if true
|
||||
end = 0
|
||||
elseif true
|
||||
echo
|
||||
endif
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
var d = {
|
||||
end: 0}
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func(
|
||||
s: string,
|
||||
n = 1,
|
||||
m = 2
|
||||
)
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var h =<< END
|
||||
text
|
||||
END
|
||||
|
||||
def Func()
|
||||
echo
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func()
|
||||
var h =<< END
|
||||
text
|
||||
END
|
||||
echo 'test'
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Foo()
|
||||
lcd -
|
||||
enddef
|
||||
def Bar()
|
||||
echo
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
n = Func(1, 2,
|
||||
3)
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func(s: string,
|
||||
n: number): bool
|
||||
if true
|
||||
return false
|
||||
endif
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func(
|
||||
n: number)
|
||||
#
|
||||
echo
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
# INDENT_AT this-line
|
||||
def Func(
|
||||
n: number)
|
||||
#
|
||||
echo # this-line
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
if true
|
||||
normal! ==
|
||||
endif
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var d = {
|
||||
a: () => true,
|
||||
b: () => true
|
||||
&& true
|
||||
&& Foo(),
|
||||
c: () => Bar(),
|
||||
e: () => Baz(),
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Select(Cont: func(func(any)), Pred: func(any): bool): func(func(any))
|
||||
return (Emit: func(any)) => {
|
||||
Cont((t: any) => {
|
||||
if Pred(t)
|
||||
Emit(t)
|
||||
endif
|
||||
})
|
||||
}
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
# INDENT_EXE let g:vim_indent = {'more_in_bracket_block': v:true}
|
||||
def Select(Cont: func(func(any)), Pred: func(any): bool): func(func(any))
|
||||
return (Emit: func(any)) => {
|
||||
Cont((t: any) => {
|
||||
if Pred(t)
|
||||
Emit(t)
|
||||
endif
|
||||
})
|
||||
}
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
# INDENT_EXE unlet! g:vim_indent
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
g:lightline = {
|
||||
'active': {
|
||||
'left': [ [ 'mode', 'paste' ], [ 'readonly', 'relativepath', 'modified' ] ],
|
||||
},
|
||||
'inactive': {
|
||||
'left': [ [ 'readonly', 'relativepath', 'modified' ] ],
|
||||
}
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if getline(1, 10)
|
||||
->map((_, v: string): number => strcharlen(v))
|
||||
->max() > 1'000
|
||||
&l:breakindent = false
|
||||
&l:linebreak = false
|
||||
else
|
||||
&l:breakindent = true
|
||||
&l:linebreak = true
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var ext2cmd: dict<string> = {
|
||||
doc: $'antiword {fname}',
|
||||
docx: $'pandoc --from=docx --to=markdown {fname}',
|
||||
epub: $'pandoc --from=epub --to=markdown {fname}',
|
||||
odp: $'odt2txt {fname}',
|
||||
odt: $'odt2txt {fname}',
|
||||
pdf: $'pdftotext -nopgbrk -layout -q -eol unix {fname} -',
|
||||
rtf: 'unrtf --text',
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
const ptybuf: number = term_start(&shell, {
|
||||
hidden: true,
|
||||
exit_cb: (_, _) => {
|
||||
if true
|
||||
close
|
||||
else
|
||||
help
|
||||
endif
|
||||
}
|
||||
})
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var d = {
|
||||
a: 0,
|
||||
# a ' quote {{{
|
||||
#}}}
|
||||
b: 0,
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
echo printf('%s () %s',
|
||||
1,
|
||||
2
|
||||
)
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
prop_add(1, col('.'), {
|
||||
length: 2,
|
||||
type: 'test'
|
||||
})
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
echo (() => " string starting with space")()
|
||||
echo
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var variables = deepcopy(g:)
|
||||
->filter((k: string, _): bool =>
|
||||
k =~ '\c\V' .. keyword->escape('\')
|
||||
&& k !~ '\%(loaded\|did_plugin_\)')
|
||||
->items()
|
||||
->map((_, v): string => v[0] .. ' = ' .. string(v[1]))
|
||||
new
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var d = freq
|
||||
->map((_, v) =>
|
||||
v * (
|
||||
1
|
||||
+ 2
|
||||
))
|
||||
for item in d
|
||||
->items()
|
||||
->sort((a, b) => b[1] - a[1])
|
||||
echo
|
||||
endfor
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var matching_abbrev: list<dict<string>> = copy(ABBREV)
|
||||
->filter((_, v: dict<string>): bool =>
|
||||
stridx(v.lhs, word_to_complete) == 0)
|
||||
->map((_, v: dict<string>) => ({
|
||||
word: v.lhs,
|
||||
menu: AbbrevRhs(v.rhs)->stridx('expand_') >= 0
|
||||
? AbbrevRhs(v.rhs)->matchstr('.*,\s*''\zs.*\ze'')')
|
||||
: AbbrevRhs(v.rhs)
|
||||
}))
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func()
|
||||
if true
|
||||
vimgrep /^\C\s*\%(fu\%[nction]\|def\)\s\+/ file
|
||||
endif
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
silent if true
|
||||
echo
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func()
|
||||
sort :^.*[\/]:
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func()
|
||||
d = {
|
||||
}
|
||||
hd =<< trim END
|
||||
['
|
||||
]'
|
||||
END
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func()
|
||||
if true
|
||||
var hd =<< trim END
|
||||
if get(b:, 'current_syntax', '')
|
||||
endif
|
||||
END
|
||||
elseif true
|
||||
echo
|
||||
endif
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
# test for control-flow keyword followed by commented fold marker {{{
|
||||
if true
|
||||
echo
|
||||
endif #}}}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
if true
|
||||
windo if true | echo | endif
|
||||
augroup Name
|
||||
autocmd WinLeave * if true | eval 1 + 2 | endif
|
||||
augroup END
|
||||
endif
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
echo ' =<< trim END'
|
||||
->len()
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
function Func()
|
||||
if true
|
||||
if true
|
||||
if true | echo com | endif
|
||||
if true | echo com | endif
|
||||
endif
|
||||
else
|
||||
endif
|
||||
endfunction
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var matchpairs: string = &matchpairs
|
||||
var pairs: dict<list<string>>
|
||||
for [opening: string, closing: string]
|
||||
in matchpairs
|
||||
->split(',')
|
||||
->map((_, v: string): list<string> => split(v, ':'))
|
||||
pairs[opening] = [escape(opening, '[]'), escape(closing, '[]'), 'nW', 'w$']
|
||||
pairs[closing] = [escape(opening, '[]'), escape(closing, '[]'), 'bnW', 'w0']
|
||||
endfor
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
{
|
||||
echo []
|
||||
+ []
|
||||
+ [{a: 1,
|
||||
b: 2}]
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Foo()
|
||||
Bar(1,
|
||||
[]->filter((_, v) => {
|
||||
return true
|
||||
}),
|
||||
() => {
|
||||
echo
|
||||
})
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
echo {
|
||||
k: () => {
|
||||
if true
|
||||
echo
|
||||
popup_setoptions(id,
|
||||
{title: 'title'})
|
||||
endif
|
||||
}
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
elseif
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if (
|
||||
true)
|
||||
&& true
|
||||
echo
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
abstract class Shape
|
||||
var color = Color.Black
|
||||
var thickness = 10
|
||||
endclass
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
class OtherThing
|
||||
var size: number
|
||||
static var totalSize: number
|
||||
|
||||
static def ClearTotalSize(): number
|
||||
var prev = totalSize
|
||||
totalSize = 0
|
||||
return prev
|
||||
enddef
|
||||
endclass
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
interface HasSurface
|
||||
var size: number
|
||||
def Surface(): number
|
||||
endinterface
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
interface EnterExit
|
||||
def Enter(): void
|
||||
def Exit(): void
|
||||
endinterface
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
enum Color
|
||||
White,
|
||||
Red,
|
||||
Green,
|
||||
Blue,
|
||||
Black
|
||||
endenum
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
enum Digits
|
||||
INVALID(v:numbermax), # The null value.
|
||||
ZERO(0 * v:numbermin), ONE(2 - 1),
|
||||
TWO(1 + 1), THREE(9 / 3), FOUR(1 * 4),
|
||||
FIVE(1 + 2 + 2), SIX(36 / 3 / 2), SEVEN(7), EIGHT(2 * 2 * 2),
|
||||
NINE(3 + 3 + 3)
|
||||
const value: number
|
||||
def new(value: number)
|
||||
this.value = value
|
||||
enddef
|
||||
endenum
|
||||
# END_INDENT
|
||||
@@ -0,0 +1,782 @@
|
||||
vim9script
|
||||
# vim: set ft=vim sw=4 :
|
||||
|
||||
# START_INDENT
|
||||
var result = Func(
|
||||
arg1,
|
||||
arg2
|
||||
)
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var result = Func(arg1,
|
||||
arg2)
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
filter(list, (k, v) =>
|
||||
v > 0)
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
filter(list, (k, v) => {
|
||||
const x = get(list, k, 0)
|
||||
return x > 0
|
||||
})
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if x > 0
|
||||
filter(list, (k, v) => {
|
||||
const x = get(list, k, 1)
|
||||
return x > 0
|
||||
})
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
{
|
||||
var temp = 'temp'
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var text = lead
|
||||
.. middle
|
||||
.. end
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var text = lead ..
|
||||
middle ..
|
||||
end
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var total = start +
|
||||
end -
|
||||
correction
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var result = start
|
||||
:+ print
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var result = positive
|
||||
? PosFunc(arg)
|
||||
: NegFunc(arg)
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var result = GetBuilder()
|
||||
->BuilderSetWidth(333)
|
||||
->BuilderSetHeight(777)
|
||||
->BuilderBuild()
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var result = MyDict
|
||||
.member
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
autocmd BufNewFile *.match if condition
|
||||
| echo 'match'
|
||||
| endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
set cpo+=C
|
||||
var lines =<< trim END
|
||||
| this works
|
||||
END
|
||||
set cpo-=C
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
syn region Text
|
||||
\ start='foo'
|
||||
#\ comment
|
||||
\ end='bar'
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
au CursorHold * echom 'BEFORE bar'
|
||||
#\ some comment
|
||||
| echom 'AFTER bar'
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def MyFunc(text: string,
|
||||
separator = '-'
|
||||
): string
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def MyFunc(
|
||||
text: string,
|
||||
separator = '-'
|
||||
): string
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
[var1, var2] =
|
||||
Func()
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
const list = ['one',
|
||||
'two']
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
const list = [
|
||||
'one',
|
||||
'two',
|
||||
]
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
const dict = {one: 1,
|
||||
two: 2
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
const dict = {
|
||||
one: 1,
|
||||
two: 2
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
const dict =
|
||||
{
|
||||
one: 1,
|
||||
two: 2
|
||||
}
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func()
|
||||
return {
|
||||
one: 1
|
||||
}
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
echo {
|
||||
a: 0,
|
||||
# b
|
||||
# c
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
echo search(
|
||||
# comment
|
||||
'1'
|
||||
.. '2'
|
||||
)
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
var v = ( # trailing "(" starts line continuation
|
||||
3 + 4 # nothing special
|
||||
) # end of expression indicates continued line
|
||||
var x: number # needs to align with previous "var"
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func() # {{{
|
||||
# comment
|
||||
if true
|
||||
return
|
||||
endif
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
echo {
|
||||
key:
|
||||
'value',
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var id = time
|
||||
->timer_start((_) => {
|
||||
n = 0
|
||||
})
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var n =
|
||||
# comment
|
||||
1
|
||||
+ 2
|
||||
|
||||
var s = ''
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var keys = {
|
||||
J: 'j',
|
||||
"\<Home>": '1G',
|
||||
"\<End>": 'G',
|
||||
z: 'zz'
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
export def Func(
|
||||
n: number,
|
||||
s: string,
|
||||
...l: list<bool>
|
||||
)
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var heredoc =<< trim ENDD
|
||||
var nested_heredoc =<< trim END
|
||||
END
|
||||
ENDD
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
else " comment
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true | echo 'one' | endif
|
||||
if true | echo 'two' | endif
|
||||
if true | echo 'three' | endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
:'<-1 mark <
|
||||
else
|
||||
echo ''
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func()
|
||||
Cmd %
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
popup_move(id, {col: 1,
|
||||
line: 2})
|
||||
endif
|
||||
setwinvar(id, 'name', 3)
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var d = [
|
||||
{a: 'x',
|
||||
b: 'y'},
|
||||
FuncA(),
|
||||
FuncB(),
|
||||
]
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var ll = [[
|
||||
1,
|
||||
2,
|
||||
3], [
|
||||
4,
|
||||
5,
|
||||
6], [
|
||||
7,
|
||||
8,
|
||||
9]]
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var ld = [{
|
||||
a: 'xxx',
|
||||
b: 'yyy'}, {
|
||||
c: 'xxx',
|
||||
d: 'yyy'}, {
|
||||
e: 'xxx',
|
||||
f: 'yyy'}, {
|
||||
}]
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var d = {
|
||||
a: {
|
||||
b: {
|
||||
c: [{
|
||||
d: 'e',
|
||||
f: 'g',
|
||||
h: 'i'
|
||||
}],
|
||||
j: 'k',
|
||||
},
|
||||
},
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
var end: any
|
||||
if true
|
||||
end = 0
|
||||
elseif true
|
||||
echo
|
||||
endif
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
var d = {
|
||||
end: 0}
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func(
|
||||
s: string,
|
||||
n = 1,
|
||||
m = 2
|
||||
)
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var h =<< END
|
||||
text
|
||||
END
|
||||
|
||||
def Func()
|
||||
echo
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func()
|
||||
var h =<< END
|
||||
text
|
||||
END
|
||||
echo 'test'
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Foo()
|
||||
lcd -
|
||||
enddef
|
||||
def Bar()
|
||||
echo
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
n = Func(1, 2,
|
||||
3)
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func(s: string,
|
||||
n: number): bool
|
||||
if true
|
||||
return false
|
||||
endif
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func(
|
||||
n: number)
|
||||
#
|
||||
echo
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
# INDENT_AT this-line
|
||||
def Func(
|
||||
n: number)
|
||||
#
|
||||
echo # this-line
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
if true
|
||||
normal! ==
|
||||
endif
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var d = {
|
||||
a: () => true,
|
||||
b: () => true
|
||||
&& true
|
||||
&& Foo(),
|
||||
c: () => Bar(),
|
||||
e: () => Baz(),
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Select(Cont: func(func(any)), Pred: func(any): bool): func(func(any))
|
||||
return (Emit: func(any)) => {
|
||||
Cont((t: any) => {
|
||||
if Pred(t)
|
||||
Emit(t)
|
||||
endif
|
||||
})
|
||||
}
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
# INDENT_EXE let g:vim_indent = {'more_in_bracket_block': v:true}
|
||||
def Select(Cont: func(func(any)), Pred: func(any): bool): func(func(any))
|
||||
return (Emit: func(any)) => {
|
||||
Cont((t: any) => {
|
||||
if Pred(t)
|
||||
Emit(t)
|
||||
endif
|
||||
})
|
||||
}
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
# INDENT_EXE unlet! g:vim_indent
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
g:lightline = {
|
||||
'active': {
|
||||
'left': [ [ 'mode', 'paste' ], [ 'readonly', 'relativepath', 'modified' ] ],
|
||||
},
|
||||
'inactive': {
|
||||
'left': [ [ 'readonly', 'relativepath', 'modified' ] ],
|
||||
}
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if getline(1, 10)
|
||||
->map((_, v: string): number => strcharlen(v))
|
||||
->max() > 1'000
|
||||
&l:breakindent = false
|
||||
&l:linebreak = false
|
||||
else
|
||||
&l:breakindent = true
|
||||
&l:linebreak = true
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var ext2cmd: dict<string> = {
|
||||
doc: $'antiword {fname}',
|
||||
docx: $'pandoc --from=docx --to=markdown {fname}',
|
||||
epub: $'pandoc --from=epub --to=markdown {fname}',
|
||||
odp: $'odt2txt {fname}',
|
||||
odt: $'odt2txt {fname}',
|
||||
pdf: $'pdftotext -nopgbrk -layout -q -eol unix {fname} -',
|
||||
rtf: 'unrtf --text',
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
const ptybuf: number = term_start(&shell, {
|
||||
hidden: true,
|
||||
exit_cb: (_, _) => {
|
||||
if true
|
||||
close
|
||||
else
|
||||
help
|
||||
endif
|
||||
}
|
||||
})
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var d = {
|
||||
a: 0,
|
||||
# a ' quote {{{
|
||||
#}}}
|
||||
b: 0,
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
echo printf('%s () %s',
|
||||
1,
|
||||
2
|
||||
)
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
prop_add(1, col('.'), {
|
||||
length: 2,
|
||||
type: 'test'
|
||||
})
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
echo (() => " string starting with space")()
|
||||
echo
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var variables = deepcopy(g:)
|
||||
->filter((k: string, _): bool =>
|
||||
k =~ '\c\V' .. keyword->escape('\')
|
||||
&& k !~ '\%(loaded\|did_plugin_\)')
|
||||
->items()
|
||||
->map((_, v): string => v[0] .. ' = ' .. string(v[1]))
|
||||
new
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var d = freq
|
||||
->map((_, v) =>
|
||||
v * (
|
||||
1
|
||||
+ 2
|
||||
))
|
||||
for item in d
|
||||
->items()
|
||||
->sort((a, b) => b[1] - a[1])
|
||||
echo
|
||||
endfor
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var matching_abbrev: list<dict<string>> = copy(ABBREV)
|
||||
->filter((_, v: dict<string>): bool =>
|
||||
stridx(v.lhs, word_to_complete) == 0)
|
||||
->map((_, v: dict<string>) => ({
|
||||
word: v.lhs,
|
||||
menu: AbbrevRhs(v.rhs)->stridx('expand_') >= 0
|
||||
? AbbrevRhs(v.rhs)->matchstr('.*,\s*''\zs.*\ze'')')
|
||||
: AbbrevRhs(v.rhs)
|
||||
}))
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func()
|
||||
if true
|
||||
vimgrep /^\C\s*\%(fu\%[nction]\|def\)\s\+/ file
|
||||
endif
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
silent if true
|
||||
echo
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func()
|
||||
sort :^.*[\/]:
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func()
|
||||
d = {
|
||||
}
|
||||
hd =<< trim END
|
||||
['
|
||||
]'
|
||||
END
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Func()
|
||||
if true
|
||||
var hd =<< trim END
|
||||
if get(b:, 'current_syntax', '')
|
||||
endif
|
||||
END
|
||||
elseif true
|
||||
echo
|
||||
endif
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
# test for control-flow keyword followed by commented fold marker {{{
|
||||
if true
|
||||
echo
|
||||
endif #}}}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
if true
|
||||
windo if true | echo | endif
|
||||
augroup Name
|
||||
autocmd WinLeave * if true | eval 1 + 2 | endif
|
||||
augroup END
|
||||
endif
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
echo ' =<< trim END'
|
||||
->len()
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
function Func()
|
||||
if true
|
||||
if true
|
||||
if true | echo com | endif
|
||||
if true | echo com | endif
|
||||
endif
|
||||
else
|
||||
endif
|
||||
endfunction
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
var matchpairs: string = &matchpairs
|
||||
var pairs: dict<list<string>>
|
||||
for [opening: string, closing: string]
|
||||
in matchpairs
|
||||
->split(',')
|
||||
->map((_, v: string): list<string> => split(v, ':'))
|
||||
pairs[opening] = [escape(opening, '[]'), escape(closing, '[]'), 'nW', 'w$']
|
||||
pairs[closing] = [escape(opening, '[]'), escape(closing, '[]'), 'bnW', 'w0']
|
||||
endfor
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
{
|
||||
echo []
|
||||
+ []
|
||||
+ [{a: 1,
|
||||
b: 2}]
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
def Foo()
|
||||
Bar(1,
|
||||
[]->filter((_, v) => {
|
||||
return true
|
||||
}),
|
||||
() => {
|
||||
echo
|
||||
})
|
||||
enddef
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
echo {
|
||||
k: () => {
|
||||
if true
|
||||
echo
|
||||
popup_setoptions(id,
|
||||
{title: 'title'})
|
||||
endif
|
||||
}
|
||||
}
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if true
|
||||
elseif
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
if (
|
||||
true)
|
||||
&& true
|
||||
echo
|
||||
endif
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
abstract class Shape
|
||||
var color = Color.Black
|
||||
var thickness = 10
|
||||
endclass
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
class OtherThing
|
||||
var size: number
|
||||
static var totalSize: number
|
||||
|
||||
static def ClearTotalSize(): number
|
||||
var prev = totalSize
|
||||
totalSize = 0
|
||||
return prev
|
||||
enddef
|
||||
endclass
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
interface HasSurface
|
||||
var size: number
|
||||
def Surface(): number
|
||||
endinterface
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
interface EnterExit
|
||||
def Enter(): void
|
||||
def Exit(): void
|
||||
endinterface
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
enum Color
|
||||
White,
|
||||
Red,
|
||||
Green,
|
||||
Blue,
|
||||
Black
|
||||
endenum
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
enum Digits
|
||||
INVALID(v:numbermax), # The null value.
|
||||
ZERO(0 * v:numbermin), ONE(2 - 1),
|
||||
TWO(1 + 1), THREE(9 / 3), FOUR(1 * 4),
|
||||
FIVE(1 + 2 + 2), SIX(36 / 3 / 2), SEVEN(7), EIGHT(2 * 2 * 2),
|
||||
NINE(3 + 3 + 3)
|
||||
const value: number
|
||||
def new(value: number)
|
||||
this.value = value
|
||||
enddef
|
||||
endenum
|
||||
# END_INDENT
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
Unless otherwise stated, all files in this directory are distributed under the
|
||||
Zero-Clause BSD license.
|
||||
|
||||
Zero-Clause BSD
|
||||
===============
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for
|
||||
any purpose with or without fee is hereby granted.
|
||||
|
||||
THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL
|
||||
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE
|
||||
FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY
|
||||
DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
|
||||
AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
|
||||
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
+544
@@ -0,0 +1,544 @@
|
||||
# Netrw.vim
|
||||
|
||||
netrw.vim plugin from vim (upstream repository)
|
||||
|
||||
The upstream maintained netrw plugin. The original has been created and
|
||||
maintained by Charles E Campbell and maintained by the vim project until
|
||||
v9.1.0988.
|
||||
|
||||
Every major version a snapshot from here will be sent to the main [Vim][1]
|
||||
upstream for distribution with Vim.
|
||||
|
||||
# License
|
||||
|
||||
To see License informations see the LICENSE.txt file included in this
|
||||
repository.
|
||||
|
||||
# Credits
|
||||
|
||||
Below are stated the contribution made in the past to netrw.
|
||||
|
||||
Changes made to `autoload/netrw.vim`:
|
||||
- 2023 Nov 21 by Vim Project: ignore wildignore when expanding $COMSPEC (v173a)
|
||||
- 2023 Nov 22 by Vim Project: fix handling of very long filename on longlist style (v173a)
|
||||
- 2024 Feb 19 by Vim Project: (announce adoption)
|
||||
- 2024 Feb 29 by Vim Project: handle symlinks in tree mode correctly
|
||||
- 2024 Apr 03 by Vim Project: detect filetypes for remote edited files
|
||||
- 2024 May 08 by Vim Project: cleanup legacy Win9X checks
|
||||
- 2024 May 09 by Vim Project: remove hard-coded private.ppk
|
||||
- 2024 May 10 by Vim Project: recursively delete directories by default
|
||||
- 2024 May 13 by Vim Project: prefer scp over pscp
|
||||
- 2024 Jun 04 by Vim Project: set bufhidden if buffer changed, nohidden is set and buffer shall be switched (#14915)
|
||||
- 2024 Jun 13 by Vim Project: glob() on Windows fails when a directory name contains [] (#14952)
|
||||
- 2024 Jun 23 by Vim Project: save ad restore registers when liststyle = WIDELIST (#15077, #15114)
|
||||
- 2024 Jul 22 by Vim Project: avoid endless recursion (#15318)
|
||||
- 2024 Jul 23 by Vim Project: escape filename before trying to delete it (#15330)
|
||||
- 2024 Jul 30 by Vim Project: handle mark-copy to same target directory (#12112)
|
||||
- 2024 Aug 02 by Vim Project: honor g:netrw_alt{o,v} for :{S,H,V}explore (#15417)
|
||||
- 2024 Aug 15 by Vim Project: style changes, prevent E121 (#15501)
|
||||
- 2024 Aug 22 by Vim Project: fix mf-selection highlight (#15551)
|
||||
- 2024 Aug 22 by Vim Project: adjust echo output of mx command (#15550)
|
||||
- 2024 Sep 15 by Vim Project: more strict confirmation dialog (#15680)
|
||||
- 2024 Sep 19 by Vim Project: mf-selection highlight uses wrong pattern (#15700)
|
||||
- 2024 Sep 21 by Vim Project: remove extraneous closing bracket (#15718)
|
||||
- 2024 Oct 21 by Vim Project: remove netrwFileHandlers (#15895)
|
||||
- 2024 Oct 27 by Vim Project: clean up gx mapping (#15721)
|
||||
- 2024 Oct 30 by Vim Project: fix filetype detection for remote files (#15961)
|
||||
- 2024 Oct 30 by Vim Project: fix x mapping on cygwin (#13687)
|
||||
- 2024 Oct 31 by Vim Project: add netrw#Launch() and netrw#Open() (#15962)
|
||||
- 2024 Oct 31 by Vim Project: fix E874 when browsing remote dir (#15964)
|
||||
- 2024 Nov 07 by Vim Project: use keeppatterns to prevent polluting the search history
|
||||
- 2024 Nov 07 by Vim Project: fix a few issues with netrw tree listing (#15996)
|
||||
- 2024 Nov 10 by Vim Project: directory symlink not resolved in tree view (#16020)
|
||||
- 2024 Nov 14 by Vim Project: small fixes to netrw#BrowseX (#16056)
|
||||
- 2024 Nov 23 by Vim Project: update decompress defaults (#16104)
|
||||
- 2024 Nov 23 by Vim Project: fix powershell escaping issues (#16094)
|
||||
- 2024 Dec 04 by Vim Project: do not detach for gvim (#16168)
|
||||
- 2024 Dec 08 by Vim Project: check the first arg of netrw_browsex_viewer for being executable (#16185)
|
||||
- 2024 Dec 12 by Vim Project: do not pollute the search history (#16206)
|
||||
- 2024 Dec 19 by Vim Project: change style (#16248)
|
||||
- 2024 Dec 20 by Vim Project: change style continued (#16266), fix escaping of # in :Open command (#16265)
|
||||
|
||||
General changes made to netrw:
|
||||
|
||||
```
|
||||
v172: Sep 02, 2021 * (Bram Moolenaar) Changed "l:go" to "go"
|
||||
* (Bram Moolenaar) no need for "b" in
|
||||
netrw-safe guioptions
|
||||
Nov 15, 2021 * removed netrw_localrm and netrw_localrmdir
|
||||
references
|
||||
Aug 18, 2022 * (Miguel Barro) improving compatibility with
|
||||
powershell
|
||||
v171: Oct 09, 2020 * included code in s:NetrwOptionsSafe()
|
||||
to allow |'bh'| to be set to delete when
|
||||
rather than hide when g:netrw_fastbrowse
|
||||
was zero.
|
||||
* Installed |g:netrw_clipboard| setting
|
||||
* Installed option bypass for |'guioptions'|
|
||||
a/A settings
|
||||
* Changed popup_beval() to |popup_atcursor()|
|
||||
in netrw#ErrorMsg (lacygoill). Apparently
|
||||
popup_beval doesn't reliably close the
|
||||
popup when the mouse is moved.
|
||||
* VimEnter() now using win_execute to examine
|
||||
buffers for an attempt to open a directory.
|
||||
Avoids issues with popups/terminal from
|
||||
command line. (lacygoill)
|
||||
Jun 28, 2021 * (zeertzjq) provided a patch for use of
|
||||
xmap,xno instead of vmap,vno in
|
||||
netrwPlugin.vim. Avoids entanglement with
|
||||
select mode.
|
||||
Jul 14, 2021 * Fixed problem addressed by tst976; opening
|
||||
a file using tree mode, going up a
|
||||
directory, and opening a file there was
|
||||
opening the file in the wrong directory.
|
||||
Jul 28, 2021 * (Ingo Karkat) provided a patch fixing an
|
||||
E488 error with netrwPlugin.vim
|
||||
(occurred for vim versions < 8.02)
|
||||
v170: Mar 11, 2020 * (reported by Reiner Herrmann) netrw+tree
|
||||
would not hide with the ^\..* pattern
|
||||
correctly.
|
||||
* (Marcin Szamotulski) NetrwOptionRestore
|
||||
did not restore options correctly that
|
||||
had a single quote in the option string.
|
||||
Apr 13, 2020 * implemented error handling via popup
|
||||
windows (see |popup_beval()|)
|
||||
Apr 30, 2020 * (reported by Manatsu Takahashi) while
|
||||
using Lexplore, a modified file could
|
||||
be overwritten. Sol'n: will not overwrite,
|
||||
but will emit an |E37| (although one cannot
|
||||
add an ! to override)
|
||||
Jun 07, 2020 * (reported by Jo Totland) repeatedly invoking
|
||||
:Lexplore and quitting it left unused
|
||||
hidden buffers. Netrw will now set netrw
|
||||
buffers created by :Lexplore to |'bh'|=wipe.
|
||||
v169: Dec 20, 2019 * (reported by amkarthik) that netrw's x
|
||||
(|netrw-x|) would throw an error when
|
||||
attempting to open a local directory.
|
||||
v168: Dec 12, 2019 * scp timeout error message not reported,
|
||||
hopefully now fixed (Shane Xb Qian)
|
||||
v167: Nov 29, 2019 * netrw does a save&restore on @* and @+.
|
||||
That causes problems with the clipboard.
|
||||
Now restores occurs only if @* or @+ have
|
||||
been changed.
|
||||
* netrw will change @* or @+ less often.
|
||||
Never if I happen to have caught all the
|
||||
operations that modify the unnamed
|
||||
register (which also writes @*).
|
||||
* Modified hiding behavior so that "s"
|
||||
will not ignore hiding.
|
||||
v166: Nov 06, 2019 * Removed a space from a nmap for "-"
|
||||
* Numerous debugging statement changes
|
||||
v163: Dec 05, 2017 * (Cristi Balan) reported that a setting ('sel')
|
||||
was left changed
|
||||
* (Holger Mitschke) reported a problem with
|
||||
saving and restoring history. Fixed.
|
||||
* Hopefully I fixed a nasty bug that caused a
|
||||
file rename to wipe out a buffer that it
|
||||
should not have wiped out.
|
||||
* (Holger Mitschke) amended this help file
|
||||
with additional |g:netrw_special_syntax|
|
||||
items
|
||||
* Prioritized wget over curl for
|
||||
g:netrw_http_cmd
|
||||
v162: Sep 19, 2016 * (haya14busa) pointed out two syntax errors
|
||||
with a patch; these are now fixed.
|
||||
Oct 26, 2016 * I started using mate-terminal and found that
|
||||
x and gx (|netrw-x| and |netrw-gx|) were no
|
||||
longer working. Fixed (using atril when
|
||||
$DESKTOP_SESSION is "mate").
|
||||
Nov 04, 2016 * (Martin Vuille) pointed out that @+ was
|
||||
being restored with keepregstar rather than
|
||||
keepregplus.
|
||||
Nov 09, 2016 * Broke apart the command from the options,
|
||||
mostly for Windows. Introduced new netrw
|
||||
settings: |g:netrw_localcopycmdopt|
|
||||
|g:netrw_localcopydircmdopt|
|
||||
|g:netrw_localmkdiropt|
|
||||
|g:netrw_localmovecmdopt|
|
||||
Nov 21, 2016 * (mattn) provided a patch for preview; swapped
|
||||
winwidth() with winheight()
|
||||
Nov 22, 2016 * (glacambre) reported that files containing
|
||||
spaces weren't being obtained properly via
|
||||
scp. Fix: apparently using single quotes
|
||||
such as with 'file name' wasn't enough; the
|
||||
spaces inside the quotes also had to be
|
||||
escaped (ie. 'file\ name').
|
||||
* Also fixed obtain (|netrw-O|) to be able to
|
||||
obtain files with spaces in their names
|
||||
Dec 20, 2016 * (xc1427) Reported that using "I" (|netrw-I|)
|
||||
when atop "Hiding" in the banner also caused
|
||||
the active-banner hiding control to occur
|
||||
Jan 03, 2017 * (Enno Nagel) reported that attempting to
|
||||
apply netrw to a directory that was without
|
||||
read permission caused a syntax error.
|
||||
Jan 13, 2017 * (Ingo Karkat) provided a patch which makes
|
||||
using netrw#Call() better. Now returns
|
||||
value of internal routines return, for example.
|
||||
Jan 13, 2017 * (Ingo Karkat) changed netrw#FileUrlRead to
|
||||
use |:edit| instead of |:read|. I also
|
||||
changed the routine name to netrw#FileUrlEdit.
|
||||
Jan 16, 2017 * (Sayem) reported a problem where :Lexplore
|
||||
could generate a new listing buffer and
|
||||
window instead of toggling the netrw display.
|
||||
Unfortunately, the directions for eliciting
|
||||
the problem weren't complete, so I may or
|
||||
may not have fixed that issue.
|
||||
Feb 06, 2017 * Implemented cb and cB. Changed "c" to "cd".
|
||||
(see |netrw-cb|, |netrw-cB|, and |netrw-cd|)
|
||||
Mar 21, 2017 * previously, netrw would specify (safe) settings
|
||||
even when the setting was already safe for
|
||||
netrw. Netrw now attempts to leave such
|
||||
already-netrw-safe settings alone.
|
||||
(affects s:NetrwOptionRestore() and
|
||||
s:NetrwSafeOptions(); also introduced
|
||||
s:NetrwRestoreSetting())
|
||||
Jun 26, 2017 * (Christian Brabandt) provided a patch to
|
||||
allow curl to follow redirects (ie. -L
|
||||
option)
|
||||
Jun 26, 2017 * (Callum Howard) reported a problem with
|
||||
:Lexpore not removing the Lexplore window
|
||||
after a change-directory
|
||||
Aug 30, 2017 * (Ingo Karkat) one cannot switch to the
|
||||
previously edited file (e.g. with CTRL-^)
|
||||
after editing a file:// URL. Patch to
|
||||
have a "keepalt" included.
|
||||
Oct 17, 2017 * (Adam Faryna) reported that gn (|netrw-gn|)
|
||||
did not work on directories in the current
|
||||
tree
|
||||
v157: Apr 20, 2016 * (Nicola) had set up a "nmap <expr> ..." with
|
||||
a function that returned a 0 while silently
|
||||
invoking a shell command. The shell command
|
||||
activated a ShellCmdPost event which in turn
|
||||
called s:LocalBrowseRefresh(). That looks
|
||||
over all netrw buffers for changes needing
|
||||
refreshes. However, inside a |:map-<expr>|,
|
||||
tab and window changes are disallowed. Fixed.
|
||||
(affects netrw's s:LocalBrowseRefresh())
|
||||
* g:netrw_localrmdir not used any more, but
|
||||
the relevant patch that causes |delete()| to
|
||||
take over was #1107 (not #1109).
|
||||
* |expand()| is now used on |g:netrw_home|;
|
||||
consequently, g:netrw_home may now use
|
||||
environment variables
|
||||
* s:NetrwLeftmouse and s:NetrwCLeftmouse will
|
||||
return without doing anything if invoked
|
||||
when inside a non-netrw window
|
||||
Jun 15, 2016 * gx now calls netrw#GX() which returns
|
||||
the word under the cursor. The new
|
||||
wrinkle: if one is in a netrw buffer,
|
||||
then netrw's s:NetrwGetWord().
|
||||
Jun 22, 2016 * Netrw was executing all its associated
|
||||
Filetype commands silently; I'm going
|
||||
to try doing that "noisily" and see if
|
||||
folks have a problem with that.
|
||||
Aug 12, 2016 * Changed order of tool selection for
|
||||
handling http://... viewing.
|
||||
(Nikolay Aleksandrovich Pavlov)
|
||||
Aug 21, 2016 * Included hiding/showing/all for tree
|
||||
listings
|
||||
* Fixed refresh (^L) for tree listings
|
||||
v156: Feb 18, 2016 * Changed =~ to =~# where appropriate
|
||||
Feb 23, 2016 * s:ComposePath(base,subdir) now uses
|
||||
fnameescape() on the base portion
|
||||
Mar 01, 2016 * (gt_macki) reported where :Explore would
|
||||
make file unlisted. Fixed (tst943)
|
||||
Apr 04, 2016 * (reported by John Little) netrw normally
|
||||
suppresses browser messages, but sometimes
|
||||
those "messages" are what is wanted.
|
||||
See |g:netrw_suppress_gx_mesg|
|
||||
Apr 06, 2016 * (reported by Carlos Pita) deleting a remote
|
||||
file was giving an error message. Fixed.
|
||||
Apr 08, 2016 * (Charles Cooper) had a problem with an
|
||||
undefined b:netrw_curdir. He also provided
|
||||
a fix.
|
||||
Apr 20, 2016 * Changed s:NetrwGetBuffer(); now uses
|
||||
dictionaries. Also fixed the "No Name"
|
||||
buffer problem.
|
||||
v155: Oct 29, 2015 * (Timur Fayzrakhmanov) reported that netrw's
|
||||
mapping of ctrl-l was not allowing refresh of
|
||||
other windows when it was done in a netrw
|
||||
window.
|
||||
Nov 05, 2015 * Improved s:TreeSqueezeDir() to use search()
|
||||
instead of a loop
|
||||
* NetrwBrowse() will return line to
|
||||
w:netrw_bannercnt if cursor ended up in
|
||||
banner
|
||||
Nov 16, 2015 * Added a <Plug>NetrwTreeSqueeze (|netrw-s-cr|)
|
||||
Nov 17, 2015 * Commented out imaps -- perhaps someone can
|
||||
tell me how they're useful and should be
|
||||
retained?
|
||||
Nov 20, 2015 * Added |netrw-ma| and |netrw-mA| support
|
||||
Nov 20, 2015 * gx (|netrw-gx|) on a URL downloaded the
|
||||
file in addition to simply bringing up the
|
||||
URL in a browser. Fixed.
|
||||
Nov 23, 2015 * Added |g:netrw_sizestyle| support
|
||||
Nov 27, 2015 * Inserted a lot of <c-u>s into various netrw
|
||||
maps.
|
||||
Jan 05, 2016 * |netrw-qL| implemented to mark files based
|
||||
upon |location-list|s; similar to |netrw-qF|.
|
||||
Jan 19, 2016 * using - call delete(directoryname,"d") -
|
||||
instead of using g:netrw_localrmdir if
|
||||
v7.4 + patch#1107 is available
|
||||
Jan 28, 2016 * changed to using |winsaveview()| and
|
||||
|winrestview()|
|
||||
Jan 28, 2016 * s:NetrwTreePath() now does a save and
|
||||
restore of view
|
||||
Feb 08, 2016 * Fixed a tree-listing problem with remote
|
||||
directories
|
||||
v154: Feb 26, 2015 * (Yuri Kanivetsky) reported a situation where
|
||||
a file was not treated properly as a file
|
||||
due to g:netrw_keepdir == 1
|
||||
Mar 25, 2015 * (requested by Ben Friz) one may now sort by
|
||||
extension
|
||||
Mar 28, 2015 * (requested by Matt Brooks) netrw has a lot
|
||||
of buffer-local mappings; however, some
|
||||
plugins (such as vim-surround) set up
|
||||
conflicting mappings that cause vim to wait.
|
||||
The "<nowait>" modifier has been included
|
||||
with most of netrw's mappings to avoid that
|
||||
delay.
|
||||
Jun 26, 2015 * |netrw-gn| mapping implemented
|
||||
* :Ntree NotADir resulted in having
|
||||
the tree listing expand in the error messages
|
||||
window. Fixed.
|
||||
Jun 29, 2015 * Attempting to delete a file remotely caused
|
||||
an error with "keepsol" mentioned; fixed.
|
||||
Jul 08, 2015 * Several changes to keep the |:jumps| table
|
||||
correct when working with
|
||||
|g:netrw_fastbrowse| set to 2
|
||||
* wide listing with accented characters fixed
|
||||
(using %-S instead of %-s with a |printf()|
|
||||
Jul 13, 2015 * (Daniel Hahler) CheckIfKde() could be true
|
||||
but kfmclient not installed. Changed order
|
||||
in netrw#BrowseX(): checks if kde and
|
||||
kfmclient, then will use xdg-open on a unix
|
||||
system (if xdg-open is executable)
|
||||
Aug 11, 2015 * (McDonnell) tree listing mode wouldn't
|
||||
select a file in a open subdirectory.
|
||||
* (McDonnell) when multiple subdirectories
|
||||
were concurrently open in tree listing
|
||||
mode, a ctrl-L wouldn't refresh properly.
|
||||
* The netrw:target menu showed duplicate
|
||||
entries
|
||||
Oct 13, 2015 * (mattn) provided an exception to handle
|
||||
windows with shellslash set but no shell
|
||||
Oct 23, 2015 * if g:netrw_usetab and <c-tab> now used
|
||||
to control whether NetrwShrink is used
|
||||
(see |netrw-c-tab|)
|
||||
v153: May 13, 2014 * added another |g:netrw_ffkeep| usage {{{2
|
||||
May 14, 2014 * changed s:PerformListing() so that it
|
||||
always sets ft=netrw for netrw buffers
|
||||
(ie. even when syntax highlighting is
|
||||
off, not available, etc)
|
||||
May 16, 2014 * introduced the |netrw-ctrl-r| functionality
|
||||
May 17, 2014 * introduced the |netrw-:NetrwMB| functionality
|
||||
* mb and mB (|netrw-mb|, |netrw-mB|) will
|
||||
add/remove marked files from bookmark list
|
||||
May 20, 2014 * (Enno Nagel) reported that :Lex <dirname>
|
||||
wasn't working. Fixed.
|
||||
May 26, 2014 * restored test to prevent leftmouse window
|
||||
resizing from causing refresh.
|
||||
(see s:NetrwLeftmouse())
|
||||
* fixed problem where a refresh caused cursor
|
||||
to go just under the banner instead of
|
||||
staying put
|
||||
May 28, 2014 * (László Bimba) provided a patch for opening
|
||||
the |:Lexplore| window 100% high, optionally
|
||||
on the right, and will work with remote
|
||||
files.
|
||||
May 29, 2014 * implemented :NetrwC (see |netrw-:NetrwC|)
|
||||
Jun 01, 2014 * Removed some "silent"s from commands used
|
||||
to implemented scp://... and pscp://...
|
||||
directory listing. Permits request for
|
||||
password to appear.
|
||||
Jun 05, 2014 * (Enno Nagel) reported that user maps "/"
|
||||
caused problems with "b" and "w", which
|
||||
are mapped (for wide listings only) to
|
||||
skip over files rather than just words.
|
||||
Jun 10, 2014 * |g:netrw_gx| introduced to allow users to
|
||||
override default "<cfile>" with the gx
|
||||
(|netrw-gx|) map
|
||||
Jun 11, 2014 * gx (|netrw-gx|), with |'autowrite'| set,
|
||||
will write modified files. s:NetrwBrowseX()
|
||||
will now save, turn off, and restore the
|
||||
|'autowrite'| setting.
|
||||
Jun 13, 2014 * added visual map for gx use
|
||||
Jun 15, 2014 * (Enno Nagel) reported that with having hls
|
||||
set and wide listing style in use, that the
|
||||
b and w maps caused unwanted highlighting.
|
||||
Jul 05, 2014 * |netrw-mv| and |netrw-mX| commands included
|
||||
Jul 09, 2014 * |g:netrw_keepj| included, allowing optional
|
||||
keepj
|
||||
Jul 09, 2014 * fixing bugs due to previous update
|
||||
Jul 21, 2014 * (Bruno Sutic) provided an updated
|
||||
netrw_gitignore.vim
|
||||
Jul 30, 2014 * (Yavuz Yetim) reported that editing two
|
||||
remote files of the same name caused the
|
||||
second instance to have a "temporary"
|
||||
name. Fixed: now they use the same buffer.
|
||||
Sep 18, 2014 * (Yasuhiro Matsumoto) provided a patch which
|
||||
allows scp and windows local paths to work.
|
||||
Oct 07, 2014 * gx (see |netrw-gx|) when atop a directory,
|
||||
will now do |gf| instead
|
||||
Nov 06, 2014 * For cygwin: cygstart will be available for
|
||||
netrw#BrowseX() to use if its executable.
|
||||
Nov 07, 2014 * Began support for file://... urls. Will use
|
||||
|g:netrw_file_cmd| (typically elinks or links)
|
||||
Dec 02, 2014 * began work on having mc (|netrw-mc|) copy
|
||||
directories. Works for linux machines,
|
||||
cygwin+vim, but not for windows+gvim.
|
||||
Dec 02, 2014 * in tree mode, netrw was not opening
|
||||
directories via symbolic links.
|
||||
Dec 02, 2014 * added resolved link information to
|
||||
thin and tree modes
|
||||
Dec 30, 2014 * (issue#231) |:ls| was not showing
|
||||
remote-file buffers reliably. Fixed.
|
||||
v152: Apr 08, 2014 * uses the |'noswapfile'| option (requires {{{2
|
||||
vim 7.4 with patch 213)
|
||||
* (Enno Nagel) turn |'rnu'| off in netrw
|
||||
buffers.
|
||||
* (Quinn Strahl) suggested that netrw
|
||||
allow regular window splitting to occur,
|
||||
thereby allowing |'equalalways'| to take
|
||||
effect.
|
||||
* (qingtian zhao) normally, netrw will
|
||||
save and restore the |'fileformat'|;
|
||||
however, sometimes that isn't wanted
|
||||
Apr 14, 2014 * whenever netrw marks a buffer as ro,
|
||||
it will also mark it as nomod.
|
||||
Apr 16, 2014 * sftp protocol now supported by
|
||||
netrw#Obtain(); this means that one
|
||||
may use "mc" to copy a remote file
|
||||
to a local file using sftp, and that
|
||||
the |netrw-O| command can obtain remote
|
||||
files via sftp.
|
||||
* added [count]C support (see |netrw-C|)
|
||||
Apr 18, 2014 * when |g:netrw_chgwin| is one more than
|
||||
the last window, then vertically split
|
||||
the last window and use it as the
|
||||
chgwin window.
|
||||
May 09, 2014 * SavePosn was "saving filename under cursor"
|
||||
from a non-netrw window when using :Rex.
|
||||
v151: Jan 22, 2014 * extended :Rexplore to return to buffer {{{2
|
||||
prior to Explore or editing a directory
|
||||
* (Ken Takata) netrw gave error when
|
||||
clipboard was disabled. Sol'n: Placed
|
||||
several if has("clipboard") tests in.
|
||||
* Fixed ftp://X@Y@Z// problem; X@Y now
|
||||
part of user id, and only Z is part of
|
||||
hostname.
|
||||
* (A Loumiotis) reported that completion
|
||||
using a directory name containing spaces
|
||||
did not work. Fixed with a retry in
|
||||
netrw#Explore() which removes the
|
||||
backslashes vim inserted.
|
||||
Feb 26, 2014 * :Rexplore now records the current file
|
||||
using w:netrw_rexfile when returning via
|
||||
|:Rexplore|
|
||||
Mar 08, 2014 * (David Kotchan) provided some patches
|
||||
allowing netrw to work properly with
|
||||
windows shares.
|
||||
* Multiple one-liner help messages available
|
||||
by pressing <cr> while atop the "Quick
|
||||
Help" line
|
||||
* worked on ShellCmdPost, FocusGained event
|
||||
handling.
|
||||
* |:Lexplore| path: will be used to update
|
||||
a left-side netrw browsing directory.
|
||||
Mar 12, 2014 * |netrw-s-cr|: use <s-cr> to close
|
||||
tree directory implemented
|
||||
Mar 13, 2014 * (Tony Mechylynck) reported that using
|
||||
the browser with ftp on a directory,
|
||||
and selecting a gzipped txt file, that
|
||||
an E19 occurred (which was issued by
|
||||
gzip.vim). Fixed.
|
||||
Mar 14, 2014 * Implemented :MF and :MT (see |netrw-:MF|
|
||||
and |netrw-:MT|, respectively)
|
||||
Mar 17, 2014 * |:Ntree| [dir] wasn't working properly; fixed
|
||||
Mar 18, 2014 * Changed all uses of set to setl
|
||||
Mar 18, 2014 * Commented the netrw_btkeep line in
|
||||
s:NetrwOptionSave(); the effect is that
|
||||
netrw buffers will remain as |'bt'|=nofile.
|
||||
This should prevent swapfiles being created
|
||||
for netrw buffers.
|
||||
Mar 20, 2014 * Changed all uses of lcd to use s:NetrwLcd()
|
||||
instead. Consistent error handling results
|
||||
and it also handles Window's shares
|
||||
* Fixed |netrw-d| command when applied with ftp
|
||||
* https: support included for netrw#NetRead()
|
||||
v150: Jul 12, 2013 * removed a "keepalt" to allow ":e #" to {{{2
|
||||
return to the netrw directory listing
|
||||
Jul 13, 2013 * (Jonas Diemer) suggested changing
|
||||
a <cWORD> to <cfile>.
|
||||
Jul 21, 2013 * (Yuri Kanivetsky) reported that netrw's
|
||||
use of mkdir did not produce directories
|
||||
following the user's umask.
|
||||
Aug 27, 2013 * introduced |g:netrw_altfile| option
|
||||
Sep 05, 2013 * s:Strlen() now uses |strdisplaywidth()|
|
||||
when available, by default
|
||||
Sep 12, 2013 * (Selyano Baldo) reported that netrw wasn't
|
||||
opening some directories properly from the
|
||||
command line.
|
||||
Nov 09, 2013 * |:Lexplore| introduced
|
||||
* (Ondrej Platek) reported an issue with
|
||||
netrw's trees (P15). Fixed.
|
||||
* (Jorge Solis) reported that "t" in
|
||||
tree mode caused netrw to forget its
|
||||
line position.
|
||||
Dec 05, 2013 * Added <s-leftmouse> file marking
|
||||
(see |netrw-mf|)
|
||||
Dec 05, 2013 * (Yasuhiro Matsumoto) Explore should use
|
||||
strlen() instead s:Strlen() when handling
|
||||
multibyte chars with strpart()
|
||||
(ie. strpart() is byte oriented, not
|
||||
display-width oriented).
|
||||
Dec 09, 2013 * (Ken Takata) Provided a patch; File sizes
|
||||
and a portion of timestamps were wrongly
|
||||
highlighted with the directory color when
|
||||
setting `:let g:netrw_liststyle=1` on Windows.
|
||||
* (Paul Domaskis) noted that sometimes
|
||||
cursorline was activating in non-netrw
|
||||
windows. All but one setting of cursorline
|
||||
was done via setl; there was one that was
|
||||
overlooked. Fixed.
|
||||
Dec 24, 2013 * (esquifit) asked that netrw allow the
|
||||
/cygdrive prefix be a user-alterable
|
||||
parameter.
|
||||
Jan 02, 2014 * Fixed a problem with netrw-based ballon
|
||||
evaluation (ie. netrw#NetrwBaloonHelp()
|
||||
not having been loaded error messages)
|
||||
Jan 03, 2014 * Fixed a problem with tree listings
|
||||
* New command installed: |:Ntree|
|
||||
Jan 06, 2014 * (Ivan Brennan) reported a problem with
|
||||
|netrw-P|. Fixed.
|
||||
Jan 06, 2014 * Fixed a problem with |netrw-P| when the
|
||||
modified file was to be abandoned.
|
||||
Jan 15, 2014 * (Matteo Cavalleri) reported that when the
|
||||
banner is suppressed and tree listing is
|
||||
used, a blank line was left at the top of
|
||||
the display. Fixed.
|
||||
Jan 20, 2014 * (Gideon Go) reported that, in tree listing
|
||||
style, with a previous window open, that
|
||||
the wrong directory was being used to open
|
||||
a file. Fixed. (P21)
|
||||
v149: Apr 18, 2013 * in wide listing format, now have maps for {{{2
|
||||
w and b to move to next/previous file
|
||||
Apr 26, 2013 * one may now copy files in the same
|
||||
directory; netrw will issue requests for
|
||||
what names the files should be copied under
|
||||
Apr 29, 2013 * Trying Benzinger's problem again. Seems
|
||||
that commenting out the BufEnter and
|
||||
installing VimEnter (only) works. Weird
|
||||
problem! (tree listing, vim -O Dir1 Dir2)
|
||||
May 01, 2013 * :Explore ftp://... wasn't working. Fixed.
|
||||
May 02, 2013 * introduced |g:netrw_bannerbackslash| as
|
||||
requested by Paul Domaskis.
|
||||
Jul 03, 2013 * Explore now avoids splitting when a buffer
|
||||
will be hidden.
|
||||
v148: Apr 16, 2013 * changed Netrw's Style menu to allow direct {{{2
|
||||
choice of listing style, hiding style, and
|
||||
sorting style
|
||||
```
|
||||
|
||||
[1]: https://github.com/vim/vim
|
||||
+5
-55
@@ -1,51 +1,6 @@
|
||||
" netrw.vim: Handles file transfer and remote directory listing across
|
||||
" AUTOLOAD SECTION
|
||||
" Maintainer: This runtime file is looking for a new maintainer.
|
||||
" Date: May 03, 2023
|
||||
" Version: 173a
|
||||
" Last Change: {{{1
|
||||
" 2023 Nov 21 by Vim Project: ignore wildignore when expanding $COMSPEC (v173a)
|
||||
" 2023 Nov 22 by Vim Project: fix handling of very long filename on longlist style (v173a)
|
||||
" 2024 Feb 19 by Vim Project: (announce adoption)
|
||||
" 2024 Feb 29 by Vim Project: handle symlinks in tree mode correctly
|
||||
" 2024 Apr 03 by Vim Project: detect filetypes for remote edited files
|
||||
" 2024 May 08 by Vim Project: cleanup legacy Win9X checks
|
||||
" 2024 May 09 by Vim Project: remove hard-coded private.ppk
|
||||
" 2024 May 10 by Vim Project: recursively delete directories by default
|
||||
" 2024 May 13 by Vim Project: prefer scp over pscp
|
||||
" 2024 Jun 04 by Vim Project: set bufhidden if buffer changed, nohidden is set and buffer shall be switched (#14915)
|
||||
" 2024 Jun 13 by Vim Project: glob() on Windows fails when a directory name contains [] (#14952)
|
||||
" 2024 Jun 23 by Vim Project: save ad restore registers when liststyle = WIDELIST (#15077, #15114)
|
||||
" 2024 Jul 22 by Vim Project: avoid endless recursion (#15318)
|
||||
" 2024 Jul 23 by Vim Project: escape filename before trying to delete it (#15330)
|
||||
" 2024 Jul 30 by Vim Project: handle mark-copy to same target directory (#12112)
|
||||
" 2024 Aug 02 by Vim Project: honor g:netrw_alt{o,v} for :{S,H,V}explore (#15417)
|
||||
" 2024 Aug 15 by Vim Project: style changes, prevent E121 (#15501)
|
||||
" 2024 Aug 22 by Vim Project: fix mf-selection highlight (#15551)
|
||||
" 2024 Aug 22 by Vim Project: adjust echo output of mx command (#15550)
|
||||
" 2024 Sep 15 by Vim Project: more strict confirmation dialog (#15680)
|
||||
" 2024 Sep 19 by Vim Project: mf-selection highlight uses wrong pattern (#15700)
|
||||
" 2024 Sep 21 by Vim Project: remove extraneous closing bracket (#15718)
|
||||
" 2024 Oct 21 by Vim Project: remove netrwFileHandlers (#15895)
|
||||
" 2024 Oct 27 by Vim Project: clean up gx mapping (#15721)
|
||||
" 2024 Oct 30 by Vim Project: fix filetype detection for remote files (#15961)
|
||||
" 2024 Oct 30 by Vim Project: fix x mapping on cygwin (#13687)
|
||||
" 2024 Oct 31 by Vim Project: add netrw#Launch() and netrw#Open() (#15962)
|
||||
" 2024 Oct 31 by Vim Project: fix E874 when browsing remote dir (#15964)
|
||||
" 2024 Nov 07 by Vim Project: use keeppatterns to prevent polluting the search history
|
||||
" 2024 Nov 07 by Vim Project: fix a few issues with netrw tree listing (#15996)
|
||||
" 2024 Nov 10 by Vim Project: directory symlink not resolved in tree view (#16020)
|
||||
" 2024 Nov 14 by Vim Project: small fixes to netrw#BrowseX (#16056)
|
||||
" 2024 Nov 23 by Vim Project: update decompress defaults (#16104)
|
||||
" 2024 Nov 23 by Vim Project: fix powershell escaping issues (#16094)
|
||||
" 2024 Dec 04 by Vim Project: do not detach for gvim (#16168)
|
||||
" 2024 Dec 08 by Vim Project: check the first arg of netrw_browsex_viewer for being executable (#16185)
|
||||
" 2024 Dec 12 by Vim Project: do not pollute the search history (#16206)
|
||||
" 2024 Dec 19 by Vim Project: change style (#16248)
|
||||
" 2024 Dec 20 by Vim Project: change style continued (#16266), fix escaping of # in :Open command (#16265)
|
||||
" }}}
|
||||
" Former Maintainer: Charles E Campbell
|
||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||
" Maintainer: Luca Saccarola <github.e41mv@aleeas.com>
|
||||
" Former Maintainer: Charles E Campbell
|
||||
" Upstream: <https://github.com/saccarosium/netrw.vim>
|
||||
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
@@ -58,12 +13,7 @@
|
||||
"
|
||||
" Note: the code here was started in 1999 under a much earlier version of vim. The directory browsing
|
||||
" code was written using vim v6, which did not have Lists (Lists were first offered with vim-v7).
|
||||
"
|
||||
"redraw!|call DechoSep()|call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
"
|
||||
" But be doers of the Word, and not only hearers, deluding your own selves {{{1
|
||||
" (James 1:22 RSV)
|
||||
" =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
||||
|
||||
" Load Once: {{{1
|
||||
if &cp || exists("g:loaded_netrw")
|
||||
finish
|
||||
@@ -85,7 +35,7 @@ if exists("s:needspatches")
|
||||
endfor
|
||||
endif
|
||||
|
||||
let g:loaded_netrw = "v173"
|
||||
let g:loaded_netrw = "v175"
|
||||
|
||||
let s:keepcpo= &cpo
|
||||
setl cpo&vim
|
||||
@@ -0,0 +1,242 @@
|
||||
" Maintainer: Luca Saccarola <github.e41mv@aleeas.com>
|
||||
" Former Maintainer: Charles E Campbell
|
||||
" Upstream: <https://github.com/saccarosium/netrw.vim>
|
||||
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
" netrwSettings.vim is provided *as is* and comes with no
|
||||
" warranty of any kind, either expressed or implied. By using
|
||||
" this plugin, you agree that in no event will the copyright
|
||||
" holder be liable for any damages resulting from the use
|
||||
" of this software. }}}
|
||||
|
||||
if &cp || exists("g:loaded_netrwSettings")
|
||||
finish
|
||||
endif
|
||||
|
||||
let g:loaded_netrwSettings = "v175"
|
||||
if v:version < 700
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrwSettings needs vim 7.0"
|
||||
echohl Normal
|
||||
finish
|
||||
endif
|
||||
|
||||
" NetrwSettings: {{{
|
||||
|
||||
function! netrwSettings#NetrwSettings()
|
||||
" this call is here largely just to insure that netrw has been loaded
|
||||
call netrw#WinPath("")
|
||||
if !exists("g:loaded_netrw")
|
||||
echohl WarningMsg
|
||||
echomsg "***sorry*** netrw needs to be loaded prior to using NetrwSettings"
|
||||
echohl None
|
||||
return
|
||||
endif
|
||||
|
||||
above wincmd s
|
||||
enew
|
||||
setlocal noswapfile bh=wipe
|
||||
set ft=vim
|
||||
file Netrw\ Settings
|
||||
|
||||
" these variables have the following default effects when they don't
|
||||
" exist (ie. have not been set by the user in his/her .vimrc)
|
||||
if !exists("g:netrw_liststyle")
|
||||
let g:netrw_liststyle= 0
|
||||
let g:netrw_list_cmd= "ssh HOSTNAME ls -FLa"
|
||||
endif
|
||||
if !exists("g:netrw_silent")
|
||||
let g:netrw_silent= 0
|
||||
endif
|
||||
if !exists("g:netrw_use_nt_rcp")
|
||||
let g:netrw_use_nt_rcp= 0
|
||||
endif
|
||||
if !exists("g:netrw_ftp")
|
||||
let g:netrw_ftp= 0
|
||||
endif
|
||||
if !exists("g:netrw_ignorenetrc")
|
||||
let g:netrw_ignorenetrc= 0
|
||||
endif
|
||||
|
||||
put ='+ ---------------------------------------------'
|
||||
put ='+ NetrwSettings: by Charles E. Campbell'
|
||||
put ='+ Press <F1> with cursor atop any line for help'
|
||||
put ='+ ---------------------------------------------'
|
||||
let s:netrw_settings_stop= line(".")
|
||||
|
||||
put =''
|
||||
put ='+ Netrw Protocol Commands'
|
||||
put = 'let g:netrw_dav_cmd = '.g:netrw_dav_cmd
|
||||
put = 'let g:netrw_fetch_cmd = '.g:netrw_fetch_cmd
|
||||
put = 'let g:netrw_ftp_cmd = '.g:netrw_ftp_cmd
|
||||
put = 'let g:netrw_http_cmd = '.g:netrw_http_cmd
|
||||
put = 'let g:netrw_rcp_cmd = '.g:netrw_rcp_cmd
|
||||
put = 'let g:netrw_rsync_cmd = '.g:netrw_rsync_cmd
|
||||
put = 'let g:netrw_scp_cmd = '.g:netrw_scp_cmd
|
||||
put = 'let g:netrw_sftp_cmd = '.g:netrw_sftp_cmd
|
||||
put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
|
||||
let s:netrw_protocol_stop= line(".")
|
||||
put = ''
|
||||
|
||||
put ='+Netrw Transfer Control'
|
||||
put = 'let g:netrw_cygwin = '.g:netrw_cygwin
|
||||
put = 'let g:netrw_ftp = '.g:netrw_ftp
|
||||
put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode
|
||||
put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc
|
||||
put = 'let g:netrw_sshport = '.g:netrw_sshport
|
||||
put = 'let g:netrw_silent = '.g:netrw_silent
|
||||
put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp
|
||||
let s:netrw_xfer_stop= line(".")
|
||||
put =''
|
||||
put ='+ Netrw Messages'
|
||||
put ='let g:netrw_use_errorwindow = '.g:netrw_use_errorwindow
|
||||
|
||||
put = ''
|
||||
put ='+ Netrw Browser Control'
|
||||
if exists("g:netrw_altfile")
|
||||
put = 'let g:netrw_altfile = '.g:netrw_altfile
|
||||
else
|
||||
put = 'let g:netrw_altfile = 0'
|
||||
endif
|
||||
put = 'let g:netrw_alto = '.g:netrw_alto
|
||||
put = 'let g:netrw_altv = '.g:netrw_altv
|
||||
put = 'let g:netrw_banner = '.g:netrw_banner
|
||||
if exists("g:netrw_bannerbackslash")
|
||||
put = 'let g:netrw_bannerbackslash = '.g:netrw_bannerbackslash
|
||||
else
|
||||
put = '\" let g:netrw_bannerbackslash = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_browse_split = '.g:netrw_browse_split
|
||||
if exists("g:netrw_browsex_viewer")
|
||||
put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
|
||||
else
|
||||
put = '\" let g:netrw_browsex_viewer = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_compress = '.g:netrw_compress
|
||||
if exists("g:Netrw_corehandler")
|
||||
put = 'let g:Netrw_corehandler = '.g:Netrw_corehandler
|
||||
else
|
||||
put = '\" let g:Netrw_corehandler = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_ctags = '.g:netrw_ctags
|
||||
put = 'let g:netrw_cursor = '.g:netrw_cursor
|
||||
let decompressline= line("$")
|
||||
put = 'let g:netrw_decompress = '.string(g:netrw_decompress)
|
||||
if exists("g:netrw_dynamic_maxfilenamelen")
|
||||
put = 'let g:netrw_dynamic_maxfilenamelen='.g:netrw_dynamic_maxfilenamelen
|
||||
else
|
||||
put = '\" let g:netrw_dynamic_maxfilenamelen= (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
|
||||
put = 'let g:netrw_errorlvl = '.g:netrw_errorlvl
|
||||
put = 'let g:netrw_fastbrowse = '.g:netrw_fastbrowse
|
||||
let fnameescline= line("$")
|
||||
put = 'let g:netrw_fname_escape = '.string(g:netrw_fname_escape)
|
||||
put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject
|
||||
put = 'let g:netrw_ftp_list_cmd = '.g:netrw_ftp_list_cmd
|
||||
put = 'let g:netrw_ftp_sizelist_cmd = '.g:netrw_ftp_sizelist_cmd
|
||||
put = 'let g:netrw_ftp_timelist_cmd = '.g:netrw_ftp_timelist_cmd
|
||||
let globescline= line("$")
|
||||
put = 'let g:netrw_glob_escape = '.string(g:netrw_glob_escape)
|
||||
put = 'let g:netrw_hide = '.g:netrw_hide
|
||||
if exists("g:netrw_home")
|
||||
put = 'let g:netrw_home = '.g:netrw_home
|
||||
else
|
||||
put = '\" let g:netrw_home = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_keepdir = '.g:netrw_keepdir
|
||||
put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd
|
||||
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
|
||||
put = 'let g:netrw_liststyle = '.g:netrw_liststyle
|
||||
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
|
||||
put = 'let g:netrw_localcopycmdopt = '.g:netrw_localcopycmdopt
|
||||
put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir
|
||||
put = 'let g:netrw_localmkdiropt = '.g:netrw_localmkdiropt
|
||||
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
|
||||
put = 'let g:netrw_localmovecmdopt = '.g:netrw_localmovecmdopt
|
||||
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
|
||||
put = 'let g:netrw_menu = '.g:netrw_menu
|
||||
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps
|
||||
put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd
|
||||
if exists("g:netrw_nobeval")
|
||||
put = 'let g:netrw_nobeval = '.g:netrw_nobeval
|
||||
else
|
||||
put = '\" let g:netrw_nobeval = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_remote_mkdir = '.g:netrw_remote_mkdir
|
||||
put = 'let g:netrw_preview = '.g:netrw_preview
|
||||
put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd
|
||||
put = 'let g:netrw_retmap = '.g:netrw_retmap
|
||||
put = 'let g:netrw_rm_cmd = '.g:netrw_rm_cmd
|
||||
put = 'let g:netrw_rmdir_cmd = '.g:netrw_rmdir_cmd
|
||||
put = 'let g:netrw_rmf_cmd = '.g:netrw_rmf_cmd
|
||||
put = 'let g:netrw_sort_by = '.g:netrw_sort_by
|
||||
put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction
|
||||
put = 'let g:netrw_sort_options = '.g:netrw_sort_options
|
||||
put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence
|
||||
put = 'let g:netrw_servername = '.g:netrw_servername
|
||||
put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax
|
||||
put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
|
||||
put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
|
||||
put = 'let g:netrw_scpport = '.g:netrw_scpport
|
||||
put = 'let g:netrw_sepchr = '.g:netrw_sepchr
|
||||
put = 'let g:netrw_sshport = '.g:netrw_sshport
|
||||
put = 'let g:netrw_timefmt = '.g:netrw_timefmt
|
||||
let tmpfileescline= line("$")
|
||||
put ='let g:netrw_tmpfile_escape...'
|
||||
put = 'let g:netrw_use_noswf = '.g:netrw_use_noswf
|
||||
put = 'let g:netrw_xstrlen = '.g:netrw_xstrlen
|
||||
put = 'let g:netrw_winsize = '.g:netrw_winsize
|
||||
|
||||
put =''
|
||||
put ='+ For help, place cursor on line and press <F1>'
|
||||
|
||||
1d
|
||||
silent %s/^+/"/e
|
||||
res 99
|
||||
silent %s/= \([^0-9].*\)$/= '\1'/e
|
||||
silent %s/= $/= ''/e
|
||||
1
|
||||
|
||||
call setline(decompressline, "let g:netrw_decompress = ".substitute(string(g:netrw_decompress),"^'\\(.*\\)'$",'\1',''))
|
||||
call setline(fnameescline, "let g:netrw_fname_escape = '".escape(g:netrw_fname_escape,"'")."'")
|
||||
call setline(globescline, "let g:netrw_glob_escape = '".escape(g:netrw_glob_escape,"'")."'")
|
||||
call setline(tmpfileescline, "let g:netrw_tmpfile_escape = '".escape(g:netrw_tmpfile_escape,"'")."'")
|
||||
|
||||
set nomod
|
||||
|
||||
nmap <buffer> <silent> <F1> :call NetrwSettingHelp()<cr>
|
||||
nnoremap <buffer> <silent> <leftmouse> <leftmouse> :call NetrwSettingHelp()<cr>
|
||||
let tmpfile= tempname()
|
||||
exe 'au BufWriteCmd Netrw\ Settings silent w! '.tmpfile.'|so '.tmpfile.'|call delete("'.tmpfile.'")|set nomod'
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" NetrwSettingHelp: {{{
|
||||
|
||||
function! NetrwSettingHelp()
|
||||
let curline = getline(".")
|
||||
if curline =~ '='
|
||||
let varhelp = substitute(curline,'^\s*let ','','e')
|
||||
let varhelp = substitute(varhelp,'\s*=.*$','','e')
|
||||
try
|
||||
exe "he ".varhelp
|
||||
catch /^Vim\%((\a\+)\)\=:E149/
|
||||
echo "***sorry*** no help available for <".varhelp.">"
|
||||
endtry
|
||||
elseif line(".") < s:netrw_settings_stop
|
||||
he netrw-settings
|
||||
elseif line(".") < s:netrw_protocol_stop
|
||||
he netrw-externapp
|
||||
elseif line(".") < s:netrw_xfer_stop
|
||||
he netrw-variables
|
||||
else
|
||||
he netrw-browse-var
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
|
||||
" vim:ts=8 sts=4 sw=4 et fdm=marker
|
||||
Vendored
+10
-3
@@ -1,3 +1,7 @@
|
||||
" Maintainer: Luca Saccarola <github.e41mv@aleeas.com>
|
||||
" Former Maintainer: Bruno Sutic
|
||||
" Upstream: <https://github.com/saccarosium/netrw.vim>
|
||||
|
||||
" netrw_gitignore#Hide: gitignore-based hiding
|
||||
" Function returns a string of comma separated patterns convenient for
|
||||
" assignment to `g:netrw_list_hide` option.
|
||||
@@ -8,7 +12,7 @@
|
||||
" let g:netrw_list_hide = netrw_gitignore#Hide()
|
||||
" let g:netrw_list_hide = netrw_gitignore#Hide() . 'more,hide,patterns'
|
||||
"
|
||||
" Copyright: Copyright (C) 2013 Bruno Sutic {{{1
|
||||
" Copyright: Copyright (C) 2013 Bruno Sutic {{{
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
@@ -16,7 +20,10 @@
|
||||
" warranty of any kind, either expressed or implied. By using
|
||||
" this plugin, you agree that in no event will the copyright
|
||||
" holder be liable for any damages resulting from the use
|
||||
" of this software.
|
||||
" of this software. }}}
|
||||
|
||||
function! netrw_gitignore#Hide(...)
|
||||
return substitute(substitute(system('git ls-files --other --ignored --exclude-standard --directory'), '\n', ',', 'g'), ',$', '', '')
|
||||
return substitute(substitute(system('git ls-files --other --ignored --exclude-standard --directory'), '\n', ',', 'g'), ',$', '', '')
|
||||
endfunction
|
||||
|
||||
" vim:ts=8 sts=4 sw=4 et fdm=marker
|
||||
+3803
File diff suppressed because it is too large
Load Diff
+214
@@ -0,0 +1,214 @@
|
||||
" Maintainer: Luca Saccarola <github.e41mv@aleeas.com>
|
||||
" Former Maintainer: Charles E Campbell
|
||||
" Upstream: <https://github.com/saccarosium/netrw.vim>
|
||||
" Copyright: Copyright (C) 1999-2021 Charles E. Campbell {{{
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
" netrw.vim, netrwPlugin.vim, and netrwSettings.vim are provided
|
||||
" *as is* and comes with no warranty of any kind, either
|
||||
" expressed or implied. By using this plugin, you agree that
|
||||
" in no event will the copyright holder be liable for any damages
|
||||
" resulting from the use of this software. }}}
|
||||
|
||||
if &cp || exists("g:loaded_netrwPlugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
let g:loaded_netrwPlugin = "v175"
|
||||
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Commands Launch/URL: {{{
|
||||
|
||||
command -complete=shellcmd -nargs=1 Launch call netrw#Launch(trim(<q-args>))
|
||||
command -complete=file -nargs=1 Open call netrw#Open(trim(<q-args>))
|
||||
|
||||
" }}}
|
||||
" Local Browsing Autocmds: {{{
|
||||
|
||||
augroup FileExplorer
|
||||
au!
|
||||
au BufLeave * if &ft != "netrw"|let w:netrw_prvfile= expand("%:p")|endif
|
||||
au BufEnter * sil call s:LocalBrowse(expand("<amatch>"))
|
||||
au VimEnter * sil call s:VimEnter(expand("<amatch>"))
|
||||
if has("win32")
|
||||
au BufEnter .* sil call s:LocalBrowse(expand("<amatch>"))
|
||||
endif
|
||||
augroup END
|
||||
|
||||
" }}}
|
||||
" Network Browsing Reading Writing: {{{
|
||||
|
||||
augroup Network
|
||||
au!
|
||||
au BufReadCmd file://* call netrw#FileUrlEdit(expand("<amatch>"))
|
||||
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
|
||||
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
|
||||
au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
|
||||
au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
|
||||
try
|
||||
au SourceCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
|
||||
catch /^Vim\%((\a\+)\)\=:E216/
|
||||
au SourcePre ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
|
||||
endtry
|
||||
augroup END
|
||||
|
||||
" }}}
|
||||
" Commands: :Nread, :Nwrite, :NetUserPass {{{
|
||||
|
||||
command! -count=1 -nargs=* Nread let s:svpos= winsaveview()<bar>call netrw#NetRead(<count>,<f-args>)<bar>call winrestview(s:svpos)
|
||||
command! -range=% -nargs=* Nwrite let s:svpos= winsaveview()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call winrestview(s:svpos)
|
||||
command! -nargs=* NetUserPass call NetUserPass(<f-args>)
|
||||
command! -nargs=* Nsource let s:svpos= winsaveview()<bar>call netrw#NetSource(<f-args>)<bar>call winrestview(s:svpos)
|
||||
command! -nargs=? Ntree call netrw#SetTreetop(1,<q-args>)
|
||||
|
||||
" }}}
|
||||
" Commands: :Explore, :Sexplore, Hexplore, Vexplore, Lexplore {{{
|
||||
|
||||
command! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>, 0, 0+<bang>0, <q-args>)
|
||||
command! -nargs=* -bar -bang -count=0 -complete=dir Sexplore call netrw#Explore(<count>, 1, 0+<bang>0, <q-args>)
|
||||
command! -nargs=* -bar -bang -count=0 -complete=dir Hexplore call netrw#Explore(<count>, 1, 2+<bang>0, <q-args>)
|
||||
command! -nargs=* -bar -bang -count=0 -complete=dir Vexplore call netrw#Explore(<count>, 1, 4+<bang>0, <q-args>)
|
||||
command! -nargs=* -bar -count=0 -complete=dir Texplore call netrw#Explore(<count>, 0, 6, <q-args>)
|
||||
command! -nargs=* -bar -bang -count=0 -complete=dir Lexplore call netrw#Lexplore(<count>, <bang>0, <q-args>)
|
||||
command! -nargs=* -bar -bang Nexplore call netrw#Explore(-1, 0, 0, <q-args>)
|
||||
command! -nargs=* -bar -bang Pexplore call netrw#Explore(-2, 0, 0, <q-args>)
|
||||
|
||||
" }}}
|
||||
" Commands: NetrwSettings {{{
|
||||
|
||||
command! -nargs=0 NetrwSettings call netrwSettings#NetrwSettings()
|
||||
command! -bang NetrwClean call netrw#Clean(<bang>0)
|
||||
|
||||
" }}}
|
||||
" Maps: {{{
|
||||
|
||||
if !exists("g:netrw_nogx")
|
||||
if maparg('gx','n') == ""
|
||||
if !hasmapto('<Plug>NetrwBrowseX')
|
||||
nmap <unique> gx <Plug>NetrwBrowseX
|
||||
endif
|
||||
nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(netrw#GX(),netrw#CheckIfRemote(netrw#GX()))<cr>
|
||||
endif
|
||||
if maparg('gx','x') == ""
|
||||
if !hasmapto('<Plug>NetrwBrowseXVis')
|
||||
xmap <unique> gx <Plug>NetrwBrowseXVis
|
||||
endif
|
||||
xno <silent> <Plug>NetrwBrowseXVis :<c-u>call netrw#BrowseXVis()<cr>
|
||||
endif
|
||||
endif
|
||||
|
||||
if exists("g:netrw_usetab") && g:netrw_usetab
|
||||
if maparg('<c-tab>','n') == ""
|
||||
nmap <unique> <c-tab> <Plug>NetrwShrink
|
||||
endif
|
||||
nno <silent> <Plug>NetrwShrink :call netrw#Shrink()<cr>
|
||||
endif
|
||||
|
||||
" }}}
|
||||
" LocalBrowse: invokes netrw#LocalBrowseCheck() on directory buffers {{{
|
||||
|
||||
function! s:LocalBrowse(dirname)
|
||||
" do not trigger in the terminal
|
||||
" https://github.com/vim/vim/issues/16463
|
||||
if &buftype ==# 'terminal'
|
||||
return
|
||||
endif
|
||||
|
||||
if !exists("s:vimentered")
|
||||
" If s:vimentered doesn't exist, then the VimEnter event hasn't fired. It will,
|
||||
" and so s:VimEnter() will then be calling this routine, but this time with s:vimentered defined.
|
||||
return
|
||||
endif
|
||||
|
||||
if has("amiga")
|
||||
" The check against '' is made for the Amiga, where the empty
|
||||
" string is the current directory and not checking would break
|
||||
" things such as the help command.
|
||||
if a:dirname != '' && isdirectory(a:dirname)
|
||||
sil! call netrw#LocalBrowseCheck(a:dirname)
|
||||
if exists("w:netrw_bannercnt") && line('.') < w:netrw_bannercnt
|
||||
exe w:netrw_bannercnt
|
||||
endif
|
||||
endif
|
||||
elseif isdirectory(a:dirname)
|
||||
" Jul 13, 2021: for whatever reason, preceding the following call with
|
||||
" a sil! causes an unbalanced if-endif vim error
|
||||
call netrw#LocalBrowseCheck(a:dirname)
|
||||
if exists("w:netrw_bannercnt") && line('.') < w:netrw_bannercnt
|
||||
exe w:netrw_bannercnt
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" s:VimEnter: after all vim startup stuff is done, this function is called. {{{
|
||||
" Its purpose: to look over all windows and run s:LocalBrowse() on
|
||||
" them, which checks if they're directories and will create a directory
|
||||
" listing when appropriate.
|
||||
" It also sets s:vimentered, letting s:LocalBrowse() know that s:VimEnter()
|
||||
" has already been called.
|
||||
function! s:VimEnter(dirname)
|
||||
if has('nvim') || v:version < 802
|
||||
" Johann Höchtl: reported that the call range... line causes an E488: Trailing characters
|
||||
" error with neovim. I suspect its because neovim hasn't updated with recent
|
||||
" vim patches. As is, this code will have problems with popup terminals
|
||||
" instantiated before the VimEnter event runs.
|
||||
" Ingo Karkat : E488 also in Vim 8.1.1602
|
||||
let curwin = winnr()
|
||||
let s:vimentered = 1
|
||||
windo call s:LocalBrowse(expand("%:p"))
|
||||
exe curwin."wincmd w"
|
||||
else
|
||||
" the following complicated expression comes courtesy of lacygoill; largely does the same thing as the windo and
|
||||
" wincmd which are commented out, but avoids some side effects. Allows popup terminal before VimEnter.
|
||||
let s:vimentered = 1
|
||||
call range(1, winnr('$'))->map({_, v -> win_execute(win_getid(v), 'call expand("%:p")->s:LocalBrowse()')})
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" NetrwStatusLine: {{{
|
||||
|
||||
function! NetrwStatusLine()
|
||||
if !exists("w:netrw_explore_bufnr") || w:netrw_explore_bufnr != bufnr("%") || !exists("w:netrw_explore_line") || w:netrw_explore_line != line(".") || !exists("w:netrw_explore_list")
|
||||
let &stl= s:netrw_explore_stl
|
||||
unlet! w:netrw_explore_bufnr w:netrw_explore_line
|
||||
return ""
|
||||
else
|
||||
return "Match ".w:netrw_explore_mtchcnt." of ".w:netrw_explore_listlen
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" NetUserPass: set username and password for subsequent ftp transfer {{{
|
||||
" Usage: :call NetUserPass() -- will prompt for userid and password
|
||||
" :call NetUserPass("uid") -- will prompt for password
|
||||
" :call NetUserPass("uid","password") -- sets global userid and password
|
||||
function! NetUserPass(...)
|
||||
" get/set userid
|
||||
if a:0 == 0
|
||||
if !exists("g:netrw_uid") || g:netrw_uid == ""
|
||||
" via prompt
|
||||
let g:netrw_uid= input('Enter username: ')
|
||||
endif
|
||||
else " from command line
|
||||
let g:netrw_uid= a:1
|
||||
endif
|
||||
|
||||
" get password
|
||||
if a:0 <= 1 " via prompt
|
||||
let g:netrw_passwd= inputsecret("Enter Password: ")
|
||||
else " from command line
|
||||
let g:netrw_passwd=a:2
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
" vim:ts=8 sts=4 sw=4 et fdm=marker
|
||||
+149
@@ -0,0 +1,149 @@
|
||||
" Maintainer: Luca Saccarola <github.e41mv@aleeas.com>
|
||||
" Former Maintainer: Charles E Campbell
|
||||
" Upstream: <https://github.com/saccarosium/netrw.vim>
|
||||
" Language: Netrw Listing Syntax
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let b:current_syntax = "netrwlist"
|
||||
|
||||
" Directory List Syntax Highlighting: {{{
|
||||
|
||||
syn cluster NetrwGroup contains=netrwHide,netrwSortBy,netrwSortSeq,netrwQuickHelp,netrwVersion,netrwCopyTgt
|
||||
syn cluster NetrwTreeGroup contains=netrwDir,netrwSymLink,netrwExe
|
||||
|
||||
syn match netrwPlain "\(\S\+ \)*\S\+" contains=netrwLink,@NoSpell
|
||||
syn match netrwSpecial "\%(\S\+ \)*\S\+[*|=]\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
|
||||
syn match netrwDir "\.\{1,2}/" contains=netrwClassify,@NoSpell
|
||||
syn match netrwDir "\%(\S\+ \)*\S\+/\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
|
||||
syn match netrwSizeDate "\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s" skipwhite contains=netrwDateSep,@NoSpell nextgroup=netrwTime
|
||||
syn match netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
|
||||
syn match netrwExe "\%(\S\+ \)*\S*[^~]\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
|
||||
if has("gui_running") && (&enc == 'utf-8' || &enc == 'utf-16' || &enc == 'ucs-4')
|
||||
syn match netrwTreeBar "^\%([-+|│] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
|
||||
else
|
||||
syn match netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
|
||||
endif
|
||||
syn match netrwTreeBarSpace " " contained
|
||||
|
||||
syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained
|
||||
syn match netrwDateSep "/" contained
|
||||
syn match netrwTime "\d\{1,2}:\d\{2}:\d\{2}" contained contains=netrwTimeSep
|
||||
syn match netrwTimeSep ":"
|
||||
|
||||
syn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup,@NoSpell
|
||||
syn match netrwHide '^"\s*\(Hid\|Show\)ing:' skipwhite contains=@NoSpell nextgroup=netrwHidePat
|
||||
syn match netrwSlash "/" contained
|
||||
syn match netrwHidePat "[^,]\+" contained skipwhite contains=@NoSpell nextgroup=netrwHideSep
|
||||
syn match netrwHideSep "," contained skipwhite nextgroup=netrwHidePat
|
||||
syn match netrwSortBy "Sorted by" contained transparent skipwhite nextgroup=netrwList
|
||||
syn match netrwSortSeq "Sort sequence:" contained transparent skipwhite nextgroup=netrwList
|
||||
syn match netrwCopyTgt "Copy/Move Tgt:" contained transparent skipwhite nextgroup=netrwList
|
||||
syn match netrwList ".*$" contained contains=netrwComma,@NoSpell
|
||||
syn match netrwComma "," contained
|
||||
syn region netrwQuickHelp matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd,netrwQHTopic,@NoSpell keepend contained
|
||||
syn match netrwHelpCmd "\S\+\ze:" contained skipwhite contains=@NoSpell nextgroup=netrwCmdSep
|
||||
syn match netrwQHTopic "([a-zA-Z &]\+)" contained skipwhite
|
||||
syn match netrwCmdSep ":" contained nextgroup=netrwCmdNote
|
||||
syn match netrwCmdNote ".\{-}\ze " contained contains=@NoSpell
|
||||
syn match netrwVersion "(netrw.*)" contained contains=@NoSpell
|
||||
syn match netrwLink "-->" contained skipwhite
|
||||
|
||||
" }}}
|
||||
" Special filetype highlighting {{{
|
||||
|
||||
if exists("g:netrw_special_syntax") && g:netrw_special_syntax
|
||||
if exists("+suffixes") && &suffixes != ""
|
||||
let suflist= join(split(&suffixes,','))
|
||||
let suflist= escape(substitute(suflist," ",'\\|','g'),'.~')
|
||||
exe "syn match netrwSpecFile '\\(\\S\\+ \\)*\\S*\\(".suflist."\\)\\>' contains=netrwTreeBar,@NoSpell"
|
||||
endif
|
||||
syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell
|
||||
if has("unix")
|
||||
syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell
|
||||
endif
|
||||
syn match netrwLex "\(\S\+ \)*\S\+\.\%(l\|lex\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwYacc "\(\S\+ \)*\S\+\.y\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwDoc "\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\|docx\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwHdr "\(\S\+ \)*\S\+\.\%(h\|hpp\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwPix "\c\(\S\+ \)*\S*\.\%(bmp\|fits\=\|gif\|je\=pg\|pcx\|ppc\|pgm\|png\|ppm\|psd\|rgb\|tif\|xbm\|xcf\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell
|
||||
endif
|
||||
|
||||
" }}}
|
||||
" Highlighting Links: {{{
|
||||
|
||||
if !exists("did_drchip_netrwlist_syntax")
|
||||
let did_drchip_netrwlist_syntax= 1
|
||||
hi default link netrwClassify Function
|
||||
hi default link netrwCmdSep Delimiter
|
||||
hi default link netrwComment Comment
|
||||
hi default link netrwDir Directory
|
||||
hi default link netrwHelpCmd Function
|
||||
hi default link netrwQHTopic Number
|
||||
hi default link netrwHidePat Statement
|
||||
hi default link netrwHideSep netrwComment
|
||||
hi default link netrwList Statement
|
||||
hi default link netrwVersion Identifier
|
||||
hi default link netrwSymLink Question
|
||||
hi default link netrwExe PreProc
|
||||
hi default link netrwDateSep Delimiter
|
||||
|
||||
hi default link netrwTreeBar Special
|
||||
hi default link netrwTimeSep netrwDateSep
|
||||
hi default link netrwComma netrwComment
|
||||
hi default link netrwHide netrwComment
|
||||
hi default link netrwMarkFile TabLineSel
|
||||
hi default link netrwLink Special
|
||||
|
||||
" special syntax highlighting (see :he g:netrw_special_syntax)
|
||||
hi default link netrwCoreDump WarningMsg
|
||||
hi default link netrwData Folded
|
||||
hi default link netrwHdr netrwPlain
|
||||
hi default link netrwLex netrwPlain
|
||||
hi default link netrwLib DiffChange
|
||||
hi default link netrwMakefile DiffChange
|
||||
hi default link netrwYacc netrwPlain
|
||||
hi default link netrwPix Special
|
||||
|
||||
hi default link netrwBak netrwGray
|
||||
hi default link netrwCompress netrwGray
|
||||
hi default link netrwSpecFile netrwGray
|
||||
hi default link netrwObj netrwGray
|
||||
hi default link netrwTags netrwGray
|
||||
hi default link netrwTilde netrwGray
|
||||
hi default link netrwTmp netrwGray
|
||||
endif
|
||||
|
||||
" set up netrwGray to be understated (but not Ignore'd or Conceal'd, as those
|
||||
" can be hard/impossible to read). Users may override this in a colorscheme by
|
||||
" specifying netrwGray highlighting.
|
||||
redir => s:netrwgray
|
||||
sil hi netrwGray
|
||||
redir END
|
||||
|
||||
if s:netrwgray !~ 'guifg'
|
||||
if has("gui") && has("gui_running")
|
||||
if &bg == "dark"
|
||||
exe "hi netrwGray gui=NONE guifg=gray30"
|
||||
else
|
||||
exe "hi netrwGray gui=NONE guifg=gray70"
|
||||
endif
|
||||
else
|
||||
hi link netrwGray Folded
|
||||
endif
|
||||
endif
|
||||
|
||||
" }}}
|
||||
|
||||
" vim:ts=8 sts=4 sw=4 et fdm=marker
|
||||
@@ -1,234 +1,9 @@
|
||||
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network
|
||||
" PLUGIN SECTION
|
||||
" Maintainer: This runtime file is looking for a new maintainer.
|
||||
" Date: Sep 09, 2021
|
||||
" Last Change:
|
||||
" 2024 May 08 by Vim Project: cleanup legacy Win9X checks
|
||||
" 2024 Oct 27 by Vim Project: cleanup gx mapping
|
||||
" 2024 Oct 28 by Vim Project: further improvements
|
||||
" 2024 Oct 31 by Vim Project: use autoloaded functions
|
||||
" 2024 Dec 19 by Vim Project: change style (#16248)
|
||||
" Former Maintainer: Charles E Campbell
|
||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||
" Copyright: Copyright (C) 1999-2021 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
" netrw.vim, netrwPlugin.vim, and netrwSettings.vim are provided
|
||||
" *as is* and comes with no warranty of any kind, either
|
||||
" expressed or implied. By using this plugin, you agree that
|
||||
" in no event will the copyright holder be liable for any damages
|
||||
" resulting from the use of this software.
|
||||
"
|
||||
" But be doers of the Word, and not only hearers, deluding your own selves {{{1
|
||||
" (James 1:22 RSV)
|
||||
" =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
||||
" Load Once: {{{1
|
||||
if &cp || exists("g:loaded_netrwPlugin")
|
||||
" Load the netrw package.
|
||||
|
||||
if &cp || exists("g:loaded_netrw") || exists("g:loaded_netrwPlugin")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwPlugin = "v173"
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
"DechoRemOn
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Public Interface: {{{1
|
||||
packadd netrw
|
||||
|
||||
" Commands Launch/URL {{{2
|
||||
command -complete=shellcmd -nargs=1 Launch call netrw#Launch(trim(<q-args>))
|
||||
command -complete=file -nargs=1 Open call netrw#Open(trim(<q-args>))
|
||||
" " }}}
|
||||
" Local Browsing Autocmds: {{{2
|
||||
augroup FileExplorer
|
||||
au!
|
||||
au BufLeave * if &ft != "netrw"|let w:netrw_prvfile= expand("%:p")|endif
|
||||
au BufEnter * sil call s:LocalBrowse(expand("<amatch>"))
|
||||
au VimEnter * sil call s:VimEnter(expand("<amatch>"))
|
||||
if has("win32")
|
||||
au BufEnter .* sil call s:LocalBrowse(expand("<amatch>"))
|
||||
endif
|
||||
augroup END
|
||||
|
||||
" Network Browsing Reading Writing: {{{2
|
||||
augroup Network
|
||||
au!
|
||||
au BufReadCmd file://* call netrw#FileUrlEdit(expand("<amatch>"))
|
||||
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
|
||||
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
|
||||
au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
|
||||
au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
|
||||
try
|
||||
au SourceCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
|
||||
catch /^Vim\%((\a\+)\)\=:E216/
|
||||
au SourcePre ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
|
||||
endtry
|
||||
augroup END
|
||||
|
||||
" Commands: :Nread, :Nwrite, :NetUserPass {{{2
|
||||
com! -count=1 -nargs=* Nread let s:svpos= winsaveview()<bar>call netrw#NetRead(<count>,<f-args>)<bar>call winrestview(s:svpos)
|
||||
com! -range=% -nargs=* Nwrite let s:svpos= winsaveview()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call winrestview(s:svpos)
|
||||
com! -nargs=* NetUserPass call NetUserPass(<f-args>)
|
||||
com! -nargs=* Nsource let s:svpos= winsaveview()<bar>call netrw#NetSource(<f-args>)<bar>call winrestview(s:svpos)
|
||||
com! -nargs=? Ntree call netrw#SetTreetop(1,<q-args>)
|
||||
|
||||
" Commands: :Explore, :Sexplore, Hexplore, Vexplore, Lexplore {{{2
|
||||
com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>)
|
||||
com! -nargs=* -bar -bang -count=0 -complete=dir Sexplore call netrw#Explore(<count>,1,0+<bang>0,<q-args>)
|
||||
com! -nargs=* -bar -bang -count=0 -complete=dir Hexplore call netrw#Explore(<count>,1,2+<bang>0,<q-args>)
|
||||
com! -nargs=* -bar -bang -count=0 -complete=dir Vexplore call netrw#Explore(<count>,1,4+<bang>0,<q-args>)
|
||||
com! -nargs=* -bar -count=0 -complete=dir Texplore call netrw#Explore(<count>,0,6 ,<q-args>)
|
||||
com! -nargs=* -bar -bang Nexplore call netrw#Explore(-1,0,0,<q-args>)
|
||||
com! -nargs=* -bar -bang Pexplore call netrw#Explore(-2,0,0,<q-args>)
|
||||
com! -nargs=* -bar -bang -count=0 -complete=dir Lexplore call netrw#Lexplore(<count>,<bang>0,<q-args>)
|
||||
|
||||
" Commands: NetrwSettings {{{2
|
||||
com! -nargs=0 NetrwSettings call netrwSettings#NetrwSettings()
|
||||
com! -bang NetrwClean call netrw#Clean(<bang>0)
|
||||
|
||||
" Maps:
|
||||
if !exists("g:netrw_nogx")
|
||||
if maparg('gx','n') == ""
|
||||
if !hasmapto('<Plug>NetrwBrowseX')
|
||||
nmap <unique> gx <Plug>NetrwBrowseX
|
||||
endif
|
||||
nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(netrw#GX(),netrw#CheckIfRemote(netrw#GX()))<cr>
|
||||
endif
|
||||
if maparg('gx','x') == ""
|
||||
if !hasmapto('<Plug>NetrwBrowseXVis')
|
||||
xmap <unique> gx <Plug>NetrwBrowseXVis
|
||||
endif
|
||||
xno <silent> <Plug>NetrwBrowseXVis :<c-u>call netrw#BrowseXVis()<cr>
|
||||
endif
|
||||
endif
|
||||
if exists("g:netrw_usetab") && g:netrw_usetab
|
||||
if maparg('<c-tab>','n') == ""
|
||||
nmap <unique> <c-tab> <Plug>NetrwShrink
|
||||
endif
|
||||
nno <silent> <Plug>NetrwShrink :call netrw#Shrink()<cr>
|
||||
endif
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" LocalBrowse: invokes netrw#LocalBrowseCheck() on directory buffers {{{2
|
||||
fun! s:LocalBrowse(dirname)
|
||||
" Unfortunate interaction -- only DechoMsg debugging calls can be safely used here.
|
||||
" Otherwise, the BufEnter event gets triggered when attempts to write to
|
||||
" the DBG buffer are made.
|
||||
|
||||
if !exists("s:vimentered")
|
||||
" If s:vimentered doesn't exist, then the VimEnter event hasn't fired. It will,
|
||||
" and so s:VimEnter() will then be calling this routine, but this time with s:vimentered defined.
|
||||
" call Dfunc("s:LocalBrowse(dirname<".a:dirname.">) (s:vimentered doesn't exist)")
|
||||
" call Dret("s:LocalBrowse")
|
||||
return
|
||||
endif
|
||||
|
||||
" call Dfunc("s:LocalBrowse(dirname<".a:dirname.">) (s:vimentered=".s:vimentered.")")
|
||||
|
||||
if has("amiga")
|
||||
" The check against '' is made for the Amiga, where the empty
|
||||
" string is the current directory and not checking would break
|
||||
" things such as the help command.
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> (isdirectory, amiga)")
|
||||
if a:dirname != '' && isdirectory(a:dirname)
|
||||
sil! call netrw#LocalBrowseCheck(a:dirname)
|
||||
if exists("w:netrw_bannercnt") && line('.') < w:netrw_bannercnt
|
||||
exe w:netrw_bannercnt
|
||||
endif
|
||||
endif
|
||||
|
||||
elseif isdirectory(a:dirname)
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> ft=".&ft." (isdirectory, not amiga)")
|
||||
" call Dredir("LocalBrowse ft last set: ","verbose set ft")
|
||||
" Jul 13, 2021: for whatever reason, preceding the following call with
|
||||
" a sil! causes an unbalanced if-endif vim error
|
||||
call netrw#LocalBrowseCheck(a:dirname)
|
||||
if exists("w:netrw_bannercnt") && line('.') < w:netrw_bannercnt
|
||||
exe w:netrw_bannercnt
|
||||
endif
|
||||
|
||||
else
|
||||
" not a directory, ignore it
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> not a directory, ignoring...")
|
||||
endif
|
||||
|
||||
" call Dret("s:LocalBrowse")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:VimEnter: after all vim startup stuff is done, this function is called. {{{2
|
||||
" Its purpose: to look over all windows and run s:LocalBrowse() on
|
||||
" them, which checks if they're directories and will create a directory
|
||||
" listing when appropriate.
|
||||
" It also sets s:vimentered, letting s:LocalBrowse() know that s:VimEnter()
|
||||
" has already been called.
|
||||
fun! s:VimEnter(dirname)
|
||||
" call Dfunc("s:VimEnter(dirname<".a:dirname.">) expand(%)<".expand("%").">")
|
||||
if has('nvim') || v:version < 802
|
||||
" Johann Höchtl: reported that the call range... line causes an E488: Trailing characters
|
||||
" error with neovim. I suspect its because neovim hasn't updated with recent
|
||||
" vim patches. As is, this code will have problems with popup terminals
|
||||
" instantiated before the VimEnter event runs.
|
||||
" Ingo Karkat : E488 also in Vim 8.1.1602
|
||||
let curwin = winnr()
|
||||
let s:vimentered = 1
|
||||
windo call s:LocalBrowse(expand("%:p"))
|
||||
exe curwin."wincmd w"
|
||||
else
|
||||
" the following complicated expression comes courtesy of lacygoill; largely does the same thing as the windo and
|
||||
" wincmd which are commented out, but avoids some side effects. Allows popup terminal before VimEnter.
|
||||
let s:vimentered = 1
|
||||
call range(1, winnr('$'))->map({_, v -> win_execute(win_getid(v), 'call expand("%:p")->s:LocalBrowse()')})
|
||||
endif
|
||||
" call Dret("s:VimEnter")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwStatusLine: {{{1
|
||||
fun! NetrwStatusLine()
|
||||
" let g:stlmsg= "Xbufnr=".w:netrw_explore_bufnr." bufnr=".bufnr("%")." Xline#".w:netrw_explore_line." line#".line(".")
|
||||
if !exists("w:netrw_explore_bufnr") || w:netrw_explore_bufnr != bufnr("%") || !exists("w:netrw_explore_line") || w:netrw_explore_line != line(".") || !exists("w:netrw_explore_list")
|
||||
let &stl= s:netrw_explore_stl
|
||||
if exists("w:netrw_explore_bufnr")|unlet w:netrw_explore_bufnr|endif
|
||||
if exists("w:netrw_explore_line")|unlet w:netrw_explore_line|endif
|
||||
return ""
|
||||
else
|
||||
return "Match ".w:netrw_explore_mtchcnt." of ".w:netrw_explore_listlen
|
||||
endif
|
||||
endfun
|
||||
|
||||
" ------------------------------------------------------------------------
|
||||
" NetUserPass: set username and password for subsequent ftp transfer {{{1
|
||||
" Usage: :call NetUserPass() -- will prompt for userid and password
|
||||
" :call NetUserPass("uid") -- will prompt for password
|
||||
" :call NetUserPass("uid","password") -- sets global userid and password
|
||||
fun! NetUserPass(...)
|
||||
|
||||
" get/set userid
|
||||
if a:0 == 0
|
||||
" call Dfunc("NetUserPass(a:0<".a:0.">)")
|
||||
if !exists("g:netrw_uid") || g:netrw_uid == ""
|
||||
" via prompt
|
||||
let g:netrw_uid= input('Enter username: ')
|
||||
endif
|
||||
else " from command line
|
||||
" call Dfunc("NetUserPass(a:1<".a:1.">) {")
|
||||
let g:netrw_uid= a:1
|
||||
endif
|
||||
|
||||
" get password
|
||||
if a:0 <= 1 " via prompt
|
||||
" call Decho("a:0=".a:0." case <=1:")
|
||||
let g:netrw_passwd= inputsecret("Enter Password: ")
|
||||
else " from command line
|
||||
" call Decho("a:0=".a:0." case >1: a:2<".a:2.">")
|
||||
let g:netrw_passwd=a:2
|
||||
endif
|
||||
" call Dret("NetUserPass")
|
||||
endfun
|
||||
|
||||
" ------------------------------------------------------------------------
|
||||
" Modelines And Restoration: {{{1
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
" vim:ts=8 sts=2 sw=2 et fdm=marker
|
||||
" vim:ts=8 sts=2 sw=2 et
|
||||
|
||||
+121
-17
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: C
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2023 Aug 10
|
||||
" Language: C
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2025 Jan 18
|
||||
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
@@ -111,6 +111,20 @@ if (s:ft ==# "c" && !exists("c_no_c11")) || (s:in_cpp_family && !exists("cpp_no_
|
||||
syn match cSpecialCharacter display "[Uu]'\\x\x\+'"
|
||||
endif
|
||||
|
||||
if (s:ft ==# "c" && !exists("c_no_c23")) || (s:in_cpp_family && !exists("cpp_no_cpp17"))
|
||||
syn match cCharacter "u8'[^\\]'"
|
||||
syn match cCharacter "u8'[^']*'" contains=cSpecial
|
||||
if exists("c_gnu")
|
||||
syn match cSpecialError "u8'\\[^'\"?\\abefnrtv]'"
|
||||
syn match cSpecialCharacter "u8'\\['\"?\\abefnrtv]'"
|
||||
else
|
||||
syn match cSpecialError "u8'\\[^'\"?\\abfnrtv]'"
|
||||
syn match cSpecialCharacter "u8'\\['\"?\\abfnrtv]'"
|
||||
endif
|
||||
syn match cSpecialCharacter display "u8'\\\o\{1,3}'"
|
||||
syn match cSpecialCharacter display "u8'\\x\x\+'"
|
||||
endif
|
||||
|
||||
"when wanted, highlight trailing white space
|
||||
if exists("c_space_errors")
|
||||
if !exists("c_no_trail_space_error")
|
||||
@@ -191,12 +205,25 @@ syn case ignore
|
||||
syn match cNumbers display transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctalError,cOctal
|
||||
" Same, but without octal error (for comments)
|
||||
syn match cNumbersCom display contained transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctal
|
||||
syn match cNumber display contained "\d\+\%(u\=l\{0,2}\|ll\=u\)\>"
|
||||
"hex number
|
||||
syn match cNumber display contained "0x\x\+\%(u\=l\{0,2}\|ll\=u\)\>"
|
||||
" Flag the first zero of an octal number as something special
|
||||
syn match cOctal display contained "0\o\+\%(u\=l\{0,2}\|ll\=u\)\>" contains=cOctalZero
|
||||
syn match cOctalZero display contained "\<0"
|
||||
|
||||
" cpp.vim handles these
|
||||
if !exists("c_no_c23") && !s:in_cpp_family
|
||||
syn match cNumber display contained "\d\%('\=\d\+\)*\%(u\=l\{0,2}\|ll\=u\|u\=wb\|wbu\=\)\>"
|
||||
"hex number
|
||||
syn match cNumber display contained "0x\x\%('\=\x\+\)*\%(u\=l\{0,2}\|ll\=u\|u\=wb\|wbu\=\)\>"
|
||||
" Flag the first zero of an octal number as something special
|
||||
syn match cOctal display contained "0\o\%('\=\o\+\)*\%(u\=l\{0,2}\|ll\=u\|u\=wb\|wbu\=\)\>" contains=cOctalZero
|
||||
"binary number
|
||||
syn match cNumber display contained "0b[01]\%('\=[01]\+\)*\%(u\=l\{0,2}\|ll\=u\|u\=wb\|wbu\=\)\>"
|
||||
else
|
||||
syn match cNumber display contained "\d\+\%(u\=l\{0,2}\|ll\=u\)\>"
|
||||
"hex number
|
||||
syn match cNumber display contained "0x\x\+\%(u\=l\{0,2}\|ll\=u\)\>"
|
||||
" Flag the first zero of an octal number as something special
|
||||
syn match cOctal display contained "0\o\+\%(u\=l\{0,2}\|ll\=u\)\>" contains=cOctalZero
|
||||
syn match cOctalZero display contained "\<0"
|
||||
endif
|
||||
|
||||
"floating point number, with dot, optional exponent
|
||||
syn match cFloat display contained "\d\+\.\d*\%(e[-+]\=\d\+\)\=[fl]\="
|
||||
"floating point number, starting with a dot, optional exponent
|
||||
@@ -277,6 +304,13 @@ if !exists("c_no_c99") " ISO C99
|
||||
syn keyword cType intptr_t uintptr_t
|
||||
syn keyword cType intmax_t uintmax_t
|
||||
endif
|
||||
if !exists("c_no_c23") && !s:in_cpp_family
|
||||
syn keyword cOperator typeof typeof_unqual
|
||||
syn keyword cType _BitInt _Decimal32 _Decimal64 _Decimal128
|
||||
endif
|
||||
if (s:ft ==# "c" && !exists("c_no_c23")) || (s:in_cpp_family && !exists("cpp_no_cpp11"))
|
||||
syn keyword cType nullptr_t
|
||||
endif
|
||||
|
||||
syn keyword cTypedef typedef
|
||||
syn keyword cStructure struct union enum
|
||||
@@ -284,6 +318,9 @@ syn keyword cStorageClass static register auto volatile extern const
|
||||
if !exists("c_no_c99") && !s:in_cpp_family
|
||||
syn keyword cStorageClass inline restrict
|
||||
endif
|
||||
if (s:ft ==# "c" && !exists("c_no_c23")) || (s:in_cpp_family && !exists("cpp_no_cpp11"))
|
||||
syn keyword cStorageClass constexpr
|
||||
endif
|
||||
if !exists("c_no_c11")
|
||||
syn keyword cStorageClass _Alignas alignas
|
||||
syn keyword cOperator _Alignof alignof
|
||||
@@ -312,10 +349,15 @@ if !exists("c_no_c11")
|
||||
syn keyword cType atomic_intmax_t atomic_uintmax_t
|
||||
endif
|
||||
|
||||
if (s:ft ==# "c" && !exists("c_no_c23")) || (s:in_cpp_family && !exists("cpp_no_cpp20"))
|
||||
syn keyword cType char8_t
|
||||
endif
|
||||
|
||||
if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
|
||||
if exists("c_gnu")
|
||||
syn keyword cConstant __GNUC__ __FUNCTION__ __PRETTY_FUNCTION__ __func__
|
||||
endif
|
||||
" TODO: __STDC_HOSTED__ is C99 and C++11
|
||||
syn keyword cConstant __LINE__ __FILE__ __DATE__ __TIME__ __STDC__ __STDC_VERSION__ __STDC_HOSTED__
|
||||
syn keyword cConstant CHAR_BIT MB_LEN_MAX MB_CUR_MAX
|
||||
syn keyword cConstant UCHAR_MAX UINT_MAX ULONG_MAX USHRT_MAX
|
||||
@@ -324,6 +366,8 @@ if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
|
||||
syn keyword cConstant SCHAR_MIN SINT_MIN SLONG_MIN SSHRT_MIN
|
||||
syn keyword cConstant SCHAR_MAX SINT_MAX SLONG_MAX SSHRT_MAX
|
||||
if !exists("c_no_c99")
|
||||
syn keyword cConstant __STDC_ISO_10646__ __STDC_IEC_559_COMPLEX__
|
||||
syn keyword cConstant __STDC_MB_MIGHT_NEQ_WC__
|
||||
syn keyword cConstant __func__ __VA_ARGS__
|
||||
syn keyword cConstant LLONG_MIN LLONG_MAX ULLONG_MAX
|
||||
syn keyword cConstant INT8_MIN INT16_MIN INT32_MIN INT64_MIN
|
||||
@@ -340,6 +384,26 @@ if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
|
||||
syn keyword cConstant PTRDIFF_MIN PTRDIFF_MAX SIG_ATOMIC_MIN SIG_ATOMIC_MAX
|
||||
syn keyword cConstant SIZE_MAX WCHAR_MIN WCHAR_MAX WINT_MIN WINT_MAX
|
||||
endif
|
||||
if !exists("c_no_c11")
|
||||
syn keyword cConstant __STDC_UTF_16__ __STDC_UTF_32__ __STDC_ANALYZABLE__
|
||||
syn keyword cConstant __STDC_LIB_EXT1__ __STDC_NO_ATOMICS__
|
||||
syn keyword cConstant __STDC_NO_COMPLEX__ __STDC_NO_THREADS__
|
||||
syn keyword cConstant __STDC_NO_VLA__
|
||||
endif
|
||||
if !exists("c_no_c23")
|
||||
syn keyword cConstant __STDC_UTF_16__ __STDC_UTF_32__
|
||||
syn keyword cConstant __STDC_EMBED_NOT_FOUND__ __STDC_EMBED_FOUND__
|
||||
syn keyword cConstant __STDC_EMBED_EMPTY__ __STDC_IEC_60559_BFP__
|
||||
syn keyword cConstant __STDC_IEC_60559_DFP__ __STDC_IEC_60559_COMPLEX__
|
||||
syn keyword cConstant __STDC_IEC_60559_TYPES__
|
||||
syn keyword cConstant BITINT_MAXWIDTH
|
||||
endif
|
||||
if (s:ft ==# "c" && !exists("c_no_c23")) || (s:in_cpp_family && !exists("cpp_no_cpp20"))
|
||||
syn keyword cConstant __VA_OPT__
|
||||
endif
|
||||
if (s:ft ==# "c" && !exists("c_no_c23")) || (s:in_cpp_family && !exists("cpp_no_cpp11"))
|
||||
syn keyword cConstant nullptr
|
||||
endif
|
||||
syn keyword cConstant FLT_RADIX FLT_ROUNDS FLT_DIG FLT_MANT_DIG FLT_EPSILON DBL_DIG DBL_MANT_DIG DBL_EPSILON
|
||||
syn keyword cConstant LDBL_DIG LDBL_MANT_DIG LDBL_EPSILON FLT_MIN FLT_MAX FLT_MIN_EXP FLT_MAX_EXP FLT_MIN_10_EXP FLT_MAX_10_EXP
|
||||
syn keyword cConstant DBL_MIN DBL_MAX DBL_MIN_EXP DBL_MAX_EXP DBL_MIN_10_EXP DBL_MAX_10_EXP LDBL_MIN LDBL_MAX LDBL_MIN_EXP LDBL_MAX_EXP
|
||||
@@ -377,37 +441,77 @@ if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
|
||||
endif
|
||||
if !exists("c_no_c99") " ISO C99
|
||||
syn keyword cConstant true false
|
||||
syn keyword cConstant INFINITY NAN
|
||||
" math.h
|
||||
syn keyword cConstant HUGE_VAL HUGE_VALF HUGE_VALL
|
||||
syn keyword cConstant FP_FAST_FMAF FP_FAST_FMA FP_FAST_FMAL
|
||||
syn keyword cConstant FP_ILOGB0 FP_ILOGBNAN
|
||||
syn keyword cConstant math_errhandling MATH_ERRNO MATH_ERREXCEPT
|
||||
syn keyword cConstant FP_NORMAL FP_SUBNORMAL FP_ZERO FP_INFINITE FP_NAN
|
||||
endif
|
||||
|
||||
" Accept %: for # (C99)
|
||||
syn region cPreCondit start="^\s*\zs\%(%:\|#\)\s*\%(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
|
||||
syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti,cBadBlock
|
||||
if !exists("c_no_c23")
|
||||
syn region cPreCondit start="^\s*\zs\%(%:\|#\)\s*\%(el\)\=\%(if\|ifdef\|ifndef\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
|
||||
else
|
||||
syn region cPreCondit start="^\s*\zs\%(%:\|#\)\s*\%(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
|
||||
endif
|
||||
syn match cPreConditMatch display "^\s*\zs\%(%:\|#\)\s*\%(else\|endif\)\>"
|
||||
if !exists("c_no_if0")
|
||||
syn cluster cCppOutInGroup contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip
|
||||
syn region cCppOutWrapper start="^\s*\zs\%(%:\|#\)\s*if\s\+0\+\s*\%($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse,@NoSpell fold
|
||||
syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\%(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse
|
||||
if !exists("c_no_if0_fold")
|
||||
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold
|
||||
if !exists("c_no_c23")
|
||||
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|el\%(if\|ifdef\|ifndef\)\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold
|
||||
else
|
||||
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold
|
||||
endif
|
||||
else
|
||||
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
|
||||
if !exists("c_no_c23")
|
||||
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|el\%(if\|ifdef\|ifndef\)\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
|
||||
else
|
||||
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
|
||||
endif
|
||||
endif
|
||||
if !exists("c_no_c23")
|
||||
syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\%(%:\|#\)\s*\%(else\|el\%(if\|ifdef\|ifndef\)\)" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit
|
||||
else
|
||||
syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\%(%:\|#\)\s*\%(else\|elif\)" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit
|
||||
endif
|
||||
syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\%(%:\|#\)\s*\%(else\|elif\)" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit
|
||||
syn region cCppInWrapper start="^\s*\zs\%(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\%($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse fold
|
||||
syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\%(%:\|#\)\s*endif\>" contains=TOP,cPreCondit
|
||||
if !exists("c_no_if0_fold")
|
||||
syn region cCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold
|
||||
if !exists("c_no_c23")
|
||||
syn region cCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|el\%(if\|ifdef\|ifndef\)\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold
|
||||
else
|
||||
syn region cCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold
|
||||
endif
|
||||
else
|
||||
syn region cCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2
|
||||
if !exists("c_no_c23")
|
||||
syn region cCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|el\%(if\|ifdef\|ifndef\)\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2
|
||||
else
|
||||
syn region cCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2
|
||||
endif
|
||||
endif
|
||||
if !exists("c_no_c23")
|
||||
syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\%(%:\|#\)\s*\%(else\|el\%(if\|ifdef\|ifndef\)\)\%([^/]\|/[^/*]\)*" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
|
||||
else
|
||||
syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\%(%:\|#\)\s*\%(else\|elif\)\%([^/]\|/[^/*]\)*" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
|
||||
endif
|
||||
syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\%(%:\|#\)\s*\%(else\|elif\)\%([^/]\|/[^/*]\)*" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
|
||||
syn region cCppOutSkip contained start="^\s*\%(%:\|#\)\s*\%(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" contains=cSpaceError,cCppOutSkip
|
||||
syn region cCppInSkip contained matchgroup=cCppInWrapper start="^\s*\%(%:\|#\)\s*\%(if\s\+\%(\d\+\s*\%($\|//\|/\*\||\|&\)\)\@!\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" containedin=cCppOutElse,cCppInIf,cCppInSkip contains=TOP,cPreProc
|
||||
endif
|
||||
syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
|
||||
syn match cIncluded display contained "<[^>]*>"
|
||||
syn match cInclude display "^\s*\zs\%(%:\|#\)\s*include\>\s*["<]" contains=cIncluded
|
||||
if !exists("c_no_c23") && !s:in_cpp_family
|
||||
syn region cInclude start="^\s*\zs\%(%:\|#\)\s*embed\>" skip="\\$" end="$" keepend contains=cEmbed,cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
|
||||
syn match cEmbed contained "\%(%:\|#\)\s*embed\>" nextgroup=cIncluded skipwhite transparent
|
||||
syn cluster cPreProcGroup add=cEmbed
|
||||
endif
|
||||
"syn match cLineSkip "\\$"
|
||||
syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti,cBadBlock
|
||||
syn region cDefine start="^\s*\zs\%(%:\|#\)\s*\%(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
|
||||
syn region cPreProc start="^\s*\zs\%(%:\|#\)\s*\%(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Vim script
|
||||
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
|
||||
" Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2025 Jan 09
|
||||
" Last Change: 2025 Jan 20
|
||||
" Former Maintainer: Charles E. Campbell
|
||||
|
||||
" DO NOT CHANGE DIRECTLY.
|
||||
@@ -192,13 +192,13 @@ Vim9 syn keyword vim9Boolean true false
|
||||
" Numbers {{{2
|
||||
" =======
|
||||
syn case ignore
|
||||
syn match vimNumber '\<\d\+\%(\.\d\+\%(e[+-]\=\d\+\)\=\)\=' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
|
||||
syn match vimNumber '\<0b[01]\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
|
||||
syn match vimNumber '\<0o\=\o\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
|
||||
syn match vimNumber '\<0x\x\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
|
||||
syn match vimNumber '\<0z\>' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
|
||||
syn match vimNumber '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
|
||||
syn match vimNumber '\%(^\|\A\)\zs#\x\{6}' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
|
||||
syn match vimNumber '\<\d\+\%(\.\d\+\%(e[+-]\=\d\+\)\=\)\=' skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment
|
||||
syn match vimNumber '\<0b[01]\+' skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment
|
||||
syn match vimNumber '\<0o\=\o\+' skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment
|
||||
syn match vimNumber '\<0x\x\+' skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment
|
||||
syn match vimNumber '\<0z\>' skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment
|
||||
syn match vimNumber '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*' skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment
|
||||
syn match vimNumber '\%(^\|\A\)\zs#\x\{6}' skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment
|
||||
syn case match
|
||||
|
||||
" All vimCommands are contained by vimIsCommand. {{{2
|
||||
@@ -281,10 +281,16 @@ syn keyword vimAugroupKey contained aug[roup] skipwhite nextgroup=vimAugroupBan
|
||||
" Operators: {{{2
|
||||
" =========
|
||||
syn cluster vimOperGroup contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,@vimContinue,vim9Comment,vimVar,vimBoolean,vimNull
|
||||
syn match vimOper "\a\@<!!" skipwhite nextgroup=vimString,vimSpecFile
|
||||
syn match vimOper "||\|&&\|[-+*/%.]" skipwhite nextgroup=vimString,vimSpecFile
|
||||
syn match vimOper "\%#=1\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\|!\~#\)[?#]\{0,2}" skipwhite nextgroup=vimString,vimSpecFile
|
||||
syn match vimOper "\(\<is\|\<isnot\)[?#]\{0,2}\>" skipwhite nextgroup=vimString,vimSpecFile
|
||||
syn match vimOper "\a\@<!!" skipwhite nextgroup=vimString,vimSpecFile
|
||||
syn match vimOper "||\|&&\|[-+*/%.]" skipwhite nextgroup=vimString,vimSpecFile
|
||||
syn match vimOper "?" skipwhite nextgroup=@vimExprList
|
||||
" distinguish ternary : from ex-colon
|
||||
syn match vimOper "\s\@1<=:\ze\s\|\s\@1<=:$" skipwhite nextgroup=@vimExprList
|
||||
syn match vimOper "??" skipwhite nextgroup=@vimExprList
|
||||
syn match vimOper "=" skipwhite nextgroup=vimString,vimSpecFile
|
||||
syn match vimOper "\%#=1\%(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\)[?#]\=" skipwhite nextgroup=vimString,vimSpecFile
|
||||
syn match vimOper "\<is\%(not\)\=\>" skipwhite nextgroup=vimString,vimSpecFile
|
||||
syn match vimOper "\<is\%(not\)\=[?#]" skipwhite nextgroup=vimString,vimSpecFile
|
||||
syn region vimOperParen matchgroup=vimParenSep start="(" end=")" contains=@vimOperGroup
|
||||
syn region vimOperParen matchgroup=vimSep start="#\={" end="}" contains=@vimOperGroup nextgroup=vimVar,vimFuncVar
|
||||
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noopererror")
|
||||
@@ -296,9 +302,9 @@ endif
|
||||
syn cluster vimFuncList contains=vimFuncBang,vimFunctionError,vimFuncKey,vimFuncSID,Tag
|
||||
syn cluster vimDefList contains=vimFuncBang,vimFunctionError,vimDefKey,vimFuncSID,Tag
|
||||
|
||||
syn cluster vimFuncBodyCommon contains=@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimEnvvar,vimFBVar,vimFunc,vimFunction,vimLetHereDoc,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSearch,vimSpecFile,vimString,vimSubst,vimFuncFold,vimDefFold
|
||||
syn cluster vimFuncBodyList contains=@vimFuncBodyCommon,vimComment,vimLineComment,vimFuncVar,vimInsert,vimConst,vimLet
|
||||
syn cluster vimDefBodyList contains=@vimFuncBodyCommon,vim9Comment,vim9LineComment,vim9Const,vim9Final,vim9Var,vim9Null,vim9Boolean,vim9For
|
||||
syn cluster vimFuncBodyCommon contains=@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimEnvvar,vimFBVar,vimFunc,vimFunction,vimLetHereDoc,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSpecFile,vimString,vimSubst,vimFuncFold,vimDefFold
|
||||
syn cluster vimFuncBodyList contains=@vimFuncBodyCommon,vimComment,vimLineComment,vimFuncVar,vimInsert,vimConst,vimLet,vimSearch
|
||||
syn cluster vimDefBodyList contains=@vimFuncBodyCommon,vim9Comment,vim9LineComment,vim9Const,vim9Final,vim9Var,vim9Null,vim9Boolean,vim9For,vim9Search
|
||||
|
||||
syn region vimFuncPattern contained matchgroup=vimOper start="/" end="$" contains=@vimSubstList
|
||||
syn match vimFunction "\<fu\%[nction]\>" skipwhite nextgroup=vimCmdSep,vimComment,vimFuncPattern contains=vimFuncKey
|
||||
@@ -558,19 +564,21 @@ syn region vimPatSepZone oneline contained matchgroup=vimPatSepZ start="\\%\
|
||||
syn region vimPatRegion contained transparent matchgroup=vimPatSepR start="\\[z%]\=(" end="\\)" contains=@vimSubstList oneline
|
||||
syn match vimNotPatSep contained "\\\\"
|
||||
syn cluster vimStringGroup contains=vimEscape,vimEscapeBrace,vimPatSep,vimNotPatSep,vimPatSepErr,vimPatSepZone,@Spell
|
||||
syn region vimString oneline keepend start=+[^a-zA-Z>\\@]"+lc=1 skip=+\\\\\|\\"+ matchgroup=vimStringEnd end=+"+ contains=@vimStringGroup extend
|
||||
syn region vimString oneline keepend start=+[^a-zA-Z>\\@]'+lc=1 end=+'+ extend
|
||||
syn region vimString oneline keepend matchgroup=vimString start=+[^a-zA-Z>\\@]"+lc=1 skip=+\\\\\|\\"+ matchgroup=vimStringEnd end=+"+ contains=@vimStringGroup extend
|
||||
syn region vimString oneline matchgroup=vimString start=+[^a-zA-Z>\\@]'+lc=1 end=+'+ contains=vimQuoteEscape extend
|
||||
"syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup " see tst45.vim
|
||||
syn match vimString contained +"[^"]*\\$+ skipnl nextgroup=vimStringCont
|
||||
syn match vimStringCont contained +\(\\\\\|.\)\{-}[^\\]"+
|
||||
|
||||
syn match vimEscape contained "\\."
|
||||
" syn match vimEscape contained +\\[befnrt\"]+
|
||||
syn match vimEscape contained "\\\o\{1,3}\|\\[xX]\x\{1,2}\|\\u\x\{1,4}\|\\U\x\{1,8}"
|
||||
syn match vimEscape contained "\\<" contains=vimNotation
|
||||
syn match vimEscape contained "\\<\*[^>]*>\=>"
|
||||
syn match vimQuoteEscape contained "''"
|
||||
|
||||
syn region vimString oneline start=+$'+ skip=+''+ end=+'+ contains=@vimStringInterpolation extend
|
||||
syn region vimString oneline start=+$"+ end=+"+ contains=@vimStringGroup,@vimStringInterpolation extend
|
||||
syn region vimString oneline matchgroup=vimString start=+$'+ skip=+''+ end=+'+ contains=vimQuoteEscape,@vimStringInterpolation extend
|
||||
syn region vimString oneline matchgroup=vimString start=+$"+ end=+"+ contains=@vimStringGroup,@vimStringInterpolation extend
|
||||
syn region vimStringInterpolationExpr oneline contained matchgroup=vimSep start=+{+ end=+}+ contains=@vimExprList
|
||||
syn match vimStringInterpolationBrace contained "{{"
|
||||
syn match vimStringInterpolationBrace contained "}}"
|
||||
@@ -1013,8 +1021,10 @@ syn match vim9CommentTitleLeader '#\s\+'ms=s+1 contained
|
||||
|
||||
" Searches And Globals: {{{2
|
||||
" ====================
|
||||
syn match vimSearch '^\s*[/?].*' contains=vimSearchDelim
|
||||
VimL syn match vimSearch '^\s*[/?].*' contains=vimSearchDelim
|
||||
syn match vimSearchDelim '^\s*\zs[/?]\|[/?]$' contained
|
||||
Vim9 syn match vim9Search '^\s*:[/?].*' contains=vim9SearchDelim
|
||||
syn match vim9SearchDelim '^\s*\zs:[/?]\|[/?]$' contained contains=vimCmdSep
|
||||
syn region vimGlobal matchgroup=Statement start='\<g\%[lobal]!\=/' skip='\\.' end='/' skipwhite nextgroup=vimSubst1
|
||||
syn region vimGlobal matchgroup=Statement start='\<v\%[global]!\=/' skip='\\.' end='/' skipwhite nextgroup=vimSubst1
|
||||
|
||||
@@ -1392,10 +1402,11 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vimPattern Type
|
||||
hi def link vimPlainMark vimMark
|
||||
hi def link vimPlainRegister vimRegister
|
||||
hi def link vimQuoteEscape vimEscape
|
||||
hi def link vimRegister SpecialChar
|
||||
hi def link vimScriptDelim Comment
|
||||
hi def link vimSearchDelim Statement
|
||||
hi def link vimSearch vimString
|
||||
hi def link vimSearchDelim Delimiter
|
||||
hi def link vimSep Delimiter
|
||||
hi def link vimSet vimCommand
|
||||
hi def link vimSetAll vimOption
|
||||
@@ -1488,6 +1499,8 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vim9MethodNameError vimFunctionError
|
||||
hi def link vim9Null Constant
|
||||
hi def link vim9Public vimCommand
|
||||
hi def link vim9Search vimString
|
||||
hi def link vim9SearchDelim Delimiter
|
||||
hi def link vim9Static vimCommand
|
||||
hi def link vim9Super Identifier
|
||||
hi def link vim9This Identifier
|
||||
|
||||
@@ -0,0 +1,406 @@
|
||||
" Vim syntax file
|
||||
" Language: Justfile
|
||||
" Maintainer: Peter Benjamin <@pbnj>
|
||||
" Last Change: 2025 Jan 19
|
||||
" Credits: The original author, Noah Bogart <https://github.com/NoahTheDuke/vim-just/>
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:current_syntax = 'just'
|
||||
|
||||
" syncing fromstart prevents mismatched highlighting when jumping around in a justfile
|
||||
" linebreaks= keeps multi-line constructs highlighted correctly while typing
|
||||
syn sync fromstart linebreaks=10
|
||||
|
||||
" a-zA-Z0-9_-
|
||||
syn iskeyword @,48-57,_,-
|
||||
|
||||
syn match justComment "#.*$" contains=@Spell,justCommentTodo
|
||||
syn match justCommentInBody '#.*$' contained contains=justCommentTodo,justInterpolation,@justOtherCurlyBraces
|
||||
syn keyword justCommentTodo TODO FIXME XXX contained
|
||||
syn match justShebang "^\s*#!.*$" contains=justInterpolation,@justOtherCurlyBraces
|
||||
syn match justName "\h\k*" contained
|
||||
syn match justFunction "\h\k*" contained
|
||||
|
||||
syn match justPreBodyComment "\v%(\s|\\\n)*%([^\\]\n)@3<!#%([^!].*)?\n%(\t+| +)@=" transparent contained contains=justComment
|
||||
\ nextgroup=@justBodies skipnl
|
||||
|
||||
syn region justBacktick start=/`/ end=/`/
|
||||
syn region justBacktick start=/```/ end=/```/
|
||||
syn region justRawString start=/'/ end=/'/
|
||||
syn region justRawString start=/'''/ end=/'''/
|
||||
syn region justString start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=justStringEscapeSequence,justStringUEscapeSequence,justStringEscapeError
|
||||
syn region justString start=/"""/ skip=/\\\\\|\\"/ end=/"""/ contains=justStringEscapeSequence,justStringUEscapeSequence,justStringEscapeError
|
||||
|
||||
syn region justShellExpandRawString start=/\v\k@1<!x'/ end=/'/
|
||||
\ contains=justShellExpandVarRaw,justDollarEscape
|
||||
syn region justShellExpandRawString start=/\v\k@1<!x'''/ end=/'''/
|
||||
\ contains=justShellExpandVarRaw,justDollarEscape
|
||||
syn region justShellExpandString
|
||||
\ start=/\v\k@1<!x"/ skip=/\\\\\|\\"/ end=/"/
|
||||
\ contains=justStringEscapeSequence,justStringUEscapeSequence,justStringEscapeError,justShellExpandVar,justDollarEscape,justDollarEscapeSplit
|
||||
syn region justShellExpandString
|
||||
\ start=/\v\k@1<!x"""/ skip=/\\\\\|\\"/ end=/"""/
|
||||
\ contains=justStringEscapeSequence,justStringUEscapeSequence,justStringEscapeError,justShellExpandVar,justDollarEscape,justDollarEscapeSplit
|
||||
|
||||
syn cluster justStringLiterals
|
||||
\ contains=justRawString,justString,justShellExpandRawString,justShellExpandString
|
||||
syn cluster justAllStrings contains=justBacktick,@justStringLiterals
|
||||
|
||||
syn match justRegexReplacement
|
||||
\ /\v,%(\_s|\\\n)*%('\_[^']*'|'''%(\_.%(''')@!)*\_.?''')%(\_s|\\\n)*%(,%(\_s|\\\n)*)?\)/me=e-1
|
||||
\ transparent contained contains=@justExpr,@justStringsWithRegexCapture
|
||||
syn match justRegexReplacement
|
||||
\ /\v,%(\_s|\\\n)*%("%(\_[^"]|\\")*"|"""%(\_.%(""")@!)*\_.?""")%(\_s|\\\n)*%(,%(\_s|\\\n)*)?\)/me=e-1
|
||||
\ transparent contained contains=@justExpr,@justStringsWithRegexCapture
|
||||
|
||||
syn region justRawStrRegexRepl start=/\v'/ end=/'/ contained contains=justRegexCapture,justDollarEscape
|
||||
syn region justRawStrRegexRepl start=/\v'''/ end=/'''/ contained contains=justRegexCapture,justDollarEscape
|
||||
syn region justStringRegexRepl start=/\v"/ skip=/\\\\\|\\"/ end=/"/ contained contains=justStringEscapeSequence,justStringUEscapeSequence,justStringEscapeError,justRegexCapture,justDollarEscape,justDollarEscapeSplit
|
||||
syn region justStringRegexRepl start=/\v"""/ skip=/\\\\\|\\"/ end=/"""/ contained contains=justStringEscapeSequence,justStringUEscapeSequence,justStringEscapeError,justRegexCapture,justDollarEscape,justDollarEscapeSplit
|
||||
syn match justRegexCapture '\v\$%(\w+|\{\w+\})' contained
|
||||
syn cluster justStringsWithRegexCapture contains=justRawStrRegexRepl,justStringRegexRepl
|
||||
|
||||
syn cluster justRawStrings contains=justRawString,justRawStrRegexRepl
|
||||
|
||||
syn region justStringInsideBody start=/\v\\@1<!'/ end=/'/ contained contains=justInterpolation,@justOtherCurlyBraces,justIndentError
|
||||
syn region justStringInsideBody start=/\v\\@1<!"/ skip=/\v\\@1<!\\"/ end=/"/ contained contains=justInterpolation,@justOtherCurlyBraces,justIndentError
|
||||
syn region justStringInShebangBody start=/\v\\@1<!'/ end=/'/ contained contains=justInterpolation,@justOtherCurlyBraces,justShebangIndentError
|
||||
syn region justStringInShebangBody start=/\v\\@1<!"/ skip=/\v\\@1<!\\"/ end=/"/ contained contains=justInterpolation,@justOtherCurlyBraces,justShebangIndentError
|
||||
|
||||
syn match justStringEscapeError '\\.' contained
|
||||
syn match justStringEscapeSequence '\v\\[tnr"\\]' contained
|
||||
syn match justStringUEscapeSequence '\v\\u\{[0-9A-Fa-f]{1,6}\}' contained
|
||||
|
||||
syn match justAssignmentOperator "\V:=" contained
|
||||
|
||||
syn region justExprParen start='\V(' end='\V)' transparent contains=@justExpr
|
||||
syn region justExprParenInInterp start='\V(' end='\V)' transparent contained contains=@justExprInInterp
|
||||
|
||||
syn match justRecipeAt "^@" contained
|
||||
syn match justRecipeColon ":" contained
|
||||
|
||||
syn region justRecipeAttributes
|
||||
\ matchgroup=justRecipeAttr start='\v^%(\\\n)@3<!\[' end='\V]'
|
||||
\ contains=justRecipeAttr,justRecipeAttrSep,justRecipeAttrArgs,justRecipeAttrArgError,justRecipeAttrValueShort
|
||||
|
||||
syn keyword justRecipeAttr
|
||||
\ confirm doc extension group linux macos no-cd no-exit-message no-quiet openbsd positional-arguments private script unix windows working-directory
|
||||
\ contained
|
||||
syn match justRecipeAttrSep ',' contained
|
||||
syn match justRecipeAttrValueShort '\v:%(\_s|\\\n)*' transparent contained
|
||||
\ contains=justRecipeAttrValueColon nextgroup=@justStringLiterals,justInvalidAttrValue
|
||||
syn match justRecipeAttrValueColon '\V:' contained
|
||||
syn region justRecipeAttrArgs matchgroup=justRecipeAttr start='\V(' end='\V)' contained
|
||||
\ contains=@justStringLiterals
|
||||
syn match justRecipeAttrArgError '\v\(%(\s|\\?\n)*\)' contained
|
||||
|
||||
syn match justInvalidAttrValue '\v[^"',]["']@![^,\]]*' contained
|
||||
|
||||
syn match justRecipeDeclSimple "\v^\@?\h\k*%(%(\s|\\\n)*:\=@!)@="
|
||||
\ transparent contains=justRecipeName
|
||||
\ nextgroup=justRecipeNoDeps,justRecipeDeps
|
||||
|
||||
syn region justRecipeDeclComplex start="\v^\@?\h\k*%(\s|\\\n)+%([+*$]+%(\s|\\\n)*)*\h" end="\v%(:\=@!)@=|$"
|
||||
\ transparent
|
||||
\ contains=justRecipeName,justParameter
|
||||
\ nextgroup=justRecipeNoDeps,justRecipeDeps
|
||||
|
||||
syn match justRecipeName "\v^\@?\h\k*" transparent contained contains=justRecipeAt,justFunction
|
||||
|
||||
syn match justParameter "\v%(\s|\\\n)@3<=%(%([*+]%(\s|\\\n)*)?%(\$%(\s|\\\n)*)?|\$%(\s|\\\n)*[*+]%(\s|\\\n)*)\h\k*"
|
||||
\ transparent contained
|
||||
\ contains=justName,justVariadicPrefix,justParamExport,justVariadicPrefixError
|
||||
\ nextgroup=justPreParamValue
|
||||
|
||||
syn match justPreParamValue '\v%(\s|\\\n)*\=%(\s|\\\n)*'
|
||||
\ contained transparent
|
||||
\ contains=justParameterOperator
|
||||
\ nextgroup=justParamValue
|
||||
|
||||
syn region justParamValue contained transparent
|
||||
\ start="\v\S"
|
||||
\ skip="\\\n"
|
||||
\ end="\v%(\s|^)%([*+$:]|\h)@=|:@=|$"
|
||||
\ contains=@justAllStrings,justRecipeParenDefault,@justExprFunc
|
||||
\ nextgroup=justParameterError
|
||||
syn match justParameterOperator "\V=" contained
|
||||
|
||||
syn match justVariadicPrefix "\v%(\s|\\\n)@3<=[*+]%(%(\s|\\\n)*\$?%(\s|\\\n)*\h)@=" contained
|
||||
syn match justParamExport '\V$' contained
|
||||
syn match justVariadicPrefixError "\v\$%(\s|\\\n)*[*+]" contained
|
||||
|
||||
syn match justParameterError "\v%(%([+*$]+%(\s|\\\n)*)*\h\k*)@>%(%(\s|\\\n)*\=)@!" contained
|
||||
|
||||
syn region justRecipeParenDefault
|
||||
\ matchgroup=justRecipeDepParamsParen start='\v%(\=%(\s|\\\n)*)@<=\(' end='\V)'
|
||||
\ contained
|
||||
\ contains=@justExpr
|
||||
syn match justRecipeSubsequentDeps '\V&&' contained
|
||||
|
||||
syn match justRecipeNoDeps '\v:%(\s|\\\n)*\n|:#@=|:%(\s|\\\n)+#@='
|
||||
\ transparent contained
|
||||
\ contains=justRecipeColon
|
||||
\ nextgroup=justPreBodyComment,@justBodies
|
||||
syn region justRecipeDeps start="\v:%(\s|\\\n)*%([a-zA-Z_(]|\&\&)" skip='\\\n' end="\v#@=|\\@1<!\n"
|
||||
\ transparent contained
|
||||
\ contains=justFunction,justRecipeColon,justRecipeSubsequentDeps,justRecipeParamDep
|
||||
\ nextgroup=justPreBodyComment,@justBodies
|
||||
|
||||
syn region justRecipeParamDep contained transparent
|
||||
\ matchgroup=justRecipeDepParamsParen
|
||||
\ start="\V("
|
||||
\ end="\V)"
|
||||
\ contains=justRecipeDepParenName,@justExpr
|
||||
|
||||
syn keyword justBoolean true false contained
|
||||
|
||||
syn match justAssignment "\v^\h\k*%(\s|\\\n)*:\=" transparent contains=justAssignmentOperator
|
||||
|
||||
syn match justSet '\v^set' contained
|
||||
syn keyword justSetKeywords
|
||||
\ allow-duplicate-recipes allow-duplicate-variables dotenv-load dotenv-filename dotenv-path dotenv-required export fallback ignore-comments positional-arguments quiet script-interpreter shell tempdir unstable windows-shell working-directory
|
||||
\ contained
|
||||
syn keyword justSetDeprecatedKeywords windows-powershell contained
|
||||
syn match justBooleanSet "\v^set%(\s|\\\n)+%(allow-duplicate-%(recip|variabl)es|dotenv-%(loa|require)d|export|fallback|ignore-comments|positional-arguments|quiet|unstable|windows-powershell)%(%(\s|\\\n)*:\=%(\s|\\\n)*%(true|false))?%(\s|\\\n)*%($|#@=)"
|
||||
\ contains=justSet,justSetKeywords,justSetDeprecatedKeywords,justAssignmentOperator,justBoolean
|
||||
\ transparent
|
||||
|
||||
syn match justStringSet '\v^set%(\s|\\\n)+\k+%(\s|\\\n)*:\=%(\s|\\\n)*%(x?['"])@=' transparent contains=justSet,justSetKeywords,justAssignmentOperator
|
||||
|
||||
syn match justShellSet
|
||||
\ "\v^set%(\s|\\\n)+%(s%(hell|cript-interpreter)|windows-shell)%(\s|\\\n)*:\=%(\s|\\\n)*\[@="
|
||||
\ contains=justSet,justSetKeywords,justAssignmentOperator
|
||||
\ transparent skipwhite
|
||||
\ nextgroup=justShellSetValue
|
||||
syn region justShellSetValue
|
||||
\ start='\V[' end='\V]'
|
||||
\ contained
|
||||
\ contains=@justStringLiterals,justShellSetError
|
||||
|
||||
syn match justShellSetError '\v\k+['"]@!' contained
|
||||
|
||||
syn match justAlias '\v^alias' contained
|
||||
syn match justAliasDecl "\v^alias%(\s|\\\n)+\h\k*%(\s|\\\n)*:\=%(\s|\\\n)*"
|
||||
\ transparent
|
||||
\ contains=justAlias,justFunction,justAssignmentOperator
|
||||
\ nextgroup=justAliasRes
|
||||
syn match justAliasRes '\v\h\k*%(\s|\\\n)*%(#@=|$)' contained transparent contains=justFunction
|
||||
|
||||
syn match justExportedAssignment "\v^export%(\s|\\\n)+\h\k*%(\s|\\\n)*:\=" transparent
|
||||
\ contains=justExport,justAssignmentOperator
|
||||
|
||||
syn match justExport '\v^export' contained
|
||||
|
||||
syn match justUnexportStatement '\v^unexport%(\s|\\\n)+\w+\s*$' contains=justUnexport
|
||||
syn match justUnexport '\v^unexport' contained
|
||||
|
||||
syn keyword justConditional if else
|
||||
syn region justConditionalBraces start="\v\{\{@!" end="\v\}@=" transparent contains=@justExpr
|
||||
syn region justConditionalBracesInInterp start="\v\{\{@!" end="\v\}@=" transparent contained contains=@justExprInInterp
|
||||
|
||||
syn match justLineLeadingSymbol "\v^%(\\\n)@3<!\s+\zs%(\@-|-\@|\@|-)"
|
||||
|
||||
syn match justLineContinuation "\\$"
|
||||
\ containedin=ALLBUT,justComment,justCommentInBody,justShebang,@justRawStrings,justRecipeAttrArgError,justShellExpandRawDefaultValue
|
||||
|
||||
syn region justBody
|
||||
\ start=/\v^\z( +|\t+)%(#!)@!\S/
|
||||
\ skip='\v\\\n|\n\s*$'
|
||||
\ end="\v\n\z1@!|%(^\S)@2<=\_.@="
|
||||
\ contains=justInterpolation,@justOtherCurlyBraces,justLineLeadingSymbol,justCommentInBody,justStringInsideBody,justIndentError
|
||||
\ contained
|
||||
|
||||
syn region justShebangBody
|
||||
\ start="\v^\z( +|\t+)#!"
|
||||
\ skip='\v\\\n|\n\s*$'
|
||||
\ end="\v\n\z1@!|%(^\S)@2<=\_.@="
|
||||
\ contains=justInterpolation,@justOtherCurlyBraces,justCommentInBody,justShebang,justStringInShebangBody,justShebangIndentError
|
||||
\ contained
|
||||
|
||||
syn cluster justBodies contains=justBody,justShebangBody
|
||||
|
||||
syn match justIndentError '\v^%(\\\n)@3<!%( +\zs\t|\t+\zs )\s*\S@='
|
||||
syn match justShebangIndentError '\v^ +\zs\t\s*\S@='
|
||||
|
||||
syn region justInterpolation
|
||||
\ matchgroup=justInterpolationDelim
|
||||
\ start="\v\{\{\{@!" end="\v%(%(\\\n\s|\S)\s*)@<=\}\}|$"
|
||||
\ matchgroup=justInterpError end='^\S'
|
||||
\ contained
|
||||
\ contains=@justExprInInterp
|
||||
|
||||
syn match justBadCurlyBraces '\v\{{3}\ze[^{]' contained
|
||||
syn match justCurlyBraces '\v\{{4}' contained
|
||||
syn match justBadCurlyBraces '\v\{{5}\ze[^{]' contained
|
||||
syn cluster justOtherCurlyBraces contains=justCurlyBraces,justBadCurlyBraces
|
||||
|
||||
syn match justFunctionCall "\v\w+%(\s|\\\n)*\(@=" transparent contains=justBuiltInFunction
|
||||
|
||||
" error() is intentionally not included in this list
|
||||
syn keyword justBuiltInFunction
|
||||
\ absolute_path append arch blake3 blake3_file cache_dir cache_directory canonicalize capitalize choose clean config_dir config_directory config_local_dir config_local_directory data_dir data_directory data_local_dir data_local_directory datetime datetime_utc encode_uri_component env env_var env_var_or_default executable_dir executable_directory extension file_name file_stem home_dir home_directory invocation_dir invocation_dir_native invocation_directory invocation_directory_native is_dependency join just_executable just_pid justfile justfile_dir justfile_directory kebabcase lowercamelcase lowercase module_dir module_directory module_file num_cpus os os_family parent_dir parent_directory path_exists prepend quote replace replace_regex semver_matches sha256 sha256_file shell shoutykebabcase shoutysnakecase snakecase source_dir source_directory source_file style titlecase trim trim_end trim_end_match trim_end_matches trim_start trim_start_match trim_start_matches uppercamelcase uppercase uuid without_extension
|
||||
\ contained
|
||||
|
||||
syn match justUserDefinedError "\v%(assert|error)%(%(\s|\\\n)*\()@="
|
||||
|
||||
syn match justReplaceRegex '\vreplace_regex%(\s|\\\n)*\(@=' transparent contains=justBuiltInFunction nextgroup=justReplaceRegexCall
|
||||
syn match justReplaceRegexInInterp '\vreplace_regex%(\s|\\\n)*\(@=' transparent contained contains=justBuiltInFunction nextgroup=justReplaceRegexCallInInterp
|
||||
|
||||
syn region justReplaceRegexCall
|
||||
\ matchgroup=justReplaceRegexCall
|
||||
\ start='\V(' end='\V)'
|
||||
\ transparent contained
|
||||
\ contains=@justExpr,justRegexReplacement
|
||||
syn region justReplaceRegexCallInInterp
|
||||
\ matchgroup=justReplaceRegexCall
|
||||
\ start='\V(' end='\V)'
|
||||
\ transparent contained
|
||||
\ contains=@justExprInInterp,justRegexReplacement
|
||||
|
||||
syn match justParameterLineContinuation '\v%(\s|\\\n)*' contained nextgroup=justParameterError
|
||||
|
||||
syn match justRecipeDepParenName '\v%(\(\n?)@3<=%(\_s|\\\n)*\h\k*'
|
||||
\ transparent contained
|
||||
\ contains=justFunction
|
||||
|
||||
syn cluster justBuiltInFunctions contains=justFunctionCall,justUserDefinedError
|
||||
|
||||
syn match justConditionalOperator "\V=="
|
||||
syn match justConditionalOperator "\V!="
|
||||
syn match justConditionalOperator "\V=~"
|
||||
|
||||
syn match justOperator "\V+"
|
||||
syn match justOperator "\V/"
|
||||
syn match justOperator "\V&&"
|
||||
syn match justOperator "\V||"
|
||||
|
||||
syn keyword justConstant
|
||||
\ HEX HEXLOWER HEXUPPER
|
||||
\ CLEAR NORMAL BOLD ITALIC UNDERLINE INVERT HIDE STRIKETHROUGH
|
||||
\ BLACK RED GREEN YELLOW BLUE MAGENTA CYAN WHITE
|
||||
\ BG_BLACK BG_RED BG_GREEN BG_YELLOW BG_BLUE BG_MAGENTA BG_CYAN BG_WHITE
|
||||
|
||||
syn match justShellExpandVarRaw '\v\$%(\{\_[^}]*\}|\w+)' contained contains=justShellExpandRawDefaultDelimiter
|
||||
syn match justShellExpandRawDefaultDelimiter '\V:-' contained nextgroup=justShellExpandRawDefaultValue
|
||||
syn match justShellExpandRawDefaultValue '\v\_[^}]*' contained
|
||||
syn match justShellExpandVar '\v\$%(\w|\\\n\s*)+' contained
|
||||
syn region justShellExpandVar start='\v\$%(\\\n\s*)*\{' end='\V}' contains=justShellExpandDefaultDelimiter,justStringEscapeSequence,justStringUEscapeSequence,justStringEscapeError
|
||||
syn match justShellExpandDefaultDelimiter '\v:%(\\\n\s*)*-@=' contained nextgroup=justShellExpandDefault
|
||||
syn region justShellExpandDefault
|
||||
\ matchgroup=justShellExpandDefaultDelimiter start='\V-' end='\v\}@='
|
||||
\ contained
|
||||
\ contains=justStringEscapeSequence,justStringUEscapeSequence,justStringEscapeError
|
||||
|
||||
syn match justDollarEscape '\V$$' contained
|
||||
syn match justDollarEscapeSplit '\v\$%(\\\n\s*)*\$' contained
|
||||
|
||||
syn cluster justExprBase contains=@justAllStrings,@justBuiltInFunctions,justConditional,justConditionalOperator,justOperator,justConstant
|
||||
syn cluster justExpr contains=@justExprBase,justExprParen,justConditionalBraces,justReplaceRegex
|
||||
syn cluster justExprInInterp contains=@justExprBase,justName,justExprParenInInterp,justConditionalBracesInInterp,justReplaceRegexInInterp
|
||||
|
||||
syn cluster justExprFunc contains=@justBuiltInFunctions,justReplaceRegex,justExprParen
|
||||
|
||||
syn match justImport /\v^import%(%(\s|\\\n)*\?|%(\s|\\\n)+%(x?['"])@=)/ transparent
|
||||
\ contains=justImportStatement,justOptionalFile
|
||||
syn match justImportStatement '^import' contained
|
||||
|
||||
syn match justOldInclude "^!include"
|
||||
|
||||
syn match justModule /\v^mod%(%(\s|\\\n)*\?)?%(\s|\\\n)+\h\k*\s*%($|%(\s|\\\n)*%(x?['"]|#)@=)/
|
||||
\ transparent contains=justModStatement,justName,justOptionalFile
|
||||
syn match justModStatement '^mod' contained
|
||||
|
||||
syn match justOptionalFile '\V?' contained
|
||||
|
||||
" Most linked colorscheme colors are chosen based on semantics of the color name.
|
||||
" Some are for parity with other syntax files (for example, Number for recipe body highlighting
|
||||
" is to align with the make.vim distributed with Vim).
|
||||
" Deprecated `just` syntaxes are highlighted as Underlined.
|
||||
"
|
||||
" Colors are linked 'def'(ault) so that users who prefer other colors
|
||||
" can override them, e.g. in ~/.vim/after/syntax/just.vim
|
||||
"
|
||||
" Note that vim-just's highlight groups are an implementation detail and may be subject to change.
|
||||
|
||||
" The list of highlight links is sorted alphabetically.
|
||||
|
||||
hi def link justAlias Statement
|
||||
hi def link justAssignmentOperator Operator
|
||||
hi def link justBacktick Special
|
||||
hi def link justBadCurlyBraces Error
|
||||
hi def link justBody Number
|
||||
hi def link justBoolean Boolean
|
||||
hi def link justBuiltInFunction Function
|
||||
hi def link justComment Comment
|
||||
hi def link justCommentInBody Comment
|
||||
hi def link justCommentTodo Todo
|
||||
hi def link justConditional Conditional
|
||||
hi def link justConditionalOperator Conditional
|
||||
hi def link justConstant Constant
|
||||
hi def link justCurlyBraces Special
|
||||
hi def link justDollarEscape Special
|
||||
hi def link justDollarEscapeSplit Special
|
||||
hi def link justExport Statement
|
||||
hi def link justFunction Function
|
||||
hi def link justImportStatement Include
|
||||
hi def link justIndentError Error
|
||||
hi def link justInterpError Error
|
||||
hi def link justInterpolation Normal
|
||||
hi def link justInterpolationDelim Delimiter
|
||||
hi def link justInvalidAttrValue Error
|
||||
hi def link justLineContinuation Special
|
||||
hi def link justLineLeadingSymbol Special
|
||||
hi def link justModStatement Keyword
|
||||
hi def link justName Identifier
|
||||
hi def link justOldInclude Error
|
||||
hi def link justOperator Operator
|
||||
hi def link justOptionalFile Conditional
|
||||
hi def link justParameterError Error
|
||||
hi def link justParameterOperator Operator
|
||||
hi def link justParamExport Statement
|
||||
hi def link justRawString String
|
||||
hi def link justRawStrRegexRepl String
|
||||
hi def link justRecipeAt Special
|
||||
hi def link justRecipeAttr Type
|
||||
hi def link justRecipeAttrArgError Error
|
||||
hi def link justRecipeAttrSep Operator
|
||||
hi def link justRecipeAttrValueColon Operator
|
||||
hi def link justRecipeColon Operator
|
||||
hi def link justRecipeDepParamsParen Delimiter
|
||||
hi def link justRecipeSubsequentDeps Delimiter
|
||||
hi def link justRegexCapture Identifier
|
||||
hi def link justSet Statement
|
||||
hi def link justSetDeprecatedKeywords Underlined
|
||||
hi def link justSetKeywords Keyword
|
||||
hi def link justShebang SpecialComment
|
||||
hi def link justShebangBody Number
|
||||
hi def link justShebangIndentError Error
|
||||
hi def link justShellExpandDefault Character
|
||||
hi def link justShellExpandDefaultDelimiter Operator
|
||||
hi def link justShellExpandRawDefaultDelimiter Operator
|
||||
hi def link justShellExpandRawDefaultValue Character
|
||||
hi def link justShellExpandRawString String
|
||||
hi def link justShellExpandString String
|
||||
hi def link justShellExpandVar PreProc
|
||||
hi def link justShellExpandVarRaw PreProc
|
||||
hi def link justShellSetError Error
|
||||
hi def link justString String
|
||||
hi def link justStringEscapeError Error
|
||||
hi def link justStringEscapeSequence Special
|
||||
hi def link justStringInShebangBody String
|
||||
hi def link justStringInsideBody String
|
||||
hi def link justStringRegexRepl String
|
||||
hi def link justStringUEscapeSequence Special
|
||||
hi def link justUnexport Statement
|
||||
hi def link justUserDefinedError Exception
|
||||
hi def link justVariadicPrefix Statement
|
||||
hi def link justVariadicPrefixError Error
|
||||
|
||||
let &cpo = s:cpo_sav
|
||||
unlet s:cpo_sav
|
||||
+696
-696
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@
|
||||
" Language: LyRiCs
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Filenames: *.lrc
|
||||
" Last Change: 2024 Sep 20
|
||||
" Last Change: 2025 Jan 13
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
@@ -23,7 +23,7 @@ syn match lrcTagName contained nextgroup=lrcTagValue
|
||||
syn match lrcTagValue /:\zs.\+\ze\]/ contained
|
||||
|
||||
" Lyrics
|
||||
syn match lrcLyricTime /^\s*\(\[\d\d:\d\d\.\d\d\]\)\+/
|
||||
syn match lrcLyricTime /^\s*\(\[\d\d:\d\d\.\d\d\d\?\]\)\+/
|
||||
\ contains=lrcNumber nextgroup=lrcLyricLine
|
||||
syn match lrcLyricLine /.*$/ contained contains=lrcWordTime,@Spell
|
||||
syn match lrcWordTime /<\d\d:\d\d\.\d\d>/ contained contains=lrcNumber,@NoSpell
|
||||
|
||||
@@ -1,148 +0,0 @@
|
||||
" Language : Netrw Listing Syntax
|
||||
" Maintainer: This runtime file is looking for a new maintainer.
|
||||
" Former Maintainer: Charles E. Campbell
|
||||
" Last Change: Nov 07, 2019
|
||||
" 2024 Feb 19 by Vim Project (announce adoption)
|
||||
" Version : 20
|
||||
" ---------------------------------------------------------------------
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Directory List Syntax Highlighting: {{{1
|
||||
syn cluster NetrwGroup contains=netrwHide,netrwSortBy,netrwSortSeq,netrwQuickHelp,netrwVersion,netrwCopyTgt
|
||||
syn cluster NetrwTreeGroup contains=netrwDir,netrwSymLink,netrwExe
|
||||
|
||||
syn match netrwPlain "\(\S\+ \)*\S\+" contains=netrwLink,@NoSpell
|
||||
syn match netrwSpecial "\%(\S\+ \)*\S\+[*|=]\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
|
||||
syn match netrwDir "\.\{1,2}/" contains=netrwClassify,@NoSpell
|
||||
syn match netrwDir "\%(\S\+ \)*\S\+/\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
|
||||
syn match netrwSizeDate "\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s" skipwhite contains=netrwDateSep,@NoSpell nextgroup=netrwTime
|
||||
syn match netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
|
||||
syn match netrwExe "\%(\S\+ \)*\S*[^~]\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
|
||||
if has("gui_running") && (&enc == 'utf-8' || &enc == 'utf-16' || &enc == 'ucs-4')
|
||||
syn match netrwTreeBar "^\%([-+|│] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
|
||||
else
|
||||
syn match netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
|
||||
endif
|
||||
syn match netrwTreeBarSpace " " contained
|
||||
|
||||
syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained
|
||||
syn match netrwDateSep "/" contained
|
||||
syn match netrwTime "\d\{1,2}:\d\{2}:\d\{2}" contained contains=netrwTimeSep
|
||||
syn match netrwTimeSep ":"
|
||||
|
||||
syn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup,@NoSpell
|
||||
syn match netrwHide '^"\s*\(Hid\|Show\)ing:' skipwhite contains=@NoSpell nextgroup=netrwHidePat
|
||||
syn match netrwSlash "/" contained
|
||||
syn match netrwHidePat "[^,]\+" contained skipwhite contains=@NoSpell nextgroup=netrwHideSep
|
||||
syn match netrwHideSep "," contained skipwhite nextgroup=netrwHidePat
|
||||
syn match netrwSortBy "Sorted by" contained transparent skipwhite nextgroup=netrwList
|
||||
syn match netrwSortSeq "Sort sequence:" contained transparent skipwhite nextgroup=netrwList
|
||||
syn match netrwCopyTgt "Copy/Move Tgt:" contained transparent skipwhite nextgroup=netrwList
|
||||
syn match netrwList ".*$" contained contains=netrwComma,@NoSpell
|
||||
syn match netrwComma "," contained
|
||||
syn region netrwQuickHelp matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd,netrwQHTopic,@NoSpell keepend contained
|
||||
syn match netrwHelpCmd "\S\+\ze:" contained skipwhite contains=@NoSpell nextgroup=netrwCmdSep
|
||||
syn match netrwQHTopic "([a-zA-Z &]\+)" contained skipwhite
|
||||
syn match netrwCmdSep ":" contained nextgroup=netrwCmdNote
|
||||
syn match netrwCmdNote ".\{-}\ze " contained contains=@NoSpell
|
||||
syn match netrwVersion "(netrw.*)" contained contains=@NoSpell
|
||||
syn match netrwLink "-->" contained skipwhite
|
||||
|
||||
" -----------------------------
|
||||
" Special filetype highlighting {{{1
|
||||
" -----------------------------
|
||||
if exists("g:netrw_special_syntax") && g:netrw_special_syntax
|
||||
if exists("+suffixes") && &suffixes != ""
|
||||
let suflist= join(split(&suffixes,','))
|
||||
let suflist= escape(substitute(suflist," ",'\\|','g'),'.~')
|
||||
exe "syn match netrwSpecFile '\\(\\S\\+ \\)*\\S*\\(".suflist."\\)\\>' contains=netrwTreeBar,@NoSpell"
|
||||
endif
|
||||
syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell
|
||||
if has("unix")
|
||||
syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell
|
||||
endif
|
||||
syn match netrwLex "\(\S\+ \)*\S\+\.\%(l\|lex\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwYacc "\(\S\+ \)*\S\+\.y\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwDoc "\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\|docx\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwHdr "\(\S\+ \)*\S\+\.\%(h\|hpp\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwPix "\c\(\S\+ \)*\S*\.\%(bmp\|fits\=\|gif\|je\=pg\|pcx\|ppc\|pgm\|png\|ppm\|psd\|rgb\|tif\|xbm\|xcf\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell
|
||||
syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell
|
||||
endif
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Highlighting Links: {{{1
|
||||
if !exists("did_drchip_netrwlist_syntax")
|
||||
let did_drchip_netrwlist_syntax= 1
|
||||
hi default link netrwClassify Function
|
||||
hi default link netrwCmdSep Delimiter
|
||||
hi default link netrwComment Comment
|
||||
hi default link netrwDir Directory
|
||||
hi default link netrwHelpCmd Function
|
||||
hi default link netrwQHTopic Number
|
||||
hi default link netrwHidePat Statement
|
||||
hi default link netrwHideSep netrwComment
|
||||
hi default link netrwList Statement
|
||||
hi default link netrwVersion Identifier
|
||||
hi default link netrwSymLink Question
|
||||
hi default link netrwExe PreProc
|
||||
hi default link netrwDateSep Delimiter
|
||||
|
||||
hi default link netrwTreeBar Special
|
||||
hi default link netrwTimeSep netrwDateSep
|
||||
hi default link netrwComma netrwComment
|
||||
hi default link netrwHide netrwComment
|
||||
hi default link netrwMarkFile TabLineSel
|
||||
hi default link netrwLink Special
|
||||
|
||||
" special syntax highlighting (see :he g:netrw_special_syntax)
|
||||
hi default link netrwCoreDump WarningMsg
|
||||
hi default link netrwData Folded
|
||||
hi default link netrwHdr netrwPlain
|
||||
hi default link netrwLex netrwPlain
|
||||
hi default link netrwLib DiffChange
|
||||
hi default link netrwMakefile DiffChange
|
||||
hi default link netrwYacc netrwPlain
|
||||
hi default link netrwPix Special
|
||||
|
||||
hi default link netrwBak netrwGray
|
||||
hi default link netrwCompress netrwGray
|
||||
hi default link netrwSpecFile netrwGray
|
||||
hi default link netrwObj netrwGray
|
||||
hi default link netrwTags netrwGray
|
||||
hi default link netrwTilde netrwGray
|
||||
hi default link netrwTmp netrwGray
|
||||
endif
|
||||
|
||||
" set up netrwGray to be understated (but not Ignore'd or Conceal'd, as those
|
||||
" can be hard/impossible to read). Users may override this in a colorscheme by
|
||||
" specifying netrwGray highlighting.
|
||||
redir => s:netrwgray
|
||||
sil hi netrwGray
|
||||
redir END
|
||||
if s:netrwgray !~ 'guifg'
|
||||
if has("gui") && has("gui_running")
|
||||
if &bg == "dark"
|
||||
exe "hi netrwGray gui=NONE guifg=gray30"
|
||||
else
|
||||
exe "hi netrwGray gui=NONE guifg=gray70"
|
||||
endif
|
||||
else
|
||||
hi link netrwGray Folded
|
||||
endif
|
||||
endif
|
||||
|
||||
" Current Syntax: {{{1
|
||||
let b:current_syntax = "netrwlist"
|
||||
" ---------------------------------------------------------------------
|
||||
" vim: ts=8 fdm=marker
|
||||
@@ -6,6 +6,7 @@
|
||||
" Last Change: 2024 Mar 04 by Vim Project
|
||||
" 2024 Nov 03 by Aliaksei Budavei <0x000c70 AT gmail DOT com> (improved bracket expressions, #15941)
|
||||
" 2025 Jan 06 add $PS0 to bashSpecialVariables (#16394)
|
||||
" 2025 Jan 18 add bash coproc, remove duplicate syn keywords (#16467)
|
||||
" Version: 208
|
||||
" Former URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
|
||||
" For options and settings, please use: :help ft-sh-syntax
|
||||
@@ -24,7 +25,7 @@ elseif getline(1) =~ '\<bash\>'
|
||||
elseif getline(1) =~ '\<dash\>'
|
||||
let b:is_dash = 1
|
||||
elseif !exists("g:is_kornshell") && !exists("g:is_bash") && !exists("g:is_posix") && !exists("g:is_sh") && !exists("g:is_dash")
|
||||
" user did not specify which shell to use, and
|
||||
" user did not specify which shell to use, and
|
||||
" the script itself does not specify which shell to use. FYI: /bin/sh is ambiguous.
|
||||
" Assuming /bin/sh is executable, and if its a link, find out what it links to.
|
||||
let s:shell = ""
|
||||
@@ -352,7 +353,7 @@ if exists("b:is_bash")
|
||||
ShFoldIfDoFor syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end=";&" end=";;&" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment
|
||||
elseif exists("b:is_kornshell")
|
||||
ShFoldIfDoFor syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end=";&" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment
|
||||
else
|
||||
else
|
||||
ShFoldIfDoFor syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment
|
||||
endif
|
||||
ShFoldIfDoFor syn region shCaseEsac matchgroup=shConditional start="\<case\>" end="\<esac\>" contains=@shCaseEsacList
|
||||
@@ -405,7 +406,7 @@ syn region shCmdParenRegion matchgroup=shCmdSubRegion start="((\@!" skip='\\\\\|
|
||||
if exists("b:is_bash")
|
||||
syn cluster shCommandSubList add=bashSpecialVariables,bashStatement
|
||||
syn cluster shCaseList add=bashAdminStatement,bashStatement
|
||||
syn keyword bashSpecialVariables contained auto_resume BASH BASH_ALIASES BASH_ALIASES BASH_ARGC BASH_ARGC BASH_ARGV BASH_ARGV BASH_CMDS BASH_CMDS BASH_COMMAND BASH_COMMAND BASH_ENV BASH_EXECUTION_STRING BASH_EXECUTION_STRING BASH_LINENO BASH_LINENO BASHOPTS BASHOPTS BASHPID BASHPID BASH_REMATCH BASH_REMATCH BASH_SOURCE BASH_SOURCE BASH_SUBSHELL BASH_SUBSHELL BASH_VERSINFO BASH_VERSION BASH_XTRACEFD BASH_XTRACEFD CDPATH COLUMNS COLUMNS COMP_CWORD COMP_CWORD COMP_KEY COMP_KEY COMP_LINE COMP_LINE COMP_POINT COMP_POINT COMPREPLY COMPREPLY COMP_TYPE COMP_TYPE COMP_WORDBREAKS COMP_WORDBREAKS COMP_WORDS COMP_WORDS COPROC COPROC DIRSTACK EMACS EMACS ENV ENV EUID FCEDIT FIGNORE FUNCNAME FUNCNAME FUNCNEST FUNCNEST GLOBIGNORE GROUPS histchars HISTCMD HISTCONTROL HISTFILE HISTFILESIZE HISTIGNORE HISTSIZE HISTTIMEFORMAT HISTTIMEFORMAT HOME HOSTFILE HOSTNAME HOSTTYPE IFS IGNOREEOF INPUTRC LANG LC_ALL LC_COLLATE LC_CTYPE LC_CTYPE LC_MESSAGES LC_NUMERIC LC_NUMERIC LINENO LINES LINES MACHTYPE MAIL MAILCHECK MAILPATH MAPFILE MAPFILE OLDPWD OPTARG OPTERR OPTIND OSTYPE PATH PIPESTATUS POSIXLY_CORRECT POSIXLY_CORRECT PPID PROMPT_COMMAND PS0 PS1 PS2 PS3 PS4 PWD RANDOM READLINE_LINE READLINE_LINE READLINE_POINT READLINE_POINT REPLY SECONDS SHELL SHELL SHELLOPTS SHLVL TIMEFORMAT TIMEOUT TMPDIR TMPDIR UID
|
||||
syn keyword bashSpecialVariables contained auto_resume BASH BASH_ALIASES BASH_ARGC BASH_ARGV BASH_CMDS BASH_COMMAND BASH_ENV BASH_EXECUTION_STRING BASH_LINENO BASHOPTS BASHPID BASH_REMATCH BASH_SOURCE BASH_SUBSHELL BASH_VERSINFO BASH_VERSION BASH_XTRACEFD CDPATH COLUMNS COMP_CWORD COMP_KEY COMP_LINE COMP_POINT COMPREPLY COMP_TYPE COMP_WORDBREAKS COMP_WORDS COPROC COPROC_PID DIRSTACK EMACS ENV EUID FCEDIT FIGNORE FUNCNAME FUNCNEST GLOBIGNORE GROUPS histchars HISTCMD HISTCONTROL HISTFILE HISTFILESIZE HISTIGNORE HISTSIZE HISTTIMEFORMAT HOME HOSTFILE HOSTNAME HOSTTYPE IFS IGNOREEOF INPUTRC LANG LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_NUMERIC LINENO LINES MACHTYPE MAIL MAILCHECK MAILPATH MAPFILE OLDPWD OPTARG OPTERR OPTIND OSTYPE PATH PIPESTATUS POSIXLY_CORRECT PPID PROMPT_COMMAND PS0 PS1 PS2 PS3 PS4 PWD RANDOM READLINE_LINE READLINE_POINT REPLY SECONDS SHELL SHELLOPTS SHLVL TIMEFORMAT TIMEOUT TMPDIR UID
|
||||
syn keyword bashStatement chmod clear complete du egrep expr fgrep find gnufind gnugrep grep head less ls mkdir mv rm rmdir rpm sed sleep sort strip tail
|
||||
syn keyword bashAdminStatement daemon killall killproc nice reload restart start status stop
|
||||
syn keyword bashStatement command compgen
|
||||
@@ -540,6 +541,7 @@ if !exists("b:is_posix")
|
||||
endif
|
||||
|
||||
if exists("b:is_bash")
|
||||
syn keyword shFunctionKey coproc
|
||||
ShFoldFunctions syn region shFunctionOne matchgroup=shFunction start="^\s*[A-Za-z_0-9:][-a-zA-Z_0-9:]*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionTwo matchgroup=shFunction start="\%(do\)\@!\&\<[A-Za-z_0-9:][-a-zA-Z_0-9:]*\>\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionThree matchgroup=shFunction start="^\s*[A-Za-z_0-9:][-a-zA-Z_0-9:]*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
@@ -693,10 +695,10 @@ if exists("b:is_kornshell") || exists("b:is_posix")
|
||||
" Additional bash Keywords: {{{1
|
||||
" =====================
|
||||
elseif exists("b:is_bash")
|
||||
syn keyword shStatement bg builtin disown export false fg getopts jobs let printf sleep true unalias
|
||||
syn keyword shStatement bg builtin disown export false fg getopts jobs let printf true unalias
|
||||
syn keyword shStatement typeset nextgroup=shSetOption
|
||||
syn keyword shStatement fc hash history source suspend times type
|
||||
syn keyword shStatement bind builtin caller compopt declare dirs disown enable export help logout local mapfile popd pushd readarray shopt source typeset
|
||||
syn keyword shStatement bind caller compopt declare dirs enable help logout local mapfile popd pushd readarray shopt typeset
|
||||
else
|
||||
syn keyword shStatement login newgrp
|
||||
endif
|
||||
|
||||
@@ -199,6 +199,9 @@ You can now examine the extracted screendumps:
|
||||
Viewing generated screendumps (submitted for a pull request)
|
||||
------------------------------------------------------------
|
||||
|
||||
Note: There is also a "git difftool" extension described in
|
||||
src/testdir/commondumps.vim
|
||||
|
||||
First, you need to check out the topic branch with the proposed changes and
|
||||
write down a difference list between the HEAD commit (index) and its parent
|
||||
commit with respect to the changed "dumps" filenames:
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
>/+0#0000e05#ffffff0@1| |C| |b|o@1|l|e|a|n| |c|o|n|s|t|a|n|t|s| +0#0000000&@52
|
||||
@75
|
||||
|/+0#0000e05&@1| |S|o|u|r|c|e|:| |h|t@1|p|s|:|/@1|e|n|.|c|p@1|r|e|f|e|r|e|n|c|e|.|c|o|m|/|w|/|c|/|l|a|n|g|u|a|g|e|/|b|o@1|l|_|c|o|n|s|t|a|n|t| +0#0000000&@9
|
||||
@75
|
||||
|#+0#e000e06&|i|n|c|l|u|d|e| |<+0#e000002&|a|s@1|e|r|t|.|h|>| +0#0000000&@55
|
||||
@75
|
||||
|i+0#00e0003&|n|t| +0#0000000&|m|a|i|n|(|)| @64
|
||||
|{| @73
|
||||
@4|a|s@1|e|r|t|(|t+0#e000002&|r|u|e| +0#0000000&|=@1| |1+0#e000002&| +0#0000000&|&@1| |0+0#e000002&| +0#0000000&|=@1| |f+0#e000002&|a|l|s|e|)+0#0000000&|;| @38
|
||||
|}| @73
|
||||
@75
|
||||
|~+0#4040ff13&| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
| +0#0000000&@56|1|,|1| @10|A|l@1|
|
||||
@@ -0,0 +1,20 @@
|
||||
>/+0#0000e05#ffffff0@1| |C| |c|h|a|r|a|c|t|e|r| |c|o|n|s|t|a|n|t|s| +0#0000000&@50
|
||||
@75
|
||||
|/+0#0000e05&@1| |S|o|u|r|c|e|:| |h|t@1|p|s|:|/@1|e|n|.|c|p@1|r|e|f|e|r|e|n|c|e|.|c|o|m|/|w|/|c|/|l|a|n|g|u|a|g|e|/|c|h|a|r|a|c|t|e|r|_|c|o|n|s|t|a|n|t| +0#0000000&@4
|
||||
@75
|
||||
|#+0#e000e06&|i|n|c|l|u|d|e| |<+0#e000002&|s|t|d@1|e|f|.|h|>| +0#0000000&@55
|
||||
|#+0#e000e06&|i|n|c|l|u|d|e| |<+0#e000002&|s|t|d|i|o|.|h|>| +0#0000000&@56
|
||||
|#+0#e000e06&|i|n|c|l|u|d|e| |<+0#e000002&|u|c|h|a|r|.|h|>| +0#0000000&@56
|
||||
@75
|
||||
|i+0#00e0003&|n|t| +0#0000000&|m|a|i|n| |(|v+0#00e0003&|o|i|d|)+0#0000000&| @59
|
||||
|{| @73
|
||||
@4|p|r|i|n|t|f|(|"+0#e000002&|c|o|n|s|t|a|n|t| |v|a|l|u|e| @4|\+0#e000e06&|n|"+0#e000002&|)+0#0000000&|;| @38
|
||||
@4|p|r|i|n|t|f|(|"+0#e000002&|-@7| |-@9|\+0#e000e06&|n|"+0#e000002&|)+0#0000000&|;| @38
|
||||
@75
|
||||
@4|/+0#0000e05&@1| |i|n|t|e|g|e|r| |c|h|a|r|a|c|t|e|r| |c|o|n|s|t|a|n|t|s|,| +0#0000000&@39
|
||||
@4|i+0#00e0003&|n|t| +0#0000000&|c|1|=|'+0#e000002&|a|'|;+0#0000000&| |p|r|i|n|t|f|(|"+0#e000002&|'|a|'|:|\+0#e000e06&|t| +0#e000002&|%+0#e000e06&|#|0|1|0|x|\|n|"+0#e000002&|,+0#0000000&| |c|1|)|;| @28
|
||||
@4|i+0#00e0003&|n|t| +0#0000000&|c|2|=|'+0#e000002&|🍌*&|'+&|;+0#0000000&| |p|r|i|n|t|f|(|"+0#e000002&|'|🍌*&|'+&|:|\+0#e000e06&|t| +0#e000002&|%+0#e000e06&|#|0|1|0|x|\|n|\|n|"+0#e000002&|,+0#0000000&| |c|2|)|;| |/+0#0000e05&@1| |i|m|p|l|e|m|e|n|t|a|t|i|o|n|-|d|e|f|i|n|e
|
||||
|d| +0#0000000&@73
|
||||
@75
|
||||
@4|/+0#0000e05&@1| |m|u|l|t|i|c|h|a|r|a|c|t|e|r| |c|o|n|s|t|a|n|t| +0#0000000&@44
|
||||
@57|1|,|1| @10|T|o|p|
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user