mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-11 15:37:29 +02:00
Merge remote-tracking branch 'vim/master'
This commit is contained in:
+2
-1
@@ -22,9 +22,10 @@ freebsd_task:
|
||||
- chown -R cirrus:cirrus .
|
||||
- sudo -u cirrus make test
|
||||
on_failure:
|
||||
screendump_artifacts:
|
||||
test_artifacts:
|
||||
name: "Cirrus-CI-freebsd-failed-tests"
|
||||
path: |
|
||||
runtime/indent/testdir/*.fail
|
||||
runtime/syntax/testdir/failed/*
|
||||
src/testdir/failed/*
|
||||
type: application/octet-stream
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
# https://spec.editorconfig.org/#supported-pairs
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = tab
|
||||
tab_width = 8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.{c,h,proto}]
|
||||
indent_size = 4
|
||||
|
||||
[*.{md,yml,sh,bat}]
|
||||
# This will become the default after we migrate the codebase
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.md]
|
||||
# Markdown uses trailing whitespaces to do an hard line break
|
||||
# https://spec.commonmark.org/0.31.2/#hard-line-breaks
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[runtime/doc/**.txt]
|
||||
# It can mess up some documentation by trying to strip trailing whitespaces
|
||||
trim_trailing_whitespace = false
|
||||
@@ -0,0 +1,10 @@
|
||||
# When making commits that are strictly formatting/style changes, add the
|
||||
# commit hash here, so git blame can ignore the change. See docs for more details:
|
||||
#
|
||||
# https://git-scm.com/docs/git-config#Documentation/git-config.txt-blameignoreRevsFile
|
||||
#
|
||||
# Run this command to always ignore formatting commits in git blame
|
||||
# git config blame.ignoreRevsFile .git-blame-ignore-revs
|
||||
|
||||
# Patch v9.1.0829 expanded tabs to spaces in sound.c
|
||||
8ce738de3fd7192fa6274730594305cde780074c
|
||||
@@ -128,6 +128,7 @@ runtime/ftplugin/chatito.vim @ObserverOfTime
|
||||
runtime/ftplugin/chicken.vim @evhan
|
||||
runtime/ftplugin/clojure.vim @axvr
|
||||
runtime/ftplugin/cmakecache.vim @ribru17
|
||||
runtime/ftplugin/cook.vim @ribru17
|
||||
runtime/ftplugin/cs.vim @nickspoons
|
||||
runtime/ftplugin/csh.vim @dkearns
|
||||
runtime/ftplugin/css.vim @dkearns
|
||||
@@ -201,6 +202,7 @@ runtime/ftplugin/kdl.vim @imsnif @jiangyinzuo
|
||||
runtime/ftplugin/kivy.vim @ribru17
|
||||
runtime/ftplugin/kotlin.vim @udalov
|
||||
runtime/ftplugin/ldapconf.vim @ribru17
|
||||
runtime/ftplugin/leo.vim @ribru17
|
||||
runtime/ftplugin/less.vim @genoma
|
||||
runtime/ftplugin/lex.vim @ribru17
|
||||
runtime/ftplugin/liquid.vim @tpope
|
||||
@@ -215,6 +217,7 @@ runtime/ftplugin/meson.vim @Liambeguin
|
||||
runtime/ftplugin/modula2.vim @dkearns
|
||||
runtime/ftplugin/modula3.vim @dkearns
|
||||
runtime/ftplugin/mojo.vim @ribru17
|
||||
runtime/ftplugin/mss.vim @Freed-Wu
|
||||
runtime/ftplugin/nginx.vim @chr4
|
||||
runtime/ftplugin/nim.vim @ribru17
|
||||
runtime/ftplugin/nroff.vim @a-vrma
|
||||
@@ -263,6 +266,7 @@ runtime/ftplugin/squirrel.vim @ribru17
|
||||
runtime/ftplugin/ssa.vim @ObserverOfTime
|
||||
runtime/ftplugin/sshdconfig.vim @jiangyinzuo
|
||||
runtime/ftplugin/svelte.vim @igorlfs
|
||||
runtime/ftplugin/sway.vim @ribru17
|
||||
runtime/ftplugin/swayconfig.vim @jamespeapen
|
||||
runtime/ftplugin/systemverilog.vim @Kocha
|
||||
runtime/ftplugin/swig.vim @jmarrec
|
||||
@@ -513,6 +517,7 @@ runtime/syntax/modula2/opt/iso.vim @trijezdci
|
||||
runtime/syntax/modula2/opt/pim.vim @trijezdci
|
||||
runtime/syntax/modula2/opt/r10.vim @trijezdci
|
||||
runtime/syntax/modula3.vim @dkearns
|
||||
runtime/syntax/mss.vim @Freed-Wu
|
||||
runtime/syntax/n1ql.vim @pr3d4t0r
|
||||
runtime/syntax/nginx.vim @chr4
|
||||
runtime/syntax/ninja.vim @nico
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: 'screendump'
|
||||
description: "Upload failed screendump tests"
|
||||
name: 'test_artifacts'
|
||||
description: "Upload failed test artifacts"
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
@@ -12,6 +12,7 @@ runs:
|
||||
# A file, directory or wildcard pattern that describes what
|
||||
# to upload.
|
||||
path: |
|
||||
${{ github.workspace }}/runtime/indent/testdir/*.fail
|
||||
${{ github.workspace }}/runtime/syntax/testdir/failed/*
|
||||
${{ github.workspace }}/src/testdir/failed/*
|
||||
# The desired behavior if no files are found using the
|
||||
@@ -366,7 +366,7 @@ jobs:
|
||||
|
||||
- name: Upload failed test files
|
||||
if: ${{ !cancelled() && failure() }}
|
||||
uses: ./.github/actions/screendump
|
||||
uses: ./.github/actions/test_artifacts
|
||||
|
||||
- name: Test Vim (GUI)
|
||||
timeout-minutes: 25
|
||||
|
||||
@@ -5,18 +5,20 @@
|
||||
SRC_ALL = \
|
||||
.cirrus.yml \
|
||||
.gitattributes \
|
||||
.git-blame-ignore-revs \
|
||||
.github/MAINTAINERS \
|
||||
.github/ISSUE_TEMPLATE/bug_report.yml \
|
||||
.github/ISSUE_TEMPLATE/feature_request.md \
|
||||
.github/workflows/ci.yml \
|
||||
.github/workflows/codeql-analysis.yml \
|
||||
.github/actions/screendump/action.yml \
|
||||
.github/workflows/coverity.yml \
|
||||
.github/actions/test_artifacts/action.yml \
|
||||
.github/dependabot.yml \
|
||||
.gitignore \
|
||||
.hgignore \
|
||||
.appveyor.yml \
|
||||
.codecov.yml \
|
||||
.editorconfig \
|
||||
ci/appveyor.bat \
|
||||
ci/config.mk*.sed \
|
||||
ci/if_ver*.vim \
|
||||
@@ -761,7 +763,13 @@ RT_ALL = \
|
||||
runtime/tools/[a-z]*[a-z0-9] \
|
||||
runtime/tutor/README.txt \
|
||||
runtime/tutor/tutor \
|
||||
runtime/tutor/en/vim-01-beginner.tutor \
|
||||
runtime/tutor/en/vim-01-beginner.tutor.json \
|
||||
runtime/tutor/tutor.tutor \
|
||||
runtime/tutor/tutor.tutor.json \
|
||||
runtime/tutor/tutor.vim \
|
||||
runtime/tutor/tutor2 \
|
||||
runtime/tutor/tutor2.utf-8 \
|
||||
runtime/vimrc_example.vim \
|
||||
runtime/pack/dist/opt/cfilter/plugin/cfilter.vim \
|
||||
runtime/pack/dist/opt/comment/plugin/comment.vim \
|
||||
@@ -783,6 +791,8 @@ RT_ALL = \
|
||||
runtime/pack/dist/opt/editorconfig/doc/editorconfig.txt \
|
||||
runtime/pack/dist/opt/editorconfig/ftdetect/editorconfig.vim \
|
||||
runtime/pack/dist/opt/editorconfig/plugin/editorconfig.vim \
|
||||
runtime/pack/dist/opt/helptoc/autoload/helptoc.vim \
|
||||
runtime/pack/dist/opt/helptoc/plugin/helptoc.vim \
|
||||
runtime/pack/dist/opt/justify/plugin/justify.vim \
|
||||
runtime/pack/dist/opt/matchit/plugin/matchit.vim \
|
||||
runtime/pack/dist/opt/matchit/doc/matchit.txt \
|
||||
|
||||
Vendored
+8
@@ -169,6 +169,14 @@ export def FTcls()
|
||||
endif
|
||||
enddef
|
||||
|
||||
export def FTll()
|
||||
if getline(1) =~ ';\|\<source_filename\>\|\<target\>'
|
||||
setf llvm
|
||||
else
|
||||
setf lifelines
|
||||
endif
|
||||
enddef
|
||||
|
||||
export def FTlpc()
|
||||
if exists("g:lpc_syntax_for_c")
|
||||
var lnum = 1
|
||||
|
||||
Vendored
+4
-3
@@ -2,10 +2,11 @@ vim9script
|
||||
|
||||
# Language: Vim script
|
||||
# Maintainer: github user lacygoill
|
||||
# Last Change: 2023 Jun 29
|
||||
# Last Change: 2024 Nov 08
|
||||
#
|
||||
# Includes Changes from Vim:
|
||||
# Includes changes from The Vim Project:
|
||||
# - 2024 Feb 09: Fix indent after literal Dict (A. Radev via #13966)
|
||||
# - 2024 Nov 08: Fix indent after :silent! function (D. Kearns via #16009)
|
||||
|
||||
# NOTE: Whenever you change the code, make sure the tests are still passing:
|
||||
#
|
||||
@@ -295,7 +296,7 @@ patterns = []
|
||||
endfor
|
||||
}
|
||||
|
||||
const STARTS_NAMED_BLOCK: string = $'^\s*\%(sil\%[ent]\s\+\)\=\%({patterns->join('\|')}\)\>\%(\s\|$\|!\)\@='
|
||||
const STARTS_NAMED_BLOCK: string = $'^\s*\%(sil\%[ent]!\=\s\+\)\=\%({patterns->join('\|')}\)\>\%(\s\|$\|!\)\@='
|
||||
|
||||
# STARTS_CURLY_BLOCK {{{3
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
" 2024 Sep 23 by Vim Project: runtime dir selection fix (#15722)
|
||||
" autoloading search path fix
|
||||
" substitution of hardcoded commands with global variables
|
||||
" 2024 Nov 12 by Vim Project: fix problems on Windows (#16036)
|
||||
" }}}
|
||||
"
|
||||
" GetLatestVimScripts: 642 1 :AutoInstall: getscript.vim
|
||||
@@ -27,9 +28,9 @@ if &cp
|
||||
echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
|
||||
finish
|
||||
endif
|
||||
if v:version < 702
|
||||
if v:version < 901
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of GetLatestVimScripts needs vim 7.2"
|
||||
echo "***warning*** this version of GetLatestVimScripts needs vim 9.1"
|
||||
echohl Normal
|
||||
finish
|
||||
endif
|
||||
@@ -57,6 +58,9 @@ endif
|
||||
if !exists("g:GetLatestVimScripts_wget")
|
||||
if executable("wget")
|
||||
let g:GetLatestVimScripts_wget= "wget"
|
||||
elseif executable("curl.exe")
|
||||
" enforce extension: windows powershell desktop version has a curl alias that hides curl.exe
|
||||
let g:GetLatestVimScripts_wget= "curl.exe"
|
||||
elseif executable("curl")
|
||||
let g:GetLatestVimScripts_wget= "curl"
|
||||
else
|
||||
@@ -69,7 +73,7 @@ endif
|
||||
if !exists("g:GetLatestVimScripts_options")
|
||||
if g:GetLatestVimScripts_wget == "wget"
|
||||
let g:GetLatestVimScripts_options= "-q -O"
|
||||
elseif g:GetLatestVimScripts_wget == "curl"
|
||||
elseif g:GetLatestVimScripts_wget =~ "curl"
|
||||
let g:GetLatestVimScripts_options= "-s -o"
|
||||
else
|
||||
let g:GetLatestVimScripts_options= ""
|
||||
@@ -121,11 +125,14 @@ if g:GetLatestVimScripts_allowautoinstall
|
||||
let s:dotvim= s:is_windows ? "vimfiles" : ".vim"
|
||||
|
||||
if !exists("g:GetLatestVimScripts_mv")
|
||||
if s:is_windows && &shell !~ '\cbash\|pwsh\|powershell'
|
||||
if &shell =~? '\<pwsh\>\|\<powershell\>'
|
||||
let g:GetLatestVimScripts_mv= "move -Force"
|
||||
elseif s:is_windows && &shell =~? '\<cmd\>'
|
||||
" windows (but not cygwin/bash)
|
||||
let g:GetLatestVimScripts_mv= "move"
|
||||
let g:GetLatestVimScripts_mv= "move /Y"
|
||||
else
|
||||
" unix
|
||||
" unix or cygwin bash/zsh
|
||||
" 'mv' overrides existing files without asking
|
||||
let g:GetLatestVimScripts_mv= "mv"
|
||||
endif
|
||||
endif
|
||||
@@ -160,12 +167,6 @@ fun! getscript#GetLatestVimScripts()
|
||||
return
|
||||
endif
|
||||
|
||||
" insure that fnameescape() is available
|
||||
if !exists("*fnameescape")
|
||||
echoerr "GetLatestVimScripts needs fnameescape() (provided by 7.1.299 or later)"
|
||||
return
|
||||
endif
|
||||
|
||||
" Find the .../GetLatest subdirectory under the runtimepath
|
||||
for datadir in split(&rtp,',') + ['']
|
||||
if isdirectory(datadir."/GetLatest")
|
||||
@@ -377,7 +378,16 @@ fun! s:GetOneScript(...)
|
||||
let t_ti= &t_ti
|
||||
let t_te= &t_te
|
||||
let rs = &rs
|
||||
let ssl = &ssl
|
||||
|
||||
set t_ti= t_te= nors
|
||||
" avoid issues with shellescape() on Windows
|
||||
if s:is_windows && &shell =~? '\<cmd\>'
|
||||
set noshellslash
|
||||
endif
|
||||
|
||||
" restore valures afterwards
|
||||
defer execute("let @a = rega | let &t_ti = t_ti | let &t_te = t_te | let &rs = rs | let &ssl = ssl")
|
||||
|
||||
" put current line on top-of-screen and interpret it into
|
||||
" a script identifier : used to obtain webpage
|
||||
@@ -394,7 +404,6 @@ fun! s:GetOneScript(...)
|
||||
else
|
||||
let curline = getline(".")
|
||||
if curline =~ '^\s*#'
|
||||
let @a= rega
|
||||
" call Dret("GetOneScript : skipping a pure comment line")
|
||||
return
|
||||
endif
|
||||
@@ -429,7 +438,6 @@ fun! s:GetOneScript(...)
|
||||
" plugin author protection from downloading his/her own scripts atop their latest work
|
||||
if scriptid == 0 || srcid == 0
|
||||
" When looking for :AutoInstall: lines, skip scripts that have 0 0 scriptname
|
||||
let @a= rega
|
||||
" call Dret("GetOneScript : skipping a scriptid==srcid==0 line")
|
||||
return
|
||||
endif
|
||||
@@ -497,7 +505,6 @@ fun! s:GetOneScript(...)
|
||||
" call Decho("***warning*** couldn'".'t find "Click on the package..." in description page for <'.aicmmnt.">")
|
||||
echomsg "***warning*** couldn'".'t find "Click on the package..." in description page for <'.aicmmnt.">"
|
||||
" call Dret("GetOneScript : srch for /Click on the package/ failed")
|
||||
let @a= rega
|
||||
return
|
||||
endif
|
||||
" call Decho('found "Click on the package to download"')
|
||||
@@ -513,7 +520,6 @@ fun! s:GetOneScript(...)
|
||||
let s:downerrors = s:downerrors + 1
|
||||
" call Decho("***warning*** couldn'".'t find "src_id=" in description page for <'.aicmmnt.">")
|
||||
echomsg "***warning*** couldn'".'t find "src_id=" in description page for <'.aicmmnt.">"
|
||||
let @a= rega
|
||||
" call Dret("GetOneScript : srch for /src_id/ failed")
|
||||
return
|
||||
endif
|
||||
@@ -547,11 +553,11 @@ fun! s:GetOneScript(...)
|
||||
" call Decho(".downloading new <".sname.">")
|
||||
echomsg ".downloading new <".sname.">"
|
||||
if has("win32") || has("win16") || has("win95")
|
||||
" call Decho(".new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)."|q")
|
||||
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)|q
|
||||
" call Decho(".new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)."|bw!")
|
||||
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)|bw!
|
||||
else
|
||||
" call Decho(".exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr).latestsrcid
|
||||
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr).latestsrcid
|
||||
" call Decho(".exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)
|
||||
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)
|
||||
endif
|
||||
|
||||
" --------------------------------------------------------------------------
|
||||
@@ -654,8 +660,8 @@ fun! s:GetOneScript(...)
|
||||
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".installdir
|
||||
endif
|
||||
if tgtdir != "plugin"
|
||||
" call Decho("exe silent !".g:GetLatestVimScripts_mv." plugin/".shellescape(pname)." ".tgtdir)
|
||||
exe "silent !".g:GetLatestVimScripts_mv." plugin/".shellescape(pname)." ".tgtdir
|
||||
" call Decho("exe silent !".g:GetLatestVimScripts_mv." ".shellescape("plugin/".pname)." ".tgtdir)
|
||||
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape("plugin/".pname)." ".tgtdir
|
||||
endif
|
||||
|
||||
" helptags step
|
||||
@@ -680,13 +686,7 @@ fun! s:GetOneScript(...)
|
||||
" call Decho("[latestsrcid=".latestsrcid."] <= [srcid=".srcid."], no need to update")
|
||||
endif
|
||||
|
||||
" restore options
|
||||
let &t_ti = t_ti
|
||||
let &t_te = t_te
|
||||
let &rs = rs
|
||||
let @a = rega
|
||||
" call Dredir("BUFFER TEST (GetOneScript)","ls!")
|
||||
|
||||
" call Dret("GetOneScript")
|
||||
endfun
|
||||
|
||||
|
||||
+154
-947
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
" Maintainer: D. Ben Knoble <ben.knoble+github@gmail.com>
|
||||
" URL: https://github.com/benknoble/vim-racket
|
||||
" Last Change: 2023 Sep 22
|
||||
" Last Change: 2024 Nov 12
|
||||
vim9script
|
||||
|
||||
def MakePatternFromLiterals(xs: list<string>): string
|
||||
@@ -170,7 +170,7 @@ def PosLT(left: dict<any>, right: dict<any>): bool
|
||||
enddef
|
||||
|
||||
def IsForFold(word: string): bool
|
||||
return ['for/fold', 'for/foldr', 'for*/fold', 'for*/foldr']->index(word) >= 0
|
||||
return ['for/fold', 'for/foldr', 'for/lists', 'for*/fold', 'for*/foldr', 'for*/lists']->index(word) >= 0
|
||||
enddef
|
||||
|
||||
def IsSecondForm(blnum: number, bcol: number, vlnum: number): bool
|
||||
@@ -209,5 +209,5 @@ def IsSecondForm(blnum: number, bcol: number, vlnum: number): bool
|
||||
endwhile
|
||||
|
||||
# assert_report(printf('forms seen pre-return: %d', forms_seen))
|
||||
return forms_seen == 2 || (forms_seen == 1 && !empty(stack))
|
||||
return (forms_seen == 2 && empty(stack)) || (forms_seen == 1 && !empty(stack))
|
||||
enddef
|
||||
|
||||
+62
-43
@@ -1,6 +1,6 @@
|
||||
" tar.vim: Handles browsing tarfiles
|
||||
" AUTOLOAD PORTION
|
||||
" Date: Nov 14, 2023
|
||||
" Date: Nov 11, 2024
|
||||
" Version: 32b (with modifications from the Vim Project)
|
||||
" Maintainer: This runtime file is looking for a new maintainer.
|
||||
" Former Maintainer: Charles E Campbell
|
||||
@@ -23,7 +23,7 @@
|
||||
if &cp || exists("g:loaded_tar")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_tar= "v32a"
|
||||
let g:loaded_tar= "v32b"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of tar needs vim 7.2"
|
||||
@@ -41,7 +41,7 @@ if !exists("g:tar_browseoptions")
|
||||
let g:tar_browseoptions= "Ptf"
|
||||
endif
|
||||
if !exists("g:tar_readoptions")
|
||||
let g:tar_readoptions= "OPxf"
|
||||
let g:tar_readoptions= "pPxf"
|
||||
endif
|
||||
if !exists("g:tar_cmd")
|
||||
let g:tar_cmd= "tar"
|
||||
@@ -80,7 +80,7 @@ if !exists("g:tar_copycmd")
|
||||
let g:tar_copycmd= g:netrw_localcopycmd
|
||||
endif
|
||||
if !exists("g:tar_extractcmd")
|
||||
let g:tar_extractcmd= "tar -xf"
|
||||
let g:tar_extractcmd= "tar -pxf"
|
||||
endif
|
||||
|
||||
" set up shell quoting character
|
||||
@@ -294,6 +294,41 @@ fun! tar#Read(fname,mode)
|
||||
set report=10
|
||||
let tarfile = substitute(a:fname,'tarfile:\(.\{-}\)::.*$','\1','')
|
||||
let fname = substitute(a:fname,'tarfile:.\{-}::\(.*\)$','\1','')
|
||||
|
||||
" changing the directory to the temporary earlier to allow tar to extract the file with permissions intact
|
||||
if !exists("*mkdir")
|
||||
redraw!
|
||||
echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None
|
||||
let &report= repkeep
|
||||
return
|
||||
endif
|
||||
|
||||
let curdir= getcwd()
|
||||
let tmpdir= tempname()
|
||||
let b:curdir= tmpdir
|
||||
let b:tmpdir= curdir
|
||||
if tmpdir =~ '\.'
|
||||
let tmpdir= substitute(tmpdir,'\.[^.]*$','','e')
|
||||
endif
|
||||
call mkdir(tmpdir,"p")
|
||||
|
||||
" attempt to change to the indicated directory
|
||||
try
|
||||
exe "cd ".fnameescape(tmpdir)
|
||||
catch /^Vim\%((\a\+)\)\=:E344/
|
||||
redraw!
|
||||
echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None
|
||||
let &report= repkeep
|
||||
return
|
||||
endtry
|
||||
|
||||
" place temporary files under .../_ZIPVIM_/
|
||||
if isdirectory("_ZIPVIM_")
|
||||
call s:Rmdir("_ZIPVIM_")
|
||||
endif
|
||||
call mkdir("_ZIPVIM_")
|
||||
cd _ZIPVIM_
|
||||
|
||||
if has("win32unix") && executable("cygpath")
|
||||
" assuming cygwin
|
||||
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
|
||||
@@ -332,9 +367,10 @@ fun! tar#Read(fname,mode)
|
||||
|
||||
if tarfile =~# '\.bz2$'
|
||||
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
elseif tarfile =~# '\.\(gz\)$'
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
|
||||
exe "read ".fname
|
||||
elseif tarfile =~# '\(\.tgz\|\.tbz\|\.txz\)'
|
||||
if has("unix") && executable("file")
|
||||
let filekind= system("file ".shellescape(tarfile,1))
|
||||
@@ -343,20 +379,27 @@ fun! tar#Read(fname,mode)
|
||||
endif
|
||||
if filekind =~ "bzip2"
|
||||
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
elseif filekind =~ "XZ"
|
||||
exe "sil! r! xz -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
elseif filekind =~ "Zstandard"
|
||||
exe "sil! r! zstd --decompress --stdout -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
else
|
||||
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
endif
|
||||
|
||||
elseif tarfile =~# '\.lrp$'
|
||||
exe "sil! r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
elseif tarfile =~# '\.lzma$'
|
||||
exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
elseif tarfile =~# '\.\(xz\|txz\)$'
|
||||
exe "sil! r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
else
|
||||
if tarfile =~ '^\s*-'
|
||||
" A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
|
||||
@@ -364,6 +407,16 @@ fun! tar#Read(fname,mode)
|
||||
endif
|
||||
" call Decho("8: exe silent r! ".g:tar_cmd." -".g:tar_readoptions.tar_secure.shellescape(tarfile,1)." ".shellescape(fname,1).decmp)
|
||||
exe "silent r! ".g:tar_cmd." -".g:tar_readoptions.shellescape(tarfile,1)." ".tar_secure.shellescape(fname,1).decmp
|
||||
exe "read ".fname
|
||||
endif
|
||||
|
||||
redraw!
|
||||
|
||||
if v:shell_error != 0
|
||||
cd ..
|
||||
call s:Rmdir("_ZIPVIM_")
|
||||
exe "cd ".fnameescape(curdir)
|
||||
echohl Error | echo "***error*** (tar#Read) sorry, unable to open or extract ".tarfile." with ".fname | echohl None
|
||||
endif
|
||||
|
||||
if doro
|
||||
@@ -388,6 +441,10 @@ fun! tar#Write(fname)
|
||||
" call Dfunc("tar#Write(fname<".a:fname.">) b:tarfile<".b:tarfile."> tblfile_".winnr()."<".s:tblfile_{winnr()}.">")
|
||||
let repkeep= &report
|
||||
set report=10
|
||||
|
||||
" temporary buffer variable workaround because too fucking tired. but it works now
|
||||
let curdir= b:curdir
|
||||
let tmpdir= b:tmpdir
|
||||
|
||||
if !exists("g:tar_secure") && a:fname =~ '^\s*-\|\s\+-'
|
||||
redraw!
|
||||
@@ -404,44 +461,6 @@ fun! tar#Write(fname)
|
||||
" call Dret("tar#Write")
|
||||
return
|
||||
endif
|
||||
if !exists("*mkdir")
|
||||
redraw!
|
||||
" call Decho("***error*** (tar#Write) sorry, mkdir() doesn't work on your system")
|
||||
echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Write")
|
||||
return
|
||||
endif
|
||||
|
||||
let curdir= getcwd()
|
||||
let tmpdir= tempname()
|
||||
" call Decho("orig tempname<".tmpdir.">")
|
||||
if tmpdir =~ '\.'
|
||||
let tmpdir= substitute(tmpdir,'\.[^.]*$','','e')
|
||||
endif
|
||||
" call Decho("tmpdir<".tmpdir.">")
|
||||
call mkdir(tmpdir,"p")
|
||||
|
||||
" attempt to change to the indicated directory
|
||||
try
|
||||
exe "cd ".fnameescape(tmpdir)
|
||||
catch /^Vim\%((\a\+)\)\=:E344/
|
||||
redraw!
|
||||
" call Decho("***error*** (tar#Write) cannot cd to temporary directory")
|
||||
echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Write")
|
||||
return
|
||||
endtry
|
||||
" call Decho("current directory now: ".getcwd())
|
||||
|
||||
" place temporary files under .../_ZIPVIM_/
|
||||
if isdirectory("_ZIPVIM_")
|
||||
call s:Rmdir("_ZIPVIM_")
|
||||
endif
|
||||
call mkdir("_ZIPVIM_")
|
||||
cd _ZIPVIM_
|
||||
" call Decho("current directory now: ".getcwd())
|
||||
|
||||
let tarfile = substitute(b:tarfile,'tarfile:\(.\{-}\)::.*$','\1','')
|
||||
let fname = substitute(b:tarfile,'tarfile:.\{-}::\(.*\)$','\1','')
|
||||
|
||||
@@ -0,0 +1,219 @@
|
||||
" vim: fdm=marker et ts=4 sw=4
|
||||
|
||||
" Setup: {{{1
|
||||
function! tutor#SetupVim()
|
||||
if !exists('g:did_load_ftplugin') || g:did_load_ftplugin != 1
|
||||
filetype plugin on
|
||||
endif
|
||||
if has('syntax')
|
||||
if !exists('g:syntax_on') || g:syntax_on == 0
|
||||
syntax on
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Loads metadata file, if available
|
||||
function! tutor#LoadMetadata()
|
||||
let b:tutor_metadata = json_decode(join(readfile(expand('%').'.json'), "\n"))
|
||||
endfunction
|
||||
|
||||
" Mappings: {{{1
|
||||
|
||||
function! tutor#SetNormalMappings()
|
||||
nnoremap <silent> <buffer> <CR> :call tutor#FollowLink(0)<cr>
|
||||
nnoremap <silent> <buffer> <2-LeftMouse> :call tutor#MouseDoubleClick()<cr>
|
||||
nnoremap <buffer> >> :call tutor#InjectCommand()<cr>
|
||||
endfunction
|
||||
|
||||
function! tutor#MouseDoubleClick()
|
||||
if foldclosed(line('.')) > -1
|
||||
normal! zo
|
||||
else
|
||||
if match(getline('.'), '^#\{1,} ') > -1
|
||||
silent normal! zc
|
||||
else
|
||||
call tutor#FollowLink(0)
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! tutor#InjectCommand()
|
||||
let l:cmd = substitute(getline('.'), '^\s*', '', '')
|
||||
exe l:cmd
|
||||
redraw | echohl WarningMsg | echon "tutor: ran" | echohl None | echon " " | echohl Statement | echon l:cmd
|
||||
endfunction
|
||||
|
||||
function! tutor#FollowLink(force)
|
||||
let l:stack_s = join(map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")'), '')
|
||||
if l:stack_s =~# 'tutorLink'
|
||||
let l:link_start = searchpairpos('\[', '', ')', 'nbcW')
|
||||
let l:link_end = searchpairpos('\[', '', ')', 'ncW')
|
||||
if l:link_start[0] == l:link_end[0]
|
||||
let l:linkData = getline(l:link_start[0])[l:link_start[1]-1:l:link_end[1]-1]
|
||||
else
|
||||
return
|
||||
endif
|
||||
let l:target = matchstr(l:linkData, '(\@<=.*)\@=')
|
||||
if a:force != 1 && match(l:target, '\*.\+\*') > -1
|
||||
call cursor(l:link_start[0], l:link_end[1])
|
||||
call search(l:target, '')
|
||||
normal! ^
|
||||
elseif a:force != 1 && match(l:target, '^@tutor:') > -1
|
||||
let l:tutor = matchstr(l:target, '@tutor:\zs.*')
|
||||
exe "Tutor ".l:tutor
|
||||
else
|
||||
exe "help ".l:target
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Folding And Info: {{{1
|
||||
|
||||
function! tutor#TutorFolds()
|
||||
if getline(v:lnum) =~# '^#\{1,6}'
|
||||
return ">". len(matchstr(getline(v:lnum), '^#\{1,6}'))
|
||||
else
|
||||
return "="
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Marks: {{{1
|
||||
|
||||
function! tutor#ApplyMarks()
|
||||
hi! link tutorExpect Special
|
||||
if exists('b:tutor_metadata') && has_key(b:tutor_metadata, 'expect')
|
||||
let b:tutor_sign_id = 1
|
||||
for expct in keys(b:tutor_metadata['expect'])
|
||||
let lnum = eval(expct)
|
||||
call matchaddpos('tutorExpect', [lnum])
|
||||
call tutor#CheckLine(lnum)
|
||||
endfor
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! tutor#ApplyMarksOnChanged()
|
||||
if exists('b:tutor_metadata') && has_key(b:tutor_metadata, 'expect')
|
||||
let lnum = line('.')
|
||||
if index(keys(b:tutor_metadata['expect']), string(lnum)) > -1
|
||||
call tutor#CheckLine(lnum)
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! tutor#CheckLine(line)
|
||||
if exists('b:tutor_metadata') && has_key(b:tutor_metadata, 'expect')
|
||||
let bufn = bufnr('%')
|
||||
let ctext = getline(a:line)
|
||||
if b:tutor_metadata['expect'][string(a:line)] == -1 || ctext ==# b:tutor_metadata['expect'][string(a:line)]
|
||||
exe "sign place ".b:tutor_sign_id." line=".a:line." name=tutorok buffer=".bufn
|
||||
else
|
||||
exe "sign place ".b:tutor_sign_id." line=".a:line." name=tutorbad buffer=".bufn
|
||||
endif
|
||||
let b:tutor_sign_id+=1
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Tutor Cmd: {{{1
|
||||
|
||||
function! s:Locale()
|
||||
if exists('v:lang') && v:lang =~ '\a\a'
|
||||
let l:lang = v:lang
|
||||
elseif $LC_ALL =~ '\a\a'
|
||||
let l:lang = $LC_ALL
|
||||
elseif $LANG =~ '\a\a'
|
||||
let l:lang = $LANG
|
||||
else
|
||||
let l:lang = 'en_US'
|
||||
endif
|
||||
return split(l:lang, '_')
|
||||
endfunction
|
||||
|
||||
function! s:GlobPath(lp, pat)
|
||||
if version >= 704 && has('patch279')
|
||||
return globpath(a:lp, a:pat, 1, 1)
|
||||
else
|
||||
return split(globpath(a:lp, a:pat, 1), '\n')
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:Sort(a, b)
|
||||
let mod_a = fnamemodify(a:a, ':t')
|
||||
let mod_b = fnamemodify(a:b, ':t')
|
||||
if mod_a == mod_b
|
||||
let retval = 0
|
||||
elseif mod_a > mod_b
|
||||
if match(mod_a, '^vim-') > -1 && match(mod_b, '^vim-') == -1
|
||||
let retval = -1
|
||||
else
|
||||
let retval = 1
|
||||
endif
|
||||
else
|
||||
if match(mod_b, '^vim-') > -1 && match(mod_a, '^vim-') == -1
|
||||
let retval = 1
|
||||
else
|
||||
let retval = -1
|
||||
endif
|
||||
endif
|
||||
return retval
|
||||
endfunction
|
||||
|
||||
function! s:GlobTutorials(name)
|
||||
" search for tutorials:
|
||||
" 1. non-localized
|
||||
let l:tutors = s:GlobPath(&rtp, 'tutor/'.a:name.'.tutor')
|
||||
" 2. localized for current locale
|
||||
let l:locale_tutors = s:GlobPath(&rtp, 'tutor/'.s:Locale()[0].'/'.a:name.'.tutor')
|
||||
" 3. fallback to 'en'
|
||||
if len(l:locale_tutors) == 0
|
||||
let l:locale_tutors = s:GlobPath(&rtp, 'tutor/en/'.a:name.'.tutor')
|
||||
endif
|
||||
call extend(l:tutors, l:locale_tutors)
|
||||
return uniq(sort(l:tutors, 's:Sort'), 's:Sort')
|
||||
endfunction
|
||||
|
||||
function! tutor#TutorCmd(tutor_name)
|
||||
if match(a:tutor_name, '[[:space:]]') > 0
|
||||
echom "Only one argument accepted (check spaces)"
|
||||
return
|
||||
endif
|
||||
|
||||
if a:tutor_name == ''
|
||||
let l:tutor_name = 'vim-01-beginner.tutor'
|
||||
else
|
||||
let l:tutor_name = a:tutor_name
|
||||
endif
|
||||
|
||||
if match(l:tutor_name, '\.tutor$') > 0
|
||||
let l:tutor_name = fnamemodify(l:tutor_name, ':r')
|
||||
endif
|
||||
|
||||
let l:tutors = s:GlobTutorials(l:tutor_name)
|
||||
|
||||
if len(l:tutors) == 0
|
||||
echom "No tutorial with that name found"
|
||||
return
|
||||
endif
|
||||
|
||||
if len(l:tutors) == 1
|
||||
let l:to_open = l:tutors[0]
|
||||
else
|
||||
let l:idx = 0
|
||||
let l:candidates = ['Several tutorials with that name found. Select one:']
|
||||
for candidate in map(copy(l:tutors),
|
||||
\'fnamemodify(v:val, ":h:h:t")."/".s:Locale()[0]."/".fnamemodify(v:val, ":t")')
|
||||
let l:idx += 1
|
||||
call add(l:candidates, l:idx.'. '.candidate)
|
||||
endfor
|
||||
let l:tutor_to_open = inputlist(l:candidates)
|
||||
let l:to_open = l:tutors[l:tutor_to_open-1]
|
||||
endif
|
||||
|
||||
call tutor#SetupVim()
|
||||
exe "edit ".l:to_open
|
||||
endfunction
|
||||
|
||||
function! tutor#TutorCmdComplete(lead,line,pos)
|
||||
let l:tutors = s:GlobTutorials('*')
|
||||
let l:names = uniq(sort(map(l:tutors, 'fnamemodify(v:val, ":t:r")'), 's:Sort'))
|
||||
return join(l:names, "\n")
|
||||
endfunction
|
||||
@@ -1,6 +1,6 @@
|
||||
" Language: Typst
|
||||
" Maintainer: Gregory Anders
|
||||
" Last Change: 2024 Oct 21
|
||||
" Last Change: 2024 Nov 02
|
||||
" Based on: https://github.com/kaarmu/typst.vim
|
||||
|
||||
function! typst#indentexpr() abort
|
||||
@@ -18,6 +18,9 @@ function! typst#indentexpr() abort
|
||||
" Use last indent for block comments
|
||||
if l:synname == 'typstCommentBlock'
|
||||
return l:ind
|
||||
" do not change the indents of bullet lists
|
||||
elseif l:synname == 'typstMarkupBulletList'
|
||||
return indent(a:lnum)
|
||||
endif
|
||||
|
||||
if l:pline =~ '\v[{[(]\s*$'
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
" vim compiler file
|
||||
" Compiler: cppcheck (C++ static checker)
|
||||
" Maintainer: Vincent B. (twinside@free.fr)
|
||||
" Last Change: 2024 oct 17 by @Konfekt
|
||||
" Last Change: 2024 Nov 08 by @Konfekt
|
||||
|
||||
if exists("cppcheck")
|
||||
finish
|
||||
endif
|
||||
if exists("current_compiler") | finish | endif
|
||||
let current_compiler = "cppcheck"
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
set cpo&vim
|
||||
|
||||
let s:slash = has('win32')? '\' : '/'
|
||||
|
||||
@@ -27,7 +25,7 @@ let &l:makeprg = 'cppcheck --quiet'
|
||||
\ (filereadable('compile_commands.json') ? '--project=compile_commands.json' :
|
||||
\ (!empty(glob('*'..s:slash..'compile_commands.json', 1, 1)) ? '--project='..glob('*'..s:slash..'compile_commands.json', 1, 1)[0] :
|
||||
\ (empty(&path) ? '' : '-I')..join(map(filter(split(&path, ','), 'isdirectory(v:val)'),'shellescape(v:val)'), ' -I')))))
|
||||
silent CompilerSet makeprg
|
||||
exe 'CompilerSet makeprg='..escape(&l:makeprg, ' "')
|
||||
|
||||
CompilerSet errorformat=
|
||||
\%f:%l:%c:\ %tarning:\ %m,
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Maven
|
||||
" Maintainer: D. Ben Knoble <ben.knoble+vim@gmail.com>
|
||||
" Maintainer: Konfekt
|
||||
" Original Source: https://github.com/JalaiAmitahl/maven-compiler.vim/blob/master/compiler/mvn.vim
|
||||
" (Copyright Dan Taylor, distributed under the same terms as LICENSE)
|
||||
" Original Source: https://github.com/mikelue/vim-maven-plugin/blob/master/compiler/maven.vim
|
||||
" (distributed under same terms as LICENSE per
|
||||
" https://github.com/mikelue/vim-maven-plugin/issues/13)
|
||||
" Last Change: 2024 Nov 12
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "maven"
|
||||
|
||||
CompilerSet makeprg=mvn\ --batch-mode
|
||||
|
||||
" Error message for POM
|
||||
CompilerSet errorformat=[FATAL]\ Non-parseable\ POM\ %f:\ %m%\\s%\\+@%.%#line\ %l\\,\ column\ %c%.%#,
|
||||
CompilerSet errorformat+=[%tRROR]\ Malformed\ POM\ %f:\ %m%\\s%\\+@%.%#line\ %l\\,\ column\ %c%.%#
|
||||
|
||||
" Java related build messages
|
||||
CompilerSet errorformat+=[%tARNING]\ %f:[%l\\,%c]\ %m
|
||||
CompilerSet errorformat+=[%tRROR]\ %f:[%l\\,%c]\ %m
|
||||
CompilerSet errorformat+=%A[%t%[A-Z]%#]\ %f:[%l\\,%c]\ %m,%Z
|
||||
CompilerSet errorformat+=%A%f:[%l\\,%c]\ %m,%Z
|
||||
|
||||
" jUnit related build messages
|
||||
CompilerSet errorformat+=%+E\ \ %#test%m,%Z
|
||||
CompilerSet errorformat+=%+E[ERROR]\ Please\ refer\ to\ %f\ for\ the\ individual\ test\ results.
|
||||
" Message from JUnit 5(5.3.X), TestNG(6.14.X), JMockit(1.43), and AssertJ(3.11.X)
|
||||
CompilerSet errorformat+=%+E%>[ERROR]\ %.%\\+Time\ elapsed:%.%\\+<<<\ FAILURE!,
|
||||
CompilerSet errorformat+=%+E%>[ERROR]\ %.%\\+Time\ elapsed:%.%\\+<<<\ ERROR!,
|
||||
CompilerSet errorformat+=%+Z%\\s%#at\ %f(%\\f%\\+:%l),
|
||||
CompilerSet errorformat+=%+C%.%#
|
||||
|
||||
" Misc message removal
|
||||
CompilerSet errorformat+=%-G[INFO]\ %.%#,
|
||||
CompilerSet errorformat+=%-G[debug]\ %.%#
|
||||
@@ -0,0 +1,19 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Mypy (Python static checker)
|
||||
" Maintainer: @Konfekt
|
||||
" Last Change: 2024 Nov 07
|
||||
|
||||
if exists("current_compiler") | finish | endif
|
||||
let current_compiler = "mypy"
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=mypy
|
||||
let &l:makeprg = 'mypy --show-column-numbers '
|
||||
\ ..get(b:, 'mypy_makeprg_params', get(g:, 'mypy_makeprg_params', '--strict --ignore-missing-imports'))
|
||||
exe 'CompilerSet makeprg='..escape(&l:makeprg, ' "')
|
||||
CompilerSet errorformat=%f:%l:%c:\ %t%*[^:]:\ %m
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,13 +1,20 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Pylint for Python
|
||||
" Maintainer: Daniel Moch <daniel@danielmoch.com>
|
||||
" Last Change: 2016 May 20
|
||||
" 2024 Apr 03 by The Vim Project (removed :CompilerSet definition)
|
||||
" Compiler: Pylint for Python
|
||||
" Maintainer: Daniel Moch <daniel@danielmoch.com>
|
||||
" Last Change: 2024 Nov 07 by The Vim Project (added params variable)
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
if exists("current_compiler") | finish | endif
|
||||
let current_compiler = "pylint"
|
||||
|
||||
CompilerSet makeprg=pylint\ --output-format=text\ --msg-template=\"{path}:{line}:{column}:{C}:\ [{symbol}]\ {msg}\"\ --reports=no
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=ruff
|
||||
let &l:makeprg = 'pylint ' .
|
||||
\ '--output-format=text --msg-template="{path}:{line}:{column}:{C}: [{symbol}] {msg}" --reports=no ' .
|
||||
\ get(b:, "pylint_makeprg_params", get(g:, "pylint_makeprg_params", '--jobs=0'))
|
||||
exe 'CompilerSet makeprg='..escape(&l:makeprg, ' "')
|
||||
CompilerSet errorformat=%A%f:%l:%c:%t:\ %m,%A%f:%l:\ %m,%A%f:(%l):\ %m,%-Z%p^%.%#,%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Ruff (Python linter)
|
||||
" Maintainer: @pbnj-dragon
|
||||
" Last Change: 2024 Nov 07
|
||||
|
||||
if exists("current_compiler") | finish | endif
|
||||
let current_compiler = "ruff"
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=ruff
|
||||
let &l:makeprg= 'ruff check --output-format=concise '
|
||||
\ ..get(b:, 'ruff_makeprg_params', get(g:, 'ruff_makeprg_params', '--preview'))
|
||||
exe 'CompilerSet makeprg='..escape(&l:makeprg, ' "')
|
||||
CompilerSet errorformat=%f:%l:%c:\ %m,%f:%l:\ %m,%f:%l:%c\ -\ %m,%f:
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,7 +1,7 @@
|
||||
" The default vimrc file.
|
||||
"
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last change: 2023 Aug 10
|
||||
" Last Change: 2024 Nov 14
|
||||
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
"
|
||||
" This is loaded if no vimrc file was found.
|
||||
@@ -39,7 +39,6 @@ set backspace=indent,eol,start
|
||||
set history=200 " keep 200 lines of command line history
|
||||
set ruler " show the cursor position all the time
|
||||
set showcmd " display incomplete commands
|
||||
set wildmenu " display completion matches in a status line
|
||||
|
||||
set ttimeout " time out for key codes
|
||||
set ttimeoutlen=100 " wait up to 100ms after Esc for special key
|
||||
@@ -107,15 +106,15 @@ if 1
|
||||
" (happens when dropping a file on gvim), for a commit or rebase message
|
||||
" (likely a different one than last time), and when using xxd(1) to filter
|
||||
" and edit binary files (it transforms input files back and forth, causing
|
||||
" them to have dual nature, so to speak)
|
||||
" them to have dual nature, so to speak) or when running the new tutor
|
||||
autocmd BufReadPost *
|
||||
\ let line = line("'\"")
|
||||
\ | if line >= 1 && line <= line("$") && &filetype !~# 'commit'
|
||||
\ && index(['xxd', 'gitrebase'], &filetype) == -1
|
||||
\ && index(['xxd', 'gitrebase', 'tutor'], &filetype) == -1
|
||||
\ | execute "normal! g`\""
|
||||
\ | endif
|
||||
|
||||
" Set the default background for putty to dark. Putty usually sets the
|
||||
" Set the default background for putty to dark. Putty usually sets the
|
||||
" $TERM to xterm and by default it starts with a dark background which
|
||||
" makes syntax highlighting often hard to read with bg=light
|
||||
" undo this using: ":au! vimStartup TermResponse"
|
||||
|
||||
@@ -76,6 +76,7 @@ DOCS = \
|
||||
pi_paren.txt \
|
||||
pi_spec.txt \
|
||||
pi_tar.txt \
|
||||
pi_tutor.txt \
|
||||
pi_vimball.txt \
|
||||
pi_zip.txt \
|
||||
popup.txt \
|
||||
@@ -230,6 +231,7 @@ HTMLS = \
|
||||
pi_paren.html \
|
||||
pi_spec.html \
|
||||
pi_tar.html \
|
||||
pi_tutor.html \
|
||||
pi_vimball.html \
|
||||
pi_zip.html \
|
||||
popup.html \
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
# TODO: to think about what to use instead of awk. PowerShell?
|
||||
#AWK =
|
||||
|
||||
# Correct the following line for the where executeable file vim is installed.
|
||||
# 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
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ test_urls:
|
||||
$(VIMPROG) --clean -S test_urls.vim
|
||||
|
||||
clean:
|
||||
-rm -f doctags *.html tags.ref
|
||||
-rm -f doctags *.html tags.ref tags-* vim-stylesheet.css
|
||||
|
||||
# These files are in the extra archive, skip if not present
|
||||
|
||||
|
||||
+33
-10
@@ -1,4 +1,4 @@
|
||||
*builtin.txt* For Vim version 9.1. Last change: 2024 Nov 01
|
||||
*builtin.txt* For Vim version 9.1. Last change: 2024 Nov 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -222,6 +222,7 @@ getbufline({buf}, {lnum} [, {end}])
|
||||
getbufoneline({buf}, {lnum}) String line {lnum} of buffer {buf}
|
||||
getbufvar({buf}, {varname} [, {def}])
|
||||
any variable {varname} in buffer {buf}
|
||||
getcellpixels() List get character cell pixel size
|
||||
getcellwidths() List get character cell width overrides
|
||||
getchangelist([{buf}]) List list of change list items
|
||||
getchar([{expr}]) Number or String
|
||||
@@ -467,9 +468,9 @@ prop_type_get({name} [, {props}])
|
||||
prop_type_list([{props}]) List get list of property types
|
||||
pum_getpos() Dict position and size of pum if visible
|
||||
pumvisible() Number whether popup menu is visible
|
||||
py3eval({expr}) any evaluate |python3| expression
|
||||
pyeval({expr}) any evaluate |Python| expression
|
||||
pyxeval({expr}) any evaluate |python_x| expression
|
||||
py3eval({expr} [, {locals}]) any evaluate |python3| expression
|
||||
pyeval({expr} [, {locals}]) any evaluate |Python| expression
|
||||
pyxeval({expr} [, {locals}]) any evaluate |python_x| expression
|
||||
rand([{expr}]) Number get pseudo-random number
|
||||
range({expr} [, {max} [, {stride}]])
|
||||
List items from {expr} to {max}
|
||||
@@ -3788,6 +3789,20 @@ getbufvar({buf}, {varname} [, {def}]) *getbufvar()*
|
||||
Return type: any, depending on {varname}
|
||||
|
||||
|
||||
getcellpixels() *getcellpixels()*
|
||||
Returns a |List| of terminal cell pixel size.
|
||||
List format is [xpixels, ypixels].
|
||||
|
||||
Only works on Unix (terminal and gVim) and Windows (gVim only).
|
||||
Returns [] on other systems or on failure.
|
||||
Note that there could be variations across different terminals.
|
||||
On macOS, system Terminal.app returns sizes in points (before
|
||||
Retina scaling), whereas third-party terminals return raw pixel
|
||||
sizes (post Retina scaling).
|
||||
|
||||
Return type: list<any>
|
||||
|
||||
|
||||
getcellwidths() *getcellwidths()*
|
||||
Returns a |List| of cell widths of character ranges overridden
|
||||
by |setcellwidths()|. The format is equal to the argument of
|
||||
@@ -5205,7 +5220,7 @@ glob({expr} [, {nosuf} [, {list} [, {alllinks}]]]) *glob()*
|
||||
on {list}
|
||||
|
||||
|
||||
glob2regpat({string}) *glob2regpat()*
|
||||
glob2regpat({string}) *glob2regpat()*
|
||||
Convert a file pattern, as used by glob(), into a search
|
||||
pattern. The result can be used to match with a string that
|
||||
is a file name. E.g. >
|
||||
@@ -5658,7 +5673,7 @@ iconv({string}, {from}, {to}) *iconv()*
|
||||
Return type: |String|
|
||||
|
||||
|
||||
id({item}) *id()*
|
||||
id({item}) *id()*
|
||||
The result is a unique String associated with the {item} and
|
||||
not with the {item}'s contents. It is only valid while the
|
||||
{item} exists and is referenced. It is valid only in the
|
||||
@@ -7083,7 +7098,7 @@ matchbufline({buf}, {pat}, {lnum}, {end}, [, {dict}])
|
||||
Return type: list<dict<any>> or list<any>
|
||||
|
||||
|
||||
matchdelete({id} [, {win}) *matchdelete()* *E802* *E803*
|
||||
matchdelete({id} [, {win}) *matchdelete()* *E802* *E803*
|
||||
Deletes a match with ID {id} previously defined by |matchadd()|
|
||||
or one of the |:match| commands. Returns 0 if successful,
|
||||
otherwise -1. See example for |matchadd()|. All matches can
|
||||
@@ -8129,9 +8144,14 @@ pumvisible() *pumvisible()*
|
||||
Return type: |Number|
|
||||
|
||||
|
||||
py3eval({expr}) *py3eval()*
|
||||
py3eval({expr} [, {locals}]) *py3eval()*
|
||||
Evaluate Python expression {expr} and return its result
|
||||
converted to Vim data structures.
|
||||
If a {locals} |Dictionary| is given, it defines set of local
|
||||
variables available in the expression. The keys are variable
|
||||
names and the values are the variable values. |Dictionary| and
|
||||
|List| values are referenced, and may be updated by the
|
||||
expression (as if |python-bindeval| was used).
|
||||
Numbers and strings are returned as they are (strings are
|
||||
copied though, Unicode strings are additionally converted to
|
||||
'encoding').
|
||||
@@ -8143,15 +8163,17 @@ py3eval({expr}) *py3eval()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetExpr()->py3eval()
|
||||
'b",".join(l)'->py3eval({'l': ['a', 'b', 'c']})
|
||||
<
|
||||
Return type: any, depending on {expr}
|
||||
|
||||
{only available when compiled with the |+python3| feature}
|
||||
|
||||
*E858* *E859*
|
||||
pyeval({expr}) *pyeval()*
|
||||
pyeval({expr} [, {locals}]) *pyeval()*
|
||||
Evaluate Python expression {expr} and return its result
|
||||
converted to Vim data structures.
|
||||
For {locals} see |py3eval()|.
|
||||
Numbers and strings are returned as they are (strings are
|
||||
copied though).
|
||||
Lists are represented as Vim |List| type.
|
||||
@@ -8167,9 +8189,10 @@ pyeval({expr}) *pyeval()*
|
||||
|
||||
{only available when compiled with the |+python| feature}
|
||||
|
||||
pyxeval({expr}) *pyxeval()*
|
||||
pyxeval({expr} [, {locals}]) *pyxeval()*
|
||||
Evaluate Python expression {expr} and return its result
|
||||
converted to Vim data structures.
|
||||
For {locals} see |py3eval()|.
|
||||
Uses Python 2 or 3, see |python_x| and 'pyxversion'.
|
||||
See also: |pyeval()|, |py3eval()|
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 9.1. Last change: 2024 Oct 07
|
||||
*change.txt* For Vim version 9.1. Last change: 2024 Nov 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -586,6 +586,8 @@ comment (starting with '"') after the `:!` command.
|
||||
program {filter} (for {Visual} see |Visual-mode|).
|
||||
|
||||
:{range}![!]{filter} [!][arg] *:range!*
|
||||
For executing external commands see |:!|
|
||||
|
||||
Filter {range} lines through the external program
|
||||
{filter}. Vim replaces the optional bangs with the
|
||||
latest given command and appends the optional [arg].
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 9.1. Last change: 2024 Oct 31
|
||||
*develop.txt* For Vim version 9.1. Last change: 2024 Nov 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -166,6 +166,10 @@ stick to these rules, to keep the sources readable and maintainable.
|
||||
|
||||
This list is not complete. Look in the source code for more examples.
|
||||
|
||||
The code repository contains an editorconfig file, that can be used together
|
||||
with the distributed editorconfig plugin |editorconfig-install| to ensure the
|
||||
recommended style is followed.
|
||||
|
||||
|
||||
MAKING CHANGES *style-changes*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 9.1. Last change: 2024 Oct 28
|
||||
*eval.txt* For Vim version 9.1. Last change: 2024 Nov 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -2027,10 +2027,6 @@ v:cmdbang Set like v:cmdarg for a file read/write command. When a "!"
|
||||
can only be used in autocommands. For user commands |<bang>|
|
||||
can be used.
|
||||
|
||||
*v:cmdcomplete* *cmdcomplete-variable*
|
||||
v:cmdcomplete When evaluating 'findexpr': if 'findexpr' is used for cmdline
|
||||
completion the value is |v:true|, otherwise it is |v:false|.
|
||||
|
||||
*v:collate* *collate-variable*
|
||||
v:collate The current locale setting for collation order of the runtime
|
||||
environment. This allows Vim scripts to be aware of the
|
||||
@@ -2228,8 +2224,7 @@ v:fcs_choice What should happen after a |FileChangedShell| event was
|
||||
|
||||
*v:fname* *fname-variable*
|
||||
v:fname When evaluating 'includeexpr': the file name that was
|
||||
detected. When evaluating 'findexpr': the argument passed to
|
||||
the |:find| command. Empty otherwise.
|
||||
detected. Empty otherwise.
|
||||
|
||||
*v:fname_in* *fname_in-variable*
|
||||
v:fname_in The name of the input file. Valid while evaluating:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*filetype.txt* For Vim version 9.1. Last change: 2024 Oct 21
|
||||
*filetype.txt* For Vim version 9.1. Last change: 2024 Nov 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -667,6 +667,19 @@ HARE *ft-hare*
|
||||
Since the text for this plugin is rather long it has been put in a separate
|
||||
file: |ft_hare.txt|.
|
||||
|
||||
IDRIS2 *ft-idris2-plugin*
|
||||
|
||||
By default the following options are set: >
|
||||
|
||||
setlocal shiftwidth=2 tabstop=2 expandtab
|
||||
setlocal comments=s1:{-,mb:-,ex:-},:\|\|\|,:--
|
||||
setlocal commentstring=--\ %s
|
||||
setlocal wildignore+=*.ibc
|
||||
|
||||
To use tabs instead of spaces for indentation, set the following variable
|
||||
in your vimrc: >
|
||||
|
||||
let g:idris2#allow_tabchar = 1
|
||||
|
||||
JAVA *ft-java-plugin*
|
||||
|
||||
@@ -830,6 +843,12 @@ To enable folding use this: >
|
||||
let g:markdown_recommended_style = 0
|
||||
|
||||
|
||||
ORG *ft-org-plugin*
|
||||
|
||||
To enable folding use this: >
|
||||
let g:org_folding = 1
|
||||
<
|
||||
|
||||
PDF *ft-pdf-plugin*
|
||||
|
||||
Two maps, <C-]> and <C-T>, are provided to simulate a tag stack for navigating
|
||||
@@ -946,8 +965,8 @@ To enable: >
|
||||
let g:typst_folding = 1
|
||||
<
|
||||
*g:typst_foldnested*
|
||||
When |TRUE| the Typst filetype plugin will fold nested heading under their parents
|
||||
(default: |TRUE|)
|
||||
When |TRUE| the Typst filetype plugin will fold nested heading under their
|
||||
parents. (default: |TRUE|)
|
||||
|
||||
To disable: >
|
||||
let g:typst_foldnested = 0
|
||||
|
||||
+3
-1
@@ -1,4 +1,4 @@
|
||||
*gui.txt* For Vim version 9.1. Last change: 2024 Jul 17
|
||||
*gui.txt* For Vim version 9.1. Last change: 2024 Nov 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -475,6 +475,8 @@ When the "unnamed" string is included in the 'clipboard' option, the unnamed
|
||||
register is the same as the "* register. Thus you can yank to and paste the
|
||||
selection without prepending "* to commands.
|
||||
|
||||
See also |W23| and |W24|.
|
||||
|
||||
==============================================================================
|
||||
5. Menus *menus*
|
||||
|
||||
|
||||
+28
-1
@@ -1,4 +1,4 @@
|
||||
*gui_x11.txt* For Vim version 9.1. Last change: 2024 Apr 22
|
||||
*gui_x11.txt* For Vim version 9.1. Last change: 2024 Nov 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -717,6 +717,33 @@ Examples: (assuming the default option values)
|
||||
Note that the text in the "+ register remains available when making a Visual
|
||||
selection, which makes other text available in the "* register. That allows
|
||||
overwriting selected text.
|
||||
|
||||
*W23*
|
||||
When you are yanking into the "* or "+ register and Vim cannot establish a
|
||||
connection to the X11 selection (or clipboard), it will use register 0 and
|
||||
output a warning:
|
||||
|
||||
Warning: Clipboard register not available, using register 0 ~
|
||||
|
||||
*W24*
|
||||
Vim comes in different flavors, from a tiny build, that just tries to be
|
||||
compatible to original Vi, to enhanced builds which include many improvements
|
||||
(like a GUI). However, on servers and embedded systems, Vim is typically
|
||||
compiled without clipboard support, since this feature requires X11 libraries
|
||||
to be present. Check the ":version" output for the flag |+clipboard| or
|
||||
-clipboard. The former means clipboard support is present while the latter
|
||||
means your Vim does not contain clipboard support.
|
||||
|
||||
In the case when you are trying to access the "* or "+ register and Vim has
|
||||
no clipboard support, you will see this warning:
|
||||
|
||||
Warning: Clipboard register not available. See :h W24~
|
||||
|
||||
If you have a vim with no clipboard support but would like to use the
|
||||
clipboard, try to install a more enhanced Vim package like vim-enhanced or
|
||||
vim-gtk3 (the gui packages usually also come with a terminal Vim that has
|
||||
clipboard support included).
|
||||
|
||||
*x11-cut-buffer*
|
||||
There are, by default, 8 cut-buffers: CUT_BUFFER0 to CUT_BUFFER7. Vim only
|
||||
uses CUT_BUFFER0, which is the one that xterm uses by default.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*help.txt* For Vim version 9.1. Last change: 2024 May 27
|
||||
*help.txt* For Vim version 9.1. Last change: 2024 Nov 07
|
||||
|
||||
VIM - main help file
|
||||
k
|
||||
@@ -233,6 +233,7 @@ Standard plugins ~
|
||||
|pi_paren.txt| Highlight matching parens
|
||||
|pi_spec.txt| Filetype plugin to work with rpm spec files
|
||||
|pi_tar.txt| Tar file explorer
|
||||
|pi_tutor.txt| Interactive tutorial for Vim
|
||||
|pi_vimball.txt| Create a self-installing Vim script
|
||||
|pi_zip.txt| Zip archive explorer
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*helphelp.txt* For Vim version 9.1. Last change: 2024 Apr 10
|
||||
*helphelp.txt* For Vim version 9.1. Last change: 2024 Nov 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -246,6 +246,62 @@ command: >
|
||||
To rebuild the help tags in the runtime directory
|
||||
(requires write permission there): >
|
||||
:helptags $VIMRUNTIME/doc
|
||||
<
|
||||
*help-TOC* *help-toc-install*
|
||||
|
||||
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: >
|
||||
|
||||
packadd helptoc
|
||||
|
||||
Then you can use the `:HelpToc` command to open a popup menu.
|
||||
The latter supports the following normal commands: >
|
||||
|
||||
key | effect
|
||||
----+---------------------------------------------------------
|
||||
j | select next entry
|
||||
k | select previous entry
|
||||
J | same as j, and jump to corresponding line in main buffer
|
||||
K | same as k, and jump to corresponding line in main buffer
|
||||
c | select nearest entry from cursor position in main buffer
|
||||
g | select first entry
|
||||
G | select last entry
|
||||
H | collapse one level
|
||||
L | expand one level
|
||||
p | print current entry on command-line
|
||||
|
||||
P | same as p but automatically, whenever selection changes
|
||||
| press multiple times to toggle feature on/off
|
||||
|
||||
q | quit menu
|
||||
z | redraw menu with current entry at center
|
||||
+ | increase width of popup menu
|
||||
- | decrease width of popup menu
|
||||
? | show/hide a help window
|
||||
/ | search for pattern
|
||||
|
||||
<C-D> | scroll down half a page
|
||||
<C-U> | scroll up half a page
|
||||
<PageUp> | scroll down a whole page
|
||||
<PageDown> | scroll up a whole page
|
||||
<Home> | select first entry
|
||||
<End> | select last entry
|
||||
|
||||
The plugin can also provide a table of contents in man pages, markdown files,
|
||||
and terminal buffers. In the latter, the entries will be the past executed
|
||||
shell commands. To find those, the following pattern is used: >
|
||||
|
||||
^\w\+@\w\+:\f\+\$\s
|
||||
|
||||
This is meant to match a default bash prompt. If it doesn't match your prompt,
|
||||
you can change the regex with the `shell_prompt` key from the `g:helptoc`
|
||||
dictionary variable: >
|
||||
|
||||
let g:helptoc = {'shell_prompt': 'regex matching your shell prompt'}
|
||||
|
||||
Tip: After inserting a pattern to look for with the `/` command, if you press
|
||||
<Esc> instead of <CR>, you can then get more context for each remaining entry
|
||||
by pressing `J` or `K`.
|
||||
|
||||
==============================================================================
|
||||
2. Translated help files *help-translated*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 9.1. Last change: 2024 May 16
|
||||
*if_pyth.txt* For Vim version 9.1. Last change: 2024 Nov 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -201,6 +201,10 @@ vim.eval(str) *python-eval*
|
||||
[{'cmd': '/^eval_expr(arg, nextcmd)$/', 'static': 0, 'name': ~
|
||||
'eval_expr', 'kind': 'f', 'filename': './src/eval.c'}] ~
|
||||
|
||||
NOTE: In Vim9 script, local variables in def functions are not visible
|
||||
to python evaluations. To pass local variables to python evaluations,
|
||||
use the {locals} dict when calling |py3eval()| and friends.
|
||||
|
||||
vim.bindeval(str) *python-bindeval*
|
||||
Like |python-eval|, but returns special objects described in
|
||||
|python-bindeval-objects|. These python objects let you modify (|List|
|
||||
@@ -741,6 +745,10 @@ To facilitate bi-directional interface, you can use |pyeval()| and |py3eval()|
|
||||
functions to evaluate Python expressions and pass their values to Vim script.
|
||||
|pyxeval()| is also available.
|
||||
|
||||
You can inject local variables into the evaluation using the optional {locals}
|
||||
dict. This can be particularly useful in vim9script where vim.eval
|
||||
|python-eval| will not find locals in a def func.
|
||||
|
||||
The Python value "None" is converted to v:none.
|
||||
|
||||
==============================================================================
|
||||
|
||||
+33
-1
@@ -1,4 +1,4 @@
|
||||
*indent.txt* For Vim version 9.1. Last change: 2024 Oct 05
|
||||
*indent.txt* For Vim version 9.1. Last change: 2024 Nov 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -813,6 +813,38 @@ Detail:
|
||||
: GetCSSIndent() else
|
||||
<!-- --> : -1
|
||||
|
||||
IDRIS2 *ft-idris2-indent*
|
||||
|
||||
Idris 2 indentation can be configured with several variables that control the
|
||||
indentation level for different language constructs:
|
||||
|
||||
The "g:idris2_indent_if" variable controls the indentation of `then` and `else`
|
||||
blocks after `if` statements. Defaults to 3.
|
||||
|
||||
The "g:idris2_indent_case" variable controls the indentation of patterns in
|
||||
`case` expressions. Defaults to 5.
|
||||
|
||||
The "g:idris2_indent_let" variable controls the indentation after `let`
|
||||
bindings. Defaults to 4.
|
||||
|
||||
The "g:idris2_indent_rewrite" variable controls the indentation after `rewrite`
|
||||
expressions. Defaults to 8.
|
||||
|
||||
The "g:idris2_indent_where" variable controls the indentation of `where`
|
||||
blocks. Defaults to 6.
|
||||
|
||||
The "g:idris2_indent_do" variable controls the indentation in `do` blocks.
|
||||
Defaults to 3.
|
||||
|
||||
Example configuration: >
|
||||
|
||||
let g:idris2_indent_if = 2
|
||||
let g:idris2_indent_case = 4
|
||||
let g:idris2_indent_let = 4
|
||||
let g:idris2_indent_rewrite = 8
|
||||
let g:idris2_indent_where = 6
|
||||
let g:idris2_indent_do = 3
|
||||
<
|
||||
|
||||
MATLAB *ft-matlab-indent* *matlab-indent* *matlab-indenting*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 9.1. Last change: 2024 Mar 13
|
||||
*message.txt* For Vim version 9.1. Last change: 2024 Nov 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -29,7 +29,7 @@ depends on the 'shortmess' option.
|
||||
Clear messages, keeping only the {count} most
|
||||
recent ones.
|
||||
|
||||
The number of remembered messages is fixed at 200.
|
||||
The number of remembered messages is determined by the 'msghistory' option.
|
||||
|
||||
*g<*
|
||||
The "g<" command can be used to see the last page of previous command output.
|
||||
|
||||
+38
-30
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 9.1. Last change: 2024 Oct 28
|
||||
*options.txt* For Vim version 9.1. Last change: 2024 Nov 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -439,10 +439,11 @@ Note: In the future more global options can be made |global-local|. Using
|
||||
":setlocal" on a global option might work differently then.
|
||||
|
||||
*option-value-function*
|
||||
Some options ('completefunc', 'imactivatefunc', 'imstatusfunc', 'omnifunc',
|
||||
'operatorfunc', 'quickfixtextfunc', 'tagfunc' and 'thesaurusfunc') are set to
|
||||
a function name or a function reference or a lambda function. When using a
|
||||
lambda it will be converted to the name, e.g. "<lambda>123". Examples:
|
||||
Some options ('completefunc', 'findfunc', 'imactivatefunc', 'imstatusfunc',
|
||||
'omnifunc', 'operatorfunc', 'quickfixtextfunc', 'tagfunc' and 'thesaurusfunc')
|
||||
are set to a function name or a function reference or a lambda function. When
|
||||
using a lambda it will be converted to the name, e.g. "<lambda>123".
|
||||
Examples:
|
||||
>
|
||||
set opfunc=MyOpFunc
|
||||
set opfunc=function('MyOpFunc')
|
||||
@@ -3529,7 +3530,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Only alphanumeric characters, '-' and '_' can be used.
|
||||
|
||||
*'fillchars'* *'fcs'*
|
||||
'fillchars' 'fcs' string (default "vert:|,fold:-,eob:~")
|
||||
'fillchars' 'fcs' string (default "vert:|,fold:-,eob:~,lastline:@")
|
||||
global or local to window |global-local|
|
||||
Characters to fill the statuslines, vertical separators and special
|
||||
lines in the window.
|
||||
@@ -3567,36 +3568,36 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
eob EndOfBuffer |hl-EndOfBuffer|
|
||||
lastline NonText |hl-NonText|
|
||||
|
||||
*'findexpr'* *'fexpr'* *E1514*
|
||||
'findexpr' 'fexpr' string (default "")
|
||||
*'findfunc'* *'ffu'* *E1514*
|
||||
'findfunc' 'ffu' string (default empty)
|
||||
global or local to buffer |global-local|
|
||||
{not available when compiled without the |+eval|
|
||||
feature}
|
||||
Expression that is evaluated to obtain the filename(s) for the |:find|
|
||||
Function that is called to obtain the filename(s) for the |:find|
|
||||
command. When this option is empty, the internal |file-searching|
|
||||
mechanism is used.
|
||||
|
||||
While evaluating the expression, the |v:fname| variable is set to the
|
||||
argument of the |:find| command.
|
||||
The value can be the name of a function, a |lambda| or a |Funcref|.
|
||||
See |option-value-function| for more information.
|
||||
|
||||
The expression is evaluated only once per |:find| command invocation.
|
||||
The expression can process all the directories specified in 'path'.
|
||||
The function is called with two arguments. The first argument is a
|
||||
|String| and is the |:find| command argument. The second argument is
|
||||
a |Boolean| and is set to |v:true| when the function is called to get
|
||||
a List of command-line completion matches for the |:find| command.
|
||||
The function should return a List of strings.
|
||||
|
||||
The expression may be evaluated for command-line completion as well,
|
||||
in which case the |v:cmdcomplete| variable will be set to |v:true|,
|
||||
otherwise it will be set to |v:false|.
|
||||
The function is called only once per |:find| command invocation.
|
||||
The function can process all the directories specified in 'path'.
|
||||
|
||||
If a match is found, the expression should return a |List| containing
|
||||
one or more file names. If a match is not found, the expression
|
||||
If a match is found, the function should return a |List| containing
|
||||
one or more file names. If a match is not found, the function
|
||||
should return an empty List.
|
||||
|
||||
If any errors are encountered during the expression evaluation, an
|
||||
If any errors are encountered during the function invocation, an
|
||||
empty List is used as the return value.
|
||||
|
||||
Using a function call without arguments is faster |expr-option-function|
|
||||
|
||||
It is not allowed to change text or jump to another window while
|
||||
evaluating 'findexpr' |textlock|.
|
||||
executing the 'findfunc' |textlock|.
|
||||
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
@@ -3604,18 +3605,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Examples:
|
||||
>
|
||||
" Use glob()
|
||||
func FindExprGlob()
|
||||
let pat = v:cmdcomplete ? $'{v:fname}*' : v:fname
|
||||
func FindFuncGlob(cmdarg, cmdcomplete)
|
||||
let pat = a:cmdcomplete ? $'{a:cmdarg}*' : a:cmdarg
|
||||
return glob(pat, v:false, v:true)
|
||||
endfunc
|
||||
set findexpr=FindExprGlob()
|
||||
set findfunc=FindFuncGlob
|
||||
|
||||
" Use the 'git ls-files' output
|
||||
func FindGitFiles()
|
||||
func FindGitFiles(cmdarg, cmdcomplete)
|
||||
let fnames = systemlist('git ls-files')
|
||||
return fnames->filter('v:val =~? v:fname')
|
||||
return fnames->filter('v:val =~? a:cmdarg')
|
||||
endfunc
|
||||
set findexpr=FindGitFiles()
|
||||
set findfunc=FindGitFiles
|
||||
<
|
||||
*'fixendofline'* *'fixeol'* *'nofixendofline'* *'nofixeol'*
|
||||
'fixendofline' 'fixeol' boolean (default on)
|
||||
@@ -4533,7 +4534,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global
|
||||
A history of ":" commands, and a history of previous search patterns
|
||||
is remembered. This option decides how many entries may be stored in
|
||||
each of these histories (see |cmdline-editing|).
|
||||
each of these histories (see |cmdline-editing| and 'msghistory' for
|
||||
the number of messages to remember).
|
||||
The maximum value is 10000.
|
||||
NOTE: This option is set to the Vi default value when 'compatible' is
|
||||
set and to the Vim default value when 'compatible' is reset.
|
||||
@@ -6047,6 +6049,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
time in msec between two mouse clicks for the second click to be
|
||||
recognized as a multi click.
|
||||
|
||||
*'msghistory'* *'mhi'*
|
||||
'msghistory' 'mhi' number (default 500)
|
||||
global
|
||||
Determines how many entries are remembered in the |:messages| history.
|
||||
The maximum value is 10000.
|
||||
|
||||
*'mzquantum'* *'mzq'*
|
||||
'mzquantum' 'mzq' number (default 100)
|
||||
global
|
||||
@@ -9573,7 +9581,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
happens when there are special characters.
|
||||
|
||||
*'wildmenu'* *'wmnu'* *'nowildmenu'* *'nowmnu'*
|
||||
'wildmenu' 'wmnu' boolean (default off, set in |defaults.vim|)
|
||||
'wildmenu' 'wmnu' boolean (default on)
|
||||
global
|
||||
When 'wildmenu' is on, command-line completion operates in an enhanced
|
||||
mode. On pressing 'wildchar' (usually <Tab>) to invoke completion,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_mac.txt* For Vim version 9.1. Last change: 2019 Apr 21
|
||||
*os_mac.txt* For Vim version 9.1. Last change: 2024 Nov 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -122,9 +122,13 @@ Shift-Control-2.
|
||||
|
||||
When reporting any Mac specific bug or feature change, please use the vim-mac
|
||||
maillist |vim-mac|. However, you need to be subscribed. An alternative is to
|
||||
send a message to the current MacVim maintainers:
|
||||
report issues either directly at the Vim github repository:
|
||||
|
||||
mac@vim.org
|
||||
https://github.com/vim/vim/issues
|
||||
|
||||
or for MacVim specific issues, you may report those over here:
|
||||
|
||||
https://github.com/macvim-dev/macvim/issues
|
||||
|
||||
==============================================================================
|
||||
7. Compiling Vim *mac-compile*
|
||||
|
||||
+19
-19
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 9.1. Last change: 2024 Jun 18
|
||||
*pattern.txt* For Vim version 9.1. Last change: 2024 Nov 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -164,7 +164,7 @@ or auto suspended with nohlsearch plugin. See |nohlsearch-install|.
|
||||
|
||||
|
||||
When 'shortmess' does not include the "S" flag, Vim will automatically show an
|
||||
index, on which the cursor is. This can look like this: >
|
||||
index, on which the cursor is. This can look like this: >
|
||||
|
||||
[1/5] Cursor is on first of 5 matches.
|
||||
[1/>99] Cursor is on first of more than 99 matches.
|
||||
@@ -757,7 +757,7 @@ overview.
|
||||
\([a-z]\+\)\zs,\1 ",abc" in "abc,abc"
|
||||
|
||||
\@123<=
|
||||
Like "\@<=" but only look back 123 bytes. This avoids trying lots
|
||||
Like "\@<=" but only look back 123 bytes. This avoids trying lots
|
||||
of matches that are known to fail and make executing the pattern very
|
||||
slow. Example, check if there is a "<" just before "span":
|
||||
/<\@1<=span
|
||||
@@ -783,7 +783,7 @@ overview.
|
||||
\(\/\/.*\)\@<!in "in" which is not after "//"
|
||||
|
||||
\@123<!
|
||||
Like "\@<!" but only look back 123 bytes. This avoids trying lots of
|
||||
Like "\@<!" but only look back 123 bytes. This avoids trying lots of
|
||||
matches that are known to fail and make executing the pattern very
|
||||
slow.
|
||||
|
||||
@@ -907,7 +907,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
inside the Visual area put it at the start and just before the end of
|
||||
the pattern, e.g.: >
|
||||
/\%Vfoo.*ba\%Vr
|
||||
< This also works if only "foo bar" was Visually selected. This: >
|
||||
< This also works if only "foo bar" was Visually selected. This: >
|
||||
/\%Vfoo.*bar\%V
|
||||
< would match "foo bar" if the Visual selection continues after the "r".
|
||||
Only works for the current buffer.
|
||||
@@ -1014,7 +1014,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
< To match all characters after the current virtual column (where the
|
||||
cursor is): >
|
||||
/\%>.v.*
|
||||
< Column 17 is not included, because this is a |/zero-width| match. To
|
||||
< Column 17 is not included, because this is a |/zero-width| match. To
|
||||
include the column use: >
|
||||
/^.*\%17v.
|
||||
< This command does the same thing, but also matches when there is no
|
||||
@@ -1138,11 +1138,11 @@ x A single character, with no special meaning, matches itself
|
||||
in the collection: "[^xyz]" matches anything but 'x', 'y' and 'z'.
|
||||
- If two characters in the sequence are separated by '-', this is
|
||||
shorthand for the full list of ASCII characters between them. E.g.,
|
||||
"[0-9]" matches any decimal digit. If the starting character exceeds
|
||||
the ending character, e.g. [c-a], E944 occurs. Non-ASCII characters
|
||||
"[0-9]" matches any decimal digit. If the starting character exceeds
|
||||
the ending character, e.g. [c-a], E944 occurs. Non-ASCII characters
|
||||
can be used, but the character values must not be more than 256 apart
|
||||
in the old regexp engine. For example, searching by [\u3000-\u4000]
|
||||
after setting re=1 emits a E945 error. Prepending \%#=2 will fix it.
|
||||
in the old regexp engine. For example, searching by [\u3000-\u4000]
|
||||
after setting re=1 emits a E945 error. Prepending \%#=2 will fix it.
|
||||
- A character class expression is evaluated to the set of characters
|
||||
belonging to that character class. The following character classes
|
||||
are supported:
|
||||
@@ -1208,7 +1208,7 @@ x A single character, with no special meaning, matches itself
|
||||
any character that's not in "^]-\bdertnoUux". "[\xyz]" matches '\',
|
||||
'x', 'y' and 'z'. It's better to use "\\" though, future expansions
|
||||
may use other characters after '\'.
|
||||
- Omitting the trailing ] is not considered an error. "[]" works like
|
||||
- Omitting the trailing ] is not considered an error. "[]" works like
|
||||
"[]]", it matches the ']' character.
|
||||
- The following translations are accepted when the 'l' flag is not
|
||||
included in 'cpoptions':
|
||||
@@ -1444,14 +1444,14 @@ Finally, these constructs are unique to Perl:
|
||||
display you may get unexpected results. That is because Vim
|
||||
looks for a match in the line where redrawing starts.
|
||||
|
||||
Also see |matcharg()| and |getmatches()|. The former returns
|
||||
Also see |matcharg()| and |getmatches()|. The former returns
|
||||
the highlight group and pattern of a previous |:match|
|
||||
command. The latter returns a list with highlight groups and
|
||||
patterns defined by both |matchadd()| and |:match|.
|
||||
|
||||
Highlighting matches using |:match| are limited to three
|
||||
matches (aside from |:match|, |:2match| and |:3match| are
|
||||
available). |matchadd()| does not have this limitation and in
|
||||
available). |matchadd()| does not have this limitation and in
|
||||
addition makes it possible to prioritize matches.
|
||||
|
||||
Another example, which highlights all characters in virtual
|
||||
@@ -1480,7 +1480,7 @@ Finally, these constructs are unique to Perl:
|
||||
with the lowest number has priority if several match at the
|
||||
same position. It uses the match id 3.
|
||||
The ":3match" command is used by (Vim < 9.0.2054) |matchparen|
|
||||
plugin. You are suggested to use ":match" for manual matching
|
||||
plugin. You are suggested to use ":match" for manual matching
|
||||
and ":2match" for another plugin or even better make use of
|
||||
the more flexible |matchadd()| (and similar) functions instead.
|
||||
|
||||
@@ -1489,10 +1489,10 @@ Finally, these constructs are unique to Perl:
|
||||
|
||||
Fuzzy matching refers to matching strings using a non-exact search string.
|
||||
Fuzzy matching will match a string, if all the characters in the search string
|
||||
are present anywhere in the string in the same order. Case is ignored. In a
|
||||
are present anywhere in the string in the same order. Case is ignored. In a
|
||||
matched string, other characters can be present between two consecutive
|
||||
characters in the search string. If the search string has multiple words, then
|
||||
each word is matched separately. So the words in the search string can be
|
||||
characters in the search string. If the search string has multiple words, then
|
||||
each word is matched separately. So the words in the search string can be
|
||||
present in any order in a string.
|
||||
|
||||
Fuzzy matching assigns a score for each matched string based on the following
|
||||
@@ -1511,8 +1511,8 @@ will match the strings "GetPattern", "PatternGet", "getPattern", "patGetter",
|
||||
"getSomePattern", "MatchpatternGet" etc.
|
||||
|
||||
The functions |matchfuzzy()| and |matchfuzzypos()| can be used to fuzzy search
|
||||
a string in a List of strings. The matchfuzzy() function returns a List of
|
||||
matching strings. The matchfuzzypos() functions returns the List of matches,
|
||||
a string in a List of strings. The matchfuzzy() function returns a List of
|
||||
matching strings. The matchfuzzypos() functions returns the List of matches,
|
||||
the matching positions and the fuzzy match scores.
|
||||
|
||||
The "f" flag of `:vimgrep` enables fuzzy matching.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_netrw.txt* For Vim version 9.1. Last change: 2024 Oct 31
|
||||
*pi_netrw.txt* For Vim version 9.1. Last change: 2024 Nov 12
|
||||
|
||||
------------------------------------------------
|
||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||
@@ -54,9 +54,10 @@ Copyright: Copyright (C) 2017 Charles E Campbell *netrw-copyright*
|
||||
Browsing With A Horizontally Split Window...........|netrw-o|
|
||||
Browsing With A New Tab.............................|netrw-t|
|
||||
Browsing With A Vertically Split Window.............|netrw-v|
|
||||
Change File Permission..............................|netrw-gp|
|
||||
Change Listing Style.(thin wide long tree)..........|netrw-i|
|
||||
Change Listing Style (thin wide long tree)..........|netrw-i|
|
||||
Changing To A Bookmarked Directory..................|netrw-gb|
|
||||
Quick hide/unhide of dot-files......................|netrw-gh|
|
||||
Changing local-only File Permission.................|netrw-gp|
|
||||
Changing To A Predecessor Directory.................|netrw-u|
|
||||
Changing To A Successor Directory...................|netrw-U|
|
||||
Customizing Browsing With A Special Handler.........|netrw-x|
|
||||
@@ -1504,9 +1505,9 @@ For example, special handlers for links Markdown and HTML are
|
||||
return matchstr(getline('.')[col('.')-1:],
|
||||
\ '\[.\{-}\](\zs' .. g:netrw_regex_url .. '\ze\(\s\+.\{-}\)\?)')
|
||||
endif
|
||||
return ''
|
||||
finally
|
||||
call winrestview(save_view)
|
||||
return ''
|
||||
endtry
|
||||
endfunction
|
||||
|
||||
@@ -1519,9 +1520,9 @@ For example, special handlers for links Markdown and HTML are
|
||||
return matchstr(getline('.')[col('.') - 1 : ],
|
||||
\ 'href=["'.."'"..']\?\zs\S\{-}\ze["'.."'"..']\?/\?>')
|
||||
endif
|
||||
return ''
|
||||
finally
|
||||
call winrestview(save_view)
|
||||
return ''
|
||||
endtry
|
||||
endfunction
|
||||
<
|
||||
@@ -1536,12 +1537,12 @@ Associated setting variables:
|
||||
|g:netrw_nogx| prevent gx map while editing
|
||||
|g:netrw_suppress_gx_mesg| controls gx's suppression of browser messages
|
||||
|
||||
OPENING FILES AND LAUNCHING APPS *netrw-gx* *:Open* *:Launch* {{{2
|
||||
OPENING FILES AND LAUNCHING APPS *netrw-gx* *:Open* *:Launch* {{{2
|
||||
|
||||
Netrw determines which special handler by the following method:
|
||||
|
||||
* if |g:netrw_browsex_viewer| exists, then it will be used to attempt to
|
||||
view files. Examples of useful settings (place into your <.vimrc>):
|
||||
view files.
|
||||
If the viewer you wish to use does not support handling of a remote URL
|
||||
directory, set |g:netrw_browsex_support_remote| to 0.
|
||||
* otherwise:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_paren.txt* For Vim version 9.1. Last change: 2013 May 08
|
||||
*pi_paren.txt* For Vim version 9.1. Last change: 2024 Nov 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -10,6 +10,7 @@ The functionality mentioned here is a |standard-plugin|.
|
||||
This plugin is only available if 'compatible' is not set.
|
||||
|
||||
You can avoid loading this plugin by setting the "loaded_matchparen" variable: >
|
||||
|
||||
:let loaded_matchparen = 1
|
||||
|
||||
The plugin installs CursorMoved, CursorMovedI and WinEnter autocommands to
|
||||
@@ -29,6 +30,16 @@ the ":highlight" command. Example: >
|
||||
|
||||
:hi MatchParen ctermbg=blue guibg=lightblue
|
||||
|
||||
By default the plugin will highlight both the paren under the cursor and the
|
||||
matching one using the |hl-MatchParen| highlighting group. This may result in
|
||||
the cursor briefly disappearing from the screen as the MatchParen colors take
|
||||
over the cursor highlight. To prevent this from happening and have the plugin
|
||||
only highlight the matching paren and not the one under the cursor
|
||||
(effectively leaving the cursor style unchanged), you can set the
|
||||
"matchparen_disable_cursor_hl" variable: >
|
||||
|
||||
:let matchparen_disable_cursor_hl = 1
|
||||
|
||||
The characters to be matched come from the 'matchpairs' option. You can
|
||||
change the value to highlight different matches. Note that not everything is
|
||||
possible. For example, you can't highlight single or double quotes, because
|
||||
@@ -46,10 +57,10 @@ are:
|
||||
closed folds.
|
||||
- 'synmaxcol' times 2 bytes before or after the cursor to avoid a delay
|
||||
in a long line with syntax highlighting.
|
||||
- A timeout of 300 msec (60 msec in Insert mode). This can be changed with the
|
||||
g:matchparen_timeout and g:matchparen_insert_timeout variables and their
|
||||
buffer-local equivalents b:matchparen_timeout and
|
||||
b:matchparen_insert_timeout.
|
||||
- A timeout of 300 msec (60 msec in Insert mode). This can be changed with
|
||||
the "g:matchparen_timeout" and "g:matchparen_insert_timeout" variables and
|
||||
their buffer-local equivalents "b:matchparen_timeout" and
|
||||
"b:matchparen_insert_timeout".
|
||||
|
||||
If you would like the |%| command to work better, the matchit plugin can be
|
||||
used, see |matchit-install|. This plugin also helps to skip matches in
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
*pi_tutor.txt* For Vim version 9.1. Last change: 2024 Nov 09
|
||||
|
||||
INTERACTIVE TUTORIALS FOR VIM *vim-tutor-mode*
|
||||
|
||||
vim-tutor-mode provides a system to follow and create interactive tutorials
|
||||
for vim and third party plugins. It replaces the venerable `vimtutor` system.
|
||||
|
||||
=============================================================================
|
||||
1. Usage *vim-tutor-usage*
|
||||
|
||||
vim-tutor-mode tutorials are hypertext documents, they have rich text and
|
||||
contain links. To stand out from the rest of the text, links are underlined.
|
||||
You can follow them by placing the cursor over them and pressing <Enter>, or
|
||||
by double-clicking them.
|
||||
|
||||
1.1 Commands
|
||||
------------
|
||||
*:Tutor*
|
||||
:Tutor {tutorial} Opens a tutorial. Command-line completion for
|
||||
{tutorial} is provided, the candidates are a list of
|
||||
'.tutor' files found in the 'tutor/' folder in
|
||||
the 'runtimepath'. Tutorials prefixed with 'vim-'
|
||||
will always be shown first.
|
||||
|
||||
If no {tutorial} is provided, the command starts the
|
||||
'vim-01-beginner' tutorial, which is equivalent to
|
||||
Vim's `vimtutor`.
|
||||
|
||||
=============================================================================
|
||||
2. Creating tutorials *vim-tutor-create*
|
||||
|
||||
Writing vim-tutor-mode tutorials is easy. For an overview of the format used,
|
||||
please consult the 'tutor.tutor' file: >
|
||||
|
||||
:Tutor tutor
|
||||
<
|
||||
New tutorials must be placed in the 'tutor/' folder in the 'runtimepath'
|
||||
to be detected by the :Tutor command.
|
||||
|
||||
It is recommended to use a less formal style when writing tutorials than in
|
||||
regular documentation (unless the content requires it).
|
||||
|
||||
=============================================================================
|
||||
3. Contributing
|
||||
|
||||
Development of the plugin is done over at github [1]. Feel free to report
|
||||
issues and make suggestions.
|
||||
|
||||
[1]: https://github.com/fmoralesc/vim-tutor-mode
|
||||
|
||||
=============================================================================
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 9.1. Last change: 2024 Oct 05
|
||||
*quickfix.txt* For Vim version 9.1. Last change: 2024 Nov 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -361,7 +361,7 @@ processing a quickfix or location list command, it will be aborted.
|
||||
Example: >
|
||||
:g/mypattern/caddexpr expand("%") .. ":" .. line(".") .. ":" .. getline(".")
|
||||
<
|
||||
*:lad* *:addd* *:laddexpr*
|
||||
*:lad* *:ladd* *:laddexpr*
|
||||
:lad[dexpr] {expr} Same as ":caddexpr", except the location list for the
|
||||
current window is used instead of the quickfix list.
|
||||
|
||||
@@ -1405,6 +1405,32 @@ being checked. To disable this set g:perl_compiler_force_warnings to a zero
|
||||
value. For example: >
|
||||
let g:perl_compiler_force_warnings = 0
|
||||
|
||||
MYPY TYPE CHECKER *compiler-mypy*
|
||||
|
||||
Commonly used compiler options can be added to 'makeprg' by setting the
|
||||
b/g:mypy_makeprg_params variable. For example: >
|
||||
|
||||
let b:mypy_makeprg_params = "--warn-unused-ignores"
|
||||
|
||||
The global default is "--strict --ignore-missing-imports".
|
||||
|
||||
RUFF LINTER *compiler-ruff*
|
||||
|
||||
Commonly used compiler options can be added to 'makeprg' by setting the
|
||||
b/g:ruff_makeprg_params variable. For example: >
|
||||
|
||||
let b:ruff_makeprg_params = "--max-line-length "..&textwidth
|
||||
|
||||
The global default is "--preview".
|
||||
|
||||
PYLINT LINTER *compiler-pylint*
|
||||
|
||||
Commonly used compiler options can be added to 'makeprg' by setting the
|
||||
b/g:pylint_makeprg_params variable. For example: >
|
||||
|
||||
let b:pylint_makeprg_params = "--max-line-length "..&textwidth
|
||||
|
||||
The global default is "--jobs=0" to use (almost) all cores.
|
||||
|
||||
PYUNIT COMPILER *compiler-pyunit*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 9.1. Last change: 2024 Oct 22
|
||||
*quickref.txt* For Vim version 9.1. Last change: 2024 Nov 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -709,7 +709,7 @@ Short explanation of each option: *option-list*
|
||||
'fileignorecase' 'fic' ignore case when using file names
|
||||
'filetype' 'ft' type of file, used for autocommands
|
||||
'fillchars' 'fcs' characters to use for displaying special items
|
||||
'findexpr' 'fexpr' expression to evaluate for |:find|
|
||||
'findfunc' 'ffu' function to be called for the |:find| command
|
||||
'fixendofline' 'fixeol' make sure last line in file has <EOL>
|
||||
'fkmap' 'fk' obsolete option for Farsi
|
||||
'foldclose' 'fcl' close a fold when the cursor leaves it
|
||||
|
||||
+30
-29
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 9.1. Last change: 2024 Oct 22
|
||||
*syntax.txt* For Vim version 9.1. Last change: 2024 Nov 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1679,20 +1679,20 @@ on" command in your .vimrc file.
|
||||
When you edit an existing Fortran file, the syntax script will assume free
|
||||
source form if the fortran_free_source variable has been set, and assumes
|
||||
fixed source form if the fortran_fixed_source variable has been set. Suppose
|
||||
neither of these variables have been set. In that case, the syntax script attempts to
|
||||
determine which source form has been used by examining the file extension
|
||||
using conventions common to the ifort, gfortran, Cray, NAG, and PathScale
|
||||
compilers (.f, .for, .f77 for fixed-source, .f90, .f95, .f03, .f08 for
|
||||
free-source). No default is used for the .fpp and .ftn file extensions because
|
||||
different compilers treat them differently. If none of this works, then the
|
||||
script examines the first five columns of the first 500 lines of your file. If
|
||||
no signs of free source form are detected, then the file is assumed to be in
|
||||
fixed source form. The algorithm should work in the vast majority of cases.
|
||||
In some cases, such as a file that begins with 500 or more full-line comments,
|
||||
the script may incorrectly decide that the code is in fixed form. If that
|
||||
happens, just add a non-comment statement beginning anywhere in the first five
|
||||
columns of the first twenty-five lines, save (:w), and then reload (:e!) the
|
||||
file.
|
||||
neither of these variables have been set. In that case, the syntax script
|
||||
attempts to determine which source form has been used by examining the file
|
||||
extension using conventions common to the ifort, gfortran, Cray, NAG, and
|
||||
PathScale compilers (.f, .for, .f77 for fixed-source, .f90, .f95, .f03, .f08
|
||||
for free-source). No default is used for the .fpp and .ftn file extensions
|
||||
because different compilers treat them differently. If none of this works,
|
||||
then the script examines the first five columns of the first 500 lines of your
|
||||
file. If no signs of free source form are detected, then the file is assumed
|
||||
to be in fixed source form. The algorithm should work in the vast majority of
|
||||
cases. In some cases, such as a file that begins with 500 or more full-line
|
||||
comments, the script may incorrectly decide that the code is in fixed form.
|
||||
If that happens, just add a non-comment statement beginning anywhere in the
|
||||
first five columns of the first twenty-five lines, save (:w), and then reload
|
||||
(:e!) the file.
|
||||
|
||||
Vendor extensions ~
|
||||
Fixed-form Fortran requires a maximum line length of 72 characters but the
|
||||
@@ -2226,9 +2226,9 @@ define the vim variable 'lace_case_insensitive' in your startup file: >
|
||||
LF (LFRC) *lf.vim* *ft-lf-syntax* *g:lf_shell_syntax*
|
||||
*b:lf_shell_syntax*
|
||||
|
||||
For the lf file manager configuration files (lfrc) the shell commands
|
||||
syntax highlighting can be changed globally and per buffer by setting
|
||||
a different 'include' command search pattern using these variables:
|
||||
For the lf file manager configuration files (lfrc) the shell commands syntax
|
||||
highlighting can be changed globally and per buffer by setting a different
|
||||
'include' command search pattern using these variables: >
|
||||
let g:lf_shell_syntax = "syntax/dosbatch.vim"
|
||||
let b:lf_shell_syntax = "syntax/zsh.vim"
|
||||
|
||||
@@ -2538,9 +2538,10 @@ set "msql_minlines" to the value you desire. Example: >
|
||||
:let msql_minlines = 200
|
||||
|
||||
|
||||
NEOMUTT *neomutt.vim* *ft-neomuttrc-syntax* *ft-neomuttlog-syntax*
|
||||
NEOMUTT *neomutt.vim* *ft-neomuttrc-syntax*
|
||||
*ft-neomuttlog-syntax*
|
||||
|
||||
To disable the default NeoMutt log colors >
|
||||
To disable the default NeoMutt log colors: >
|
||||
|
||||
:let g:neolog_disable_default_colors = 1
|
||||
|
||||
@@ -2669,7 +2670,7 @@ To specify elements that should not be concealed, set the following variable: >
|
||||
|
||||
:let g:pandoc#syntax#conceal#blacklist = []
|
||||
|
||||
This is a list of the rules wich can be used here:
|
||||
This is a list of the rules which can be used here:
|
||||
|
||||
- titleblock
|
||||
- image
|
||||
@@ -2710,9 +2711,9 @@ specified. Default = 1 >
|
||||
|
||||
:let g:pandoc#syntax#codeblocks#embeds#use = 1
|
||||
|
||||
For specify what languages and using what syntax files to highlight embeds. This is a
|
||||
list of language names. When the language pandoc and vim use don't match, you
|
||||
can use the "PANDOC=VIM" syntax. For example: >
|
||||
For specify what languages and using what syntax files to highlight embeds.
|
||||
This is a list of language names. When the language pandoc and vim use don't
|
||||
match, you can use the "PANDOC=VIM" syntax. For example: >
|
||||
|
||||
:let g:pandoc#syntax#codeblocks#embeds#langs = ["ruby", "bash=sh"]
|
||||
|
||||
@@ -3922,7 +3923,7 @@ set "tf_minlines" to the value you desire. Example: >
|
||||
:let tf_minlines = your choice
|
||||
<
|
||||
TYPESCRIPT *typescript.vim* *ft-typescript-syntax*
|
||||
*typescriptreact.vim* *ft-typescriptreact-syntax*
|
||||
*typescriptreact.vim* *ft-typescriptreact-syntax*
|
||||
|
||||
There is one option to control the TypeScript syntax highlighting.
|
||||
|
||||
@@ -5309,9 +5310,9 @@ of colors by using the `:colorscheme` command, for example: >
|
||||
This is basically the same as >
|
||||
:echo g:colors_name
|
||||
< In case g:colors_name has not been defined :colo will
|
||||
output "default". Its palette is defined in the file
|
||||
output "default". Its palette is defined in the file
|
||||
"$VIMRUNTIME/syntax/syncolor.vim" and is based on
|
||||
legacy versions of peachpuff and desert. When compiled
|
||||
legacy versions of peachpuff and desert. When compiled
|
||||
without the |+eval| feature it will output "unknown".
|
||||
|
||||
:colo[rscheme] {name} Load color scheme {name}. This searches 'runtimepath'
|
||||
@@ -5721,8 +5722,8 @@ guisp={color-name} *highlight-guisp*
|
||||
:highlight Comment guifg=#11f0c3 guibg=#ff00ff
|
||||
<
|
||||
If you are authoring a color scheme and use the same hexadecimal value
|
||||
repeatedly, you can define a (lower case) name for it in |v:colornames|.
|
||||
For example: >
|
||||
repeatedly, you can define a (lower case) name for it in
|
||||
|v:colornames|. For example: >
|
||||
|
||||
# provide a default value for this color but allow the user to
|
||||
# override it.
|
||||
|
||||
+23
-5
@@ -271,9 +271,9 @@ $quote eval.txt /*$quote*
|
||||
'fenc' options.txt /*'fenc'*
|
||||
'fencs' options.txt /*'fencs'*
|
||||
'fex' options.txt /*'fex'*
|
||||
'fexpr' options.txt /*'fexpr'*
|
||||
'ff' options.txt /*'ff'*
|
||||
'ffs' options.txt /*'ffs'*
|
||||
'ffu' options.txt /*'ffu'*
|
||||
'fic' options.txt /*'fic'*
|
||||
'fileencoding' options.txt /*'fileencoding'*
|
||||
'fileencodings' options.txt /*'fileencodings'*
|
||||
@@ -282,7 +282,7 @@ $quote eval.txt /*$quote*
|
||||
'fileignorecase' options.txt /*'fileignorecase'*
|
||||
'filetype' options.txt /*'filetype'*
|
||||
'fillchars' options.txt /*'fillchars'*
|
||||
'findexpr' options.txt /*'findexpr'*
|
||||
'findfunc' options.txt /*'findfunc'*
|
||||
'fixendofline' options.txt /*'fixendofline'*
|
||||
'fixeol' options.txt /*'fixeol'*
|
||||
'fk' options.txt /*'fk'*
|
||||
@@ -512,6 +512,7 @@ $quote eval.txt /*$quote*
|
||||
'mesg' vi_diff.txt /*'mesg'*
|
||||
'mfd' options.txt /*'mfd'*
|
||||
'mh' options.txt /*'mh'*
|
||||
'mhi' options.txt /*'mhi'*
|
||||
'mis' options.txt /*'mis'*
|
||||
'mkspellmem' options.txt /*'mkspellmem'*
|
||||
'ml' options.txt /*'ml'*
|
||||
@@ -543,6 +544,7 @@ $quote eval.txt /*$quote*
|
||||
'mousetime' options.txt /*'mousetime'*
|
||||
'mp' options.txt /*'mp'*
|
||||
'mps' options.txt /*'mps'*
|
||||
'msghistory' options.txt /*'msghistory'*
|
||||
'msm' options.txt /*'msm'*
|
||||
'mzq' options.txt /*'mzq'*
|
||||
'mzquantum' options.txt /*'mzquantum'*
|
||||
@@ -2200,6 +2202,7 @@ $quote eval.txt /*$quote*
|
||||
:Termdebug terminal.txt /*:Termdebug*
|
||||
:TermdebugCommand terminal.txt /*:TermdebugCommand*
|
||||
:Texplore pi_netrw.txt /*:Texplore*
|
||||
:Tutor pi_tutor.txt /*:Tutor*
|
||||
:Until terminal.txt /*:Until*
|
||||
:Up terminal.txt /*:Up*
|
||||
:UseVimball pi_vimball.txt /*:UseVimball*
|
||||
@@ -2238,7 +2241,6 @@ $quote eval.txt /*$quote*
|
||||
:abo windows.txt /*:abo*
|
||||
:aboveleft windows.txt /*:aboveleft*
|
||||
:abstract vim9class.txt /*:abstract*
|
||||
:addd quickfix.txt /*:addd*
|
||||
:al windows.txt /*:al*
|
||||
:all windows.txt /*:all*
|
||||
:am gui.txt /*:am*
|
||||
@@ -2758,6 +2760,7 @@ $quote eval.txt /*$quote*
|
||||
:lab quickfix.txt /*:lab*
|
||||
:labove quickfix.txt /*:labove*
|
||||
:lad quickfix.txt /*:lad*
|
||||
:ladd quickfix.txt /*:ladd*
|
||||
:laddb quickfix.txt /*:laddb*
|
||||
:laddbuffer quickfix.txt /*:laddbuffer*
|
||||
:laddexpr quickfix.txt /*:laddexpr*
|
||||
@@ -5912,6 +5915,8 @@ W19 autocmd.txt /*W19*
|
||||
W20 if_pyth.txt /*W20*
|
||||
W21 if_pyth.txt /*W21*
|
||||
W22 userfunc.txt /*W22*
|
||||
W23 gui_x11.txt /*W23*
|
||||
W24 gui_x11.txt /*W24*
|
||||
WORD motion.txt /*WORD*
|
||||
WSL os_win32.txt /*WSL*
|
||||
WWW intro.txt /*WWW*
|
||||
@@ -6609,7 +6614,6 @@ cmd-movement gui_mac.txt /*cmd-movement*
|
||||
cmd-shortcuts gui_mac.txt /*cmd-shortcuts*
|
||||
cmdarg-variable eval.txt /*cmdarg-variable*
|
||||
cmdbang-variable eval.txt /*cmdbang-variable*
|
||||
cmdcomplete-variable eval.txt /*cmdcomplete-variable*
|
||||
cmdline-arguments vi_diff.txt /*cmdline-arguments*
|
||||
cmdline-changed version5.txt /*cmdline-changed*
|
||||
cmdline-completion cmdline.txt /*cmdline-completion*
|
||||
@@ -6659,9 +6663,12 @@ compiler-hpada ft_ada.txt /*compiler-hpada*
|
||||
compiler-javac quickfix.txt /*compiler-javac*
|
||||
compiler-make quickfix.txt /*compiler-make*
|
||||
compiler-manx quickfix.txt /*compiler-manx*
|
||||
compiler-mypy quickfix.txt /*compiler-mypy*
|
||||
compiler-pandoc quickfix.txt /*compiler-pandoc*
|
||||
compiler-perl quickfix.txt /*compiler-perl*
|
||||
compiler-pylint quickfix.txt /*compiler-pylint*
|
||||
compiler-pyunit quickfix.txt /*compiler-pyunit*
|
||||
compiler-ruff quickfix.txt /*compiler-ruff*
|
||||
compiler-select quickfix.txt /*compiler-select*
|
||||
compiler-tex quickfix.txt /*compiler-tex*
|
||||
compiler-typst quickfix.txt /*compiler-typst*
|
||||
@@ -7429,6 +7436,8 @@ ft-html-omni insert.txt /*ft-html-omni*
|
||||
ft-html-syntax syntax.txt /*ft-html-syntax*
|
||||
ft-htmlos-syntax syntax.txt /*ft-htmlos-syntax*
|
||||
ft-ia64-syntax syntax.txt /*ft-ia64-syntax*
|
||||
ft-idris2-indent indent.txt /*ft-idris2-indent*
|
||||
ft-idris2-plugin filetype.txt /*ft-idris2-plugin*
|
||||
ft-inform-syntax syntax.txt /*ft-inform-syntax*
|
||||
ft-java-plugin filetype.txt /*ft-java-plugin*
|
||||
ft-java-syntax syntax.txt /*ft-java-syntax*
|
||||
@@ -7476,6 +7485,7 @@ ft-neomuttlog-syntax syntax.txt /*ft-neomuttlog-syntax*
|
||||
ft-neomuttrc-syntax syntax.txt /*ft-neomuttrc-syntax*
|
||||
ft-nroff-syntax syntax.txt /*ft-nroff-syntax*
|
||||
ft-ocaml-syntax syntax.txt /*ft-ocaml-syntax*
|
||||
ft-org-plugin filetype.txt /*ft-org-plugin*
|
||||
ft-pandoc-syntax syntax.txt /*ft-pandoc-syntax*
|
||||
ft-papp-syntax syntax.txt /*ft-papp-syntax*
|
||||
ft-pascal-syntax syntax.txt /*ft-pascal-syntax*
|
||||
@@ -7936,6 +7946,7 @@ getbufinfo() builtin.txt /*getbufinfo()*
|
||||
getbufline() builtin.txt /*getbufline()*
|
||||
getbufoneline() builtin.txt /*getbufoneline()*
|
||||
getbufvar() builtin.txt /*getbufvar()*
|
||||
getcellpixels() builtin.txt /*getcellpixels()*
|
||||
getcellwidths() builtin.txt /*getcellwidths()*
|
||||
getchangelist() builtin.txt /*getchangelist()*
|
||||
getchar() builtin.txt /*getchar()*
|
||||
@@ -8167,11 +8178,13 @@ hasmapto() builtin.txt /*hasmapto()*
|
||||
hebrew hebrew.txt /*hebrew*
|
||||
hebrew.txt hebrew.txt /*hebrew.txt*
|
||||
help helphelp.txt /*help*
|
||||
help-TOC helphelp.txt /*help-TOC*
|
||||
help-buffer-options helphelp.txt /*help-buffer-options*
|
||||
help-context help.txt /*help-context*
|
||||
help-curwin tips.txt /*help-curwin*
|
||||
help-summary usr_02.txt /*help-summary*
|
||||
help-tags tags 1
|
||||
help-toc-install helphelp.txt /*help-toc-install*
|
||||
help-translated helphelp.txt /*help-translated*
|
||||
help-writing helphelp.txt /*help-writing*
|
||||
help-xterm-window helphelp.txt /*help-xterm-window*
|
||||
@@ -9441,6 +9454,7 @@ o_CTRL-V motion.txt /*o_CTRL-V*
|
||||
o_V motion.txt /*o_V*
|
||||
o_object-select motion.txt /*o_object-select*
|
||||
o_v motion.txt /*o_v*
|
||||
obj-var-type-any vim9class.txt /*obj-var-type-any*
|
||||
object vim9class.txt /*object*
|
||||
object-const-variable vim9class.txt /*object-const-variable*
|
||||
object-empty() vim9class.txt /*object-empty()*
|
||||
@@ -9492,6 +9506,7 @@ optwin options.txt /*optwin*
|
||||
or() builtin.txt /*or()*
|
||||
oracle ft_sql.txt /*oracle*
|
||||
os-appearance-variable eval.txt /*os-appearance-variable*
|
||||
os-support vi_diff.txt /*os-support*
|
||||
os2 os_os2.txt /*os2*
|
||||
os390 os_390.txt /*os390*
|
||||
os_390.txt os_390.txt /*os_390.txt*
|
||||
@@ -9603,6 +9618,7 @@ 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*
|
||||
pi_tutor.txt pi_tutor.txt /*pi_tutor.txt*
|
||||
pi_vimball.txt pi_vimball.txt /*pi_vimball.txt*
|
||||
pi_zip.txt pi_zip.txt /*pi_zip.txt*
|
||||
pkzip options.txt /*pkzip*
|
||||
@@ -11107,7 +11123,6 @@ v:charconvert_from eval.txt /*v:charconvert_from*
|
||||
v:charconvert_to eval.txt /*v:charconvert_to*
|
||||
v:cmdarg eval.txt /*v:cmdarg*
|
||||
v:cmdbang eval.txt /*v:cmdbang*
|
||||
v:cmdcomplete eval.txt /*v:cmdcomplete*
|
||||
v:collate eval.txt /*v:collate*
|
||||
v:colornames eval.txt /*v:colornames*
|
||||
v:completed_item eval.txt /*v:completed_item*
|
||||
@@ -11412,6 +11427,9 @@ vim-script-intro usr_41.txt /*vim-script-intro*
|
||||
vim-script-library eval.txt /*vim-script-library*
|
||||
vim-security intro.txt /*vim-security*
|
||||
vim-shebang various.txt /*vim-shebang*
|
||||
vim-tutor-create pi_tutor.txt /*vim-tutor-create*
|
||||
vim-tutor-mode pi_tutor.txt /*vim-tutor-mode*
|
||||
vim-tutor-usage pi_tutor.txt /*vim-tutor-usage*
|
||||
vim-use intro.txt /*vim-use*
|
||||
vim-variable eval.txt /*vim-variable*
|
||||
vim.b if_lua.txt /*vim.b*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 9.1. Last change: 2024 Oct 27
|
||||
*terminal.txt* For Vim version 9.1. Last change: 2024 Nov 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1683,13 +1683,17 @@ Change default signs ~
|
||||
Termdebug uses the hex number of the breakpoint ID in the signcolumn to
|
||||
represent breakpoints. If it is greater than "0xFF", then it will be displayed
|
||||
as "F+", due to we really only have two screen cells for the sign.
|
||||
You may also use decimal breakpoint signs instead, in which case IDs greater
|
||||
than 99 will be displayed as "9+".
|
||||
|
||||
If you want to customize the breakpoint signs: >
|
||||
If you want to customize the breakpoint signs to show `>>` in the signcolumn: >
|
||||
let g:termdebug_config['sign'] = '>>'
|
||||
If there is no g:terminal_config yet you can use: >
|
||||
If you would like to use decimal (base 10) breakpoint signs: >
|
||||
let g:termdebug_config['sign_decimal'] = 1
|
||||
If the variable g:termdebug_config does not yet exist, you can use: >
|
||||
let g:termdebug_config = {'sign': '>>'}
|
||||
|
||||
After this, breakpoints will be displayed as `>>` in the signcolumn.
|
||||
Likewise, to enable decimal signs: >
|
||||
let g:termdebug_config = {'sign_decimal': 1}
|
||||
|
||||
|
||||
Window toolbar ~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*undo.txt* For Vim version 9.1. Last change: 2024 Sep 29
|
||||
*undo.txt* For Vim version 9.1. Last change: 2024 Nov 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -183,7 +183,7 @@ g- Go to older text state. With a count repeat that many
|
||||
g+ Go to newer text state. With a count repeat that many
|
||||
times.
|
||||
*:lat* *:later*
|
||||
:lat[er] {count} Go to newer text state {count} times.
|
||||
:lat[er] {count} Go to newer text state {count} times.
|
||||
:lat[er] {N}s Go to newer text state about {N} seconds later.
|
||||
:lat[er] {N}m Go to newer text state about {N} minutes later.
|
||||
:lat[er] {N}h Go to newer text state about {N} hours later.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_01.txt* For Vim version 9.1. Last change: 2024 May 11
|
||||
*usr_01.txt* For Vim version 9.1. Last change: 2024 Nov 03
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -107,6 +107,8 @@ For more info see |vimrc| and |compatible-default|.
|
||||
==============================================================================
|
||||
*01.3* Using the Vim tutor *tutor* *vimtutor*
|
||||
|
||||
For the interactive tutor, see |vim-tutor-mode|
|
||||
|
||||
Instead of reading the text (boring!) you can use the vimtutor to learn your
|
||||
first Vim commands. This is a 30-minute tutorial that teaches the most basic
|
||||
Vim functionality hands-on.
|
||||
@@ -121,8 +123,11 @@ vimtutor.bat in the $VIMRUNTIME directory.
|
||||
On MacVim, you can run `vimtutor` from the shell, or select "Vim Tutor" in the
|
||||
Help menu.
|
||||
|
||||
This will make a copy of the tutor file, so that you can edit it without
|
||||
the risk of damaging the original.
|
||||
This will make a copy of chapter 1 tutor file, so that you can edit it without
|
||||
the risk of damaging the original. To continue with chapter 2, you can use
|
||||
the following command: >
|
||||
vimtutor -c 2
|
||||
<
|
||||
There are a few translated versions of the tutor. To find out if yours is
|
||||
available, use the two-letter language code. For French: >
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_10.txt* For Vim version 9.1. Last change: 2019 Nov 22
|
||||
*usr_10.txt* For Vim version 9.1. Last change: 2024 Nov 12
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -736,6 +736,11 @@ The "!!" command filters the current line through a filter. In Unix the "date"
|
||||
command prints the current time and date. "!!date<Enter>" replaces the current
|
||||
line with the output of "date". This is useful to add a timestamp to a file.
|
||||
|
||||
Note: There is a difference between "!cmd" (e.g. using it without any file
|
||||
range) and "{range}!cmd". While the former will simply execute the external
|
||||
command and Vim will show the output, the latter will filter {range}lines
|
||||
through the filter and replace that range by the result of the filter command.
|
||||
See |:!| and |:range!| for details.
|
||||
|
||||
WHEN IT DOESN'T WORK
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 9.1. Last change: 2024 Oct 05
|
||||
*usr_41.txt* For Vim version 9.1. Last change: 2024 Nov 11
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -778,6 +778,7 @@ String manipulation: *string-functions*
|
||||
strdisplaywidth() size of string when displayed, deals with tabs
|
||||
setcellwidths() set character cell width overrides
|
||||
getcellwidths() get character cell width overrides
|
||||
getcellpixels() get character cell pixel size
|
||||
reverse() reverse the order of characters in a string
|
||||
substitute() substitute a pattern match with a string
|
||||
submatch() get a specific match in ":s" and substitute()
|
||||
@@ -1394,6 +1395,7 @@ Various: *various-functions*
|
||||
did_filetype() check if a FileType autocommand was used
|
||||
diff() diff two Lists of strings
|
||||
eventhandler() check if invoked by an event handler
|
||||
getcellpixels() get List of cell pixel size
|
||||
getpid() get process ID of Vim
|
||||
getscriptinfo() get list of sourced vim scripts
|
||||
getimstatus() check if IME status is active
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_51.txt* For Vim version 9.1. Last change: 2024 Apr 04
|
||||
*usr_51.txt* For Vim version 9.1. Last change: 2024 Nov 13
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -656,6 +656,8 @@ an example: >
|
||||
CompilerSet errorformat& " use the default 'errorformat'
|
||||
CompilerSet makeprg=nmake
|
||||
|
||||
Note: arguments need to be escaped according to |option-backslash|.
|
||||
|
||||
When you write a compiler plugin for the Vim distribution or for a system-wide
|
||||
runtime directory, use the mechanism mentioned above. When
|
||||
"current_compiler" was already set by a user plugin nothing will be done.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 9.1. Last change: 2024 Oct 05
|
||||
*various.txt* For Vim version 9.1. Last change: 2024 Nov 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -254,7 +254,8 @@ g8 Print the hex values of the bytes used in the
|
||||
|
||||
*:!cmd* *:!*
|
||||
:!{cmd} Execute {cmd} with the shell. See also the 'shell'
|
||||
and 'shelltype' option.
|
||||
and 'shelltype' option. For the filter command, see
|
||||
|:range!|.
|
||||
*E34*
|
||||
Any '!' in {cmd} is replaced with the previous
|
||||
external command (see also 'cpoptions'). But not when
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version9.txt* For Vim version 9.1. Last change: 2024 Oct 27
|
||||
*version9.txt* For Vim version 9.1. Last change: 2024 Nov 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -31790,7 +31790,7 @@ Changed ~
|
||||
- The features |++builtin_terms|, |+cmdline_info|, |+cmdwin|, |+file_in_path|,
|
||||
|+float|, |+path_extra|, |+textobjects|, |+wildignore| and |+wildmenu| are
|
||||
available in all the builds.
|
||||
- Support for Windows-XP is dropped.
|
||||
- Support for Windows-XP is dropped (starting with v9.0.0496)
|
||||
- Support for VisVim is removed.
|
||||
- The "small" and "big" builds are dropped in favor of "tiny" and "huge"
|
||||
builds.
|
||||
@@ -41602,6 +41602,11 @@ Changed~
|
||||
selection in the quickfix list with the "u" action.
|
||||
- the putty terminal is detected using an |TermResponse| autocommand in
|
||||
|defaults.vim| and Vim switches to a dark background
|
||||
- the |help-TOC| package is included to ease navigating the documentation.
|
||||
- an interactive tutor plugin has been included |vim-tutor-mode|, can be
|
||||
started via |:Tutor|
|
||||
- improve the |vimtutor| and add a second chapter for more advanced tips
|
||||
- allow to pass local Vim script variables to python interpreter |py3eval()|
|
||||
|
||||
*added-9.2*
|
||||
Added ~
|
||||
@@ -41616,6 +41621,7 @@ Functions: ~
|
||||
|foreach()| apply function to List items
|
||||
|getcmdcomplpat()| Shell command line completion
|
||||
|getcmdprompt()| get prompt for input()/confirm()
|
||||
|getcellpixels()| get List of terminal cell pixel size
|
||||
|getregion()| get a region of text from a buffer
|
||||
|getregionpos()| get a list of positions for a region
|
||||
|id()| get unique identifier for a Dict, List, Object,
|
||||
@@ -41651,8 +41657,9 @@ Options: ~
|
||||
|
||||
'completeitemalign' Order of |complete-items| in Insert mode completion
|
||||
popup
|
||||
'findexpr' Vim expression to obtain the results for a |:find|
|
||||
'findfunc' Vim function to obtain the results for a |:find|
|
||||
command
|
||||
'msghistory' Max number of messages to remember
|
||||
'winfixbuf' Keep buffer focused in a window
|
||||
'tabclose' Which tab page to focus after closing a tab page
|
||||
't_xo' Terminal uses XON/XOFF handshaking (e.g. vt420)
|
||||
|
||||
+34
-1
@@ -1,4 +1,4 @@
|
||||
*vi_diff.txt* For Vim version 9.1. Last change: 2024 Oct 05
|
||||
*vi_diff.txt* For Vim version 9.1. Last change: 2024 Nov 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -21,6 +21,7 @@ is missing something or because Posix is beside the mark).
|
||||
6. Supported Vi features |vi-features|
|
||||
7. Command-line arguments |cmdline-arguments|
|
||||
8. POSIX compliance |posix-compliance|
|
||||
9. Supported Operating Systems |os-support|
|
||||
|
||||
==============================================================================
|
||||
1. Simulated command *simulated-command*
|
||||
@@ -1361,5 +1362,37 @@ These are remarks about running the POSIX test suite:
|
||||
1 instead of 2.
|
||||
- ex test 534 fails because .exrc isn't read in silent mode.
|
||||
|
||||
==============================================================================
|
||||
9. Supported Operating systems *os-support*
|
||||
|
||||
Vim tries to support some old operating systems, however support for older
|
||||
operating systems might be dropped if maintenance becomes a burden or can no
|
||||
longer be verified.
|
||||
|
||||
Here is the status of some operating systems. Note fully supported means,
|
||||
support is verified as part of the CI test suite.
|
||||
|
||||
System | Status:~
|
||||
--------------------------------+-----------------------------------------
|
||||
Amiga (OS4, AROS & MorphOS): | still supported (?)
|
||||
Haiku: | still supported (?)
|
||||
Linux: | fully supported (on maintained versions)
|
||||
Mac OS: | fully supported up until v10.6 (?)
|
||||
MS-Windows 7, 8, 10, 11: | fully supported
|
||||
UNIX: | supported (on maintained versions)
|
||||
OpenVMS: | supported
|
||||
QNX: | still supported (?)
|
||||
zOS/OS390: | still supported (?)
|
||||
|
||||
The following operating systems are no longer supported:
|
||||
|
||||
System | Status:~
|
||||
--------------------------------+-----------------------------------------
|
||||
Atari MiNT | support was dropped with v8.2.1215
|
||||
BeOS: | support was dropped with v8.2.0849
|
||||
MS-DOS: | support was dropped with v7.4.1399
|
||||
MS-Windows XP and Vista: | support was dropped with v9.0.0496
|
||||
OS/2 | support was dropped with v7.4.1008
|
||||
RISC OS: | support was dropped with v7.3.0187
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*vim9class.txt* For Vim version 9.1. Last change: 2024 Apr 13
|
||||
*vim9class.txt* For Vim version 9.1. Last change: 2024 Nov 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -873,6 +873,33 @@ Note that the method name must start with "new". If there is no method called
|
||||
"new()" then the default constructor is added, even though there are other
|
||||
constructor methods.
|
||||
|
||||
Using variable type "any" for an Object~
|
||||
*obj-var-type-any*
|
||||
You can use a variable declared with type "any" to hold an object. e.g.
|
||||
>
|
||||
vim9script
|
||||
class A
|
||||
var n = 10
|
||||
def Get(): number
|
||||
return this.n
|
||||
enddef
|
||||
endclass
|
||||
|
||||
def Fn(o: any)
|
||||
echo o.n
|
||||
echo o.Get()
|
||||
enddef
|
||||
|
||||
var a = A.new()
|
||||
Fn(a)
|
||||
<
|
||||
In this example, Vim cannot determine the type of the parameter "o" for
|
||||
function Fn() at compile time. It can be either a |Dict| or an |Object|
|
||||
value. Therefore, at runtime, when the type is known, the object member
|
||||
variable and method are looked up. This process is not efficient, so it is
|
||||
recommended to use a more specific type whenever possible for better
|
||||
efficiency.
|
||||
|
||||
Compiling methods in a Class ~
|
||||
*class-compile*
|
||||
The |:defcompile| command can be used to compile all the class and object
|
||||
|
||||
+70
-25
@@ -1,61 +1,106 @@
|
||||
.TH VIMTUTOR 1 "12 agosto 2024"
|
||||
.TH VIMTUTOR 1 "04 novembre 2024"
|
||||
.SH NOME
|
||||
vimtutor \- Un breve corso introduttivo a Vim
|
||||
.SH SINTASSI
|
||||
.br
|
||||
.B vimtutor [\-g] [lingua]
|
||||
.B vimtutor [\-l | \-\-language ISO639] [\-c | \-\-chapter NUMERO] [\-g | \-\-gui] [ISO639]
|
||||
.br
|
||||
.B vimtutor [\-h | \-\-help]
|
||||
.br
|
||||
.B vimtutor [\-\-list]
|
||||
.SH DESCRIZIONE
|
||||
.B Vimtutor
|
||||
inizia il
|
||||
.B Vim
|
||||
tutor (un breve corso introduttivo a Vim).
|
||||
Viene utilizzata una copia del file di lavoro, che può così essere modificato
|
||||
a piacere senza alterare il file usato come modello.
|
||||
.PP
|
||||
Il comando
|
||||
.B Vimtutor
|
||||
è utile a chi voglia imparare i primi comandi di
|
||||
.B Vim
|
||||
.
|
||||
.PP
|
||||
L'argomento opzionale \-g inizia vimtutor usando gvim invece che vim, se la
|
||||
versione GUI di vim è disponibile; altrimenti viene utilizzato vim.
|
||||
.PP
|
||||
L'argomento opzionale [lingua] è l'abbreviazione di due lettere del nome
|
||||
.B Vim.
|
||||
L'argomento opzionale [language] specifica l'abbreviazione di due lettere del nome
|
||||
di una lingua, per esempio "it" oppure "es".
|
||||
Se l'argomento [lingua] non viene specificato, si utilizza la lingua "locale"
|
||||
del computer.
|
||||
Se la versione in tale lingua del "tutor" non è disponibile,
|
||||
verrà usata la versione inglese.
|
||||
.PP
|
||||
.B Vimtutor
|
||||
utilizza delle copie dei file originali, non c'è pericolo di danneggiare
|
||||
i file stessi.
|
||||
.PP
|
||||
.B Vim
|
||||
è sempre iniziato in Modo compatibile con Vi.
|
||||
.SH OPZIONI
|
||||
.TP
|
||||
.BR \-l ", " \-\-language =\fIISO639\fR
|
||||
Imposta il codice di due o tre lettere che designa la lingua.
|
||||
P.es., 'it', 'es', 'bar'.
|
||||
Il default è il linguaggio locale, se una traduzione è disponibile,
|
||||
altrimenti viene utilizzato il testo originale in inglese.
|
||||
.TP
|
||||
.BR \-c ", " \-\-chapter =\fINUMBER\fR
|
||||
Imposta il numero del capitolo. Il default è il capitolo uno.
|
||||
.TP
|
||||
.BR \-g ", " \-\-gui
|
||||
Inizia
|
||||
.B vimtutor
|
||||
nella versione GUI di vim, se disponibile, altrimenti viene usata la versione console.
|
||||
.TP
|
||||
.BR \-h ", " \-\-help
|
||||
Visualizza le informazioni relative all'uso del comando.
|
||||
.TP
|
||||
.BR \-\-list
|
||||
Visualizza capitoli e lingue disponibili.
|
||||
.SH ESEMPI
|
||||
Per iniziare
|
||||
.B vimtutor
|
||||
in tedesco, dal capitolo uno:
|
||||
.PP
|
||||
.nf
|
||||
.RS
|
||||
vimtutor de
|
||||
.RE
|
||||
.fi
|
||||
.PP
|
||||
In inglese, dal capitolo due:
|
||||
.PP
|
||||
.nf
|
||||
.RS
|
||||
vimtutor -c2
|
||||
.RE
|
||||
.fi
|
||||
.PP
|
||||
Comandi nel formato esteso per usare il linguaggio bavarese, nella GUI, dal capitolo uno:
|
||||
.PP
|
||||
.nf
|
||||
.RS
|
||||
vimtutor --language bar --chapter 1 --gui
|
||||
.RE
|
||||
.fi
|
||||
.SH FILE
|
||||
.TP 15
|
||||
/usr/local/lib/vim/vim??/tutor/tutor[.lingua]
|
||||
I file di testo per
|
||||
I file di testo per il capitolo uno di
|
||||
.B Vimtutor
|
||||
.
|
||||
.br
|
||||
.I vim??
|
||||
è il numero di versione corto, p.es., vim91 per indicare
|
||||
.B Vim 9.1.
|
||||
.TP 15
|
||||
/usr/local/share/vim/vim??/tutor/tutor2[.lingua]
|
||||
I file di testo per il capitolo due di
|
||||
.B Vimtutor.
|
||||
.TP 15
|
||||
/usr/local/share/vim/vim??/tutor/tutor.vim
|
||||
Lo script di Vim usato per copiare il file di testo
|
||||
.B Vimtutor
|
||||
.
|
||||
.B Vimtutor.
|
||||
.SH AUTORE
|
||||
Il corso introduttivo
|
||||
.B Vimtutor
|
||||
è stato scritto in origine per Vi da Michael C. Pierce e Robert K. Ware,
|
||||
Colorado School of Mines, usando idee fornite da Charles Smith,
|
||||
Colorado State University.
|
||||
E-mail: bware@mines.colorado.edu (non più valido).
|
||||
.br
|
||||
È stato modificato per
|
||||
.B E-mail: bware@mines.colorado.edu (non più valido).
|
||||
.PP
|
||||
.B Vimtutor
|
||||
è stato modificato per
|
||||
.B Vim
|
||||
da Bram Moolenaar.
|
||||
.PP
|
||||
Per i nomi dei traduttori, vedere i file nelle rispettive lingue.
|
||||
.SH VEDERE ANCHE
|
||||
vim(1)
|
||||
|
||||
@@ -1,61 +1,106 @@
|
||||
.TH VIMTUTOR 1 "12 agosto 2024"
|
||||
.TH VIMTUTOR 1 "04 novembre 2024"
|
||||
.SH NOME
|
||||
vimtutor \- Un breve corso introduttivo a Vim
|
||||
.SH SINTASSI
|
||||
.br
|
||||
.B vimtutor [\-g] [lingua]
|
||||
.B vimtutor [\-l | \-\-language ISO639] [\-c | \-\-chapter NUMERO] [\-g | \-\-gui] [ISO639]
|
||||
.br
|
||||
.B vimtutor [\-h | \-\-help]
|
||||
.br
|
||||
.B vimtutor [\-\-list]
|
||||
.SH DESCRIZIONE
|
||||
.B Vimtutor
|
||||
inizia il
|
||||
.B Vim
|
||||
tutor (un breve corso introduttivo a Vim).
|
||||
Viene utilizzata una copia del file di lavoro, che può così essere modificato
|
||||
a piacere senza alterare il file usato come modello.
|
||||
.PP
|
||||
Il comando
|
||||
.B Vimtutor
|
||||
è utile a chi voglia imparare i primi comandi di
|
||||
.B Vim
|
||||
.
|
||||
.PP
|
||||
L'argomento opzionale \-g inizia vimtutor usando gvim invece che vim, se la
|
||||
versione GUI di vim è disponibile; altrimenti viene utilizzato vim.
|
||||
.PP
|
||||
L'argomento opzionale [lingua] è l'abbreviazione di due lettere del nome
|
||||
.B Vim.
|
||||
L'argomento opzionale [language] specifica l'abbreviazione di due lettere del nome
|
||||
di una lingua, per esempio "it" oppure "es".
|
||||
Se l'argomento [lingua] non viene specificato, si utilizza la lingua "locale"
|
||||
del computer.
|
||||
Se la versione in tale lingua del "tutor" non è disponibile,
|
||||
verrà usata la versione inglese.
|
||||
.PP
|
||||
.B Vimtutor
|
||||
utilizza delle copie dei file originali, non c'è pericolo di danneggiare
|
||||
i file stessi.
|
||||
.PP
|
||||
.B Vim
|
||||
è sempre iniziato in Modo compatibile con Vi.
|
||||
.SH OPZIONI
|
||||
.TP
|
||||
.BR \-l ", " \-\-language =\fIISO639\fR
|
||||
Imposta il codice di due o tre lettere che designa la lingua.
|
||||
P.es., 'it', 'es', 'bar'.
|
||||
Il default è il linguaggio locale, se una traduzione è disponibile,
|
||||
altrimenti viene utilizzato il testo originale in inglese.
|
||||
.TP
|
||||
.BR \-c ", " \-\-chapter =\fINUMBER\fR
|
||||
Imposta il numero del capitolo. Il default è il capitolo uno.
|
||||
.TP
|
||||
.BR \-g ", " \-\-gui
|
||||
Inizia
|
||||
.B vimtutor
|
||||
nella versione GUI di vim, se disponibile, altrimenti viene usata la versione console.
|
||||
.TP
|
||||
.BR \-h ", " \-\-help
|
||||
Visualizza le informazioni relative all'uso del comando.
|
||||
.TP
|
||||
.BR \-\-list
|
||||
Visualizza capitoli e lingue disponibili.
|
||||
.SH ESEMPI
|
||||
Per iniziare
|
||||
.B vimtutor
|
||||
in tedesco, dal capitolo uno:
|
||||
.PP
|
||||
.nf
|
||||
.RS
|
||||
vimtutor de
|
||||
.RE
|
||||
.fi
|
||||
.PP
|
||||
In inglese, dal capitolo due:
|
||||
.PP
|
||||
.nf
|
||||
.RS
|
||||
vimtutor -c2
|
||||
.RE
|
||||
.fi
|
||||
.PP
|
||||
Comandi nel formato esteso per usare il linguaggio bavarese, nella GUI, dal capitolo uno:
|
||||
.PP
|
||||
.nf
|
||||
.RS
|
||||
vimtutor --language bar --chapter 1 --gui
|
||||
.RE
|
||||
.fi
|
||||
.SH FILE
|
||||
.TP 15
|
||||
/usr/local/lib/vim/vim??/tutor/tutor[.lingua]
|
||||
I file di testo per
|
||||
I file di testo per il capitolo uno di
|
||||
.B Vimtutor
|
||||
.
|
||||
.br
|
||||
.I vim??
|
||||
è il numero di versione corto, p.es., vim91 per indicare
|
||||
.B Vim 9.1.
|
||||
.TP 15
|
||||
/usr/local/share/vim/vim??/tutor/tutor2[.lingua]
|
||||
I file di testo per il capitolo due di
|
||||
.B Vimtutor.
|
||||
.TP 15
|
||||
/usr/local/share/vim/vim??/tutor/tutor.vim
|
||||
Lo script di Vim usato per copiare il file di testo
|
||||
.B Vimtutor
|
||||
.
|
||||
.B Vimtutor.
|
||||
.SH AUTORE
|
||||
Il corso introduttivo
|
||||
.B Vimtutor
|
||||
è stato scritto in origine per Vi da Michael C. Pierce e Robert K. Ware,
|
||||
Colorado School of Mines, usando idee fornite da Charles Smith,
|
||||
Colorado State University.
|
||||
E-mail: bware@mines.colorado.edu (non più valido).
|
||||
.br
|
||||
È stato modificato per
|
||||
.B E-mail: bware@mines.colorado.edu (non più valido).
|
||||
.PP
|
||||
.B Vimtutor
|
||||
è stato modificato per
|
||||
.B Vim
|
||||
da Bram Moolenaar.
|
||||
.PP
|
||||
Per i nomi dei traduttori, vedere i file nelle rispettive lingue.
|
||||
.SH VEDERE ANCHE
|
||||
vim(1)
|
||||
|
||||
+72
-28
@@ -1,61 +1,105 @@
|
||||
.TH VIMTUTOR 1 "2024 August 12"
|
||||
.TH VIMTUTOR 1 "2024 November 04"
|
||||
.SH NAME
|
||||
vimtutor \- the Vim tutor
|
||||
.SH SYNOPSIS
|
||||
.br
|
||||
.B vimtutor [\-g] [language]
|
||||
.B vimtutor [\-l | \-\-language ISO639] [\-c | \-\-chapter NUMBER] [\-g | \-\-gui] [ISO639]
|
||||
.br
|
||||
.B vimtutor [\-h | \-\-help]
|
||||
.br
|
||||
.B vimtutor [\-\-list]
|
||||
.SH DESCRIPTION
|
||||
.B Vimtutor
|
||||
starts the
|
||||
.B Vim
|
||||
tutor.
|
||||
It copies the tutor file first, so that it can be modified without changing
|
||||
the original file.
|
||||
.PP
|
||||
The
|
||||
.B Vimtutor
|
||||
is useful for people that want to learn their first
|
||||
.B Vim
|
||||
commands.
|
||||
.PP
|
||||
The optional argument \-g starts vimtutor with gvim rather than vim, if the
|
||||
GUI version of Vim is available, or falls back to vim if gvim is not found.
|
||||
.PP
|
||||
The optional [language] argument is the two-letter name of a language, like
|
||||
"it" or "es".
|
||||
If the [language] argument is missing, the language of the current locale will
|
||||
be used.
|
||||
If a tutor in this language is available, it will be used.
|
||||
Otherwise the English version will be used.
|
||||
.PP
|
||||
.B Vimtutor
|
||||
only opens temporary copies of the original tutor files, there is no danger of overwriting the lessons.
|
||||
.PP
|
||||
.B Vim
|
||||
is always started in Vi compatible mode.
|
||||
is always started in
|
||||
.B Vi
|
||||
compatible mode.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.BR \-l ", " \-\-language =\fIISO639\fR
|
||||
Set the two or three letter language code. E.g. 'it', 'es', 'bar'. Defaults to language of locale if available, else to English.
|
||||
.TP
|
||||
.BR \-c ", " \-\-chapter =\fINUMBER\fR
|
||||
Set the chapter number. Defaults to chapter one.
|
||||
.TP
|
||||
.BR \-g ", " \-\-gui
|
||||
Start
|
||||
.B vimtutor
|
||||
in the GUI version of vim if available, otherwise fallback to console vim.
|
||||
.TP
|
||||
.BR \-h ", " \-\-help
|
||||
Display usage information.
|
||||
.TP
|
||||
.BR \-\-list
|
||||
Display chapters and languages.
|
||||
.SH EXAMPLES
|
||||
To start
|
||||
.B vimtutor
|
||||
in German on chapter one:
|
||||
.PP
|
||||
.nf
|
||||
.RS
|
||||
vimtutor de
|
||||
.RE
|
||||
.fi
|
||||
.PP
|
||||
In English on chapter two:
|
||||
.PP
|
||||
.nf
|
||||
.RS
|
||||
vimtutor -c2
|
||||
.RE
|
||||
.fi
|
||||
.PP
|
||||
Longform command for Bavarian in the GUI on chapter one:
|
||||
.PP
|
||||
.nf
|
||||
.RS
|
||||
vimtutor --language bar --chapter 1 --gui
|
||||
.RE
|
||||
.fi
|
||||
.SH FILES
|
||||
.TP 15
|
||||
/usr/local/share/vim/vim??/tutor/tutor[.language]
|
||||
The
|
||||
.B Vimtutor
|
||||
text file(s).
|
||||
.br
|
||||
.I vim??
|
||||
is short version number, like vim91 for
|
||||
.B Vim 9.1
|
||||
chapter one text file(s).
|
||||
.TP 15
|
||||
/usr/local/share/vim/vim??/tutor/tutor2[.language]
|
||||
The
|
||||
.B Vimtutor
|
||||
chapter two text file(s).
|
||||
.TP 15
|
||||
/usr/local/share/vim/vim??/tutor/tutor.vim
|
||||
The Vim script used to copy the
|
||||
The
|
||||
.B Vim
|
||||
script used to copy the
|
||||
.B Vimtutor
|
||||
text file.
|
||||
.SH AUTHOR
|
||||
The
|
||||
.B Vimtutor
|
||||
was originally written for Vi by Michael C. Pierce and Robert K. Ware,
|
||||
Colorado School of Mines using ideas supplied by Charles Smith,
|
||||
Colorado State University.
|
||||
E-mail: bware@mines.colorado.edu (now invalid).
|
||||
.br
|
||||
It was modified for
|
||||
.B The Vi Tutorial
|
||||
was originally written for Vi by Michael C. Pierce and Robert K. Ware, Colorado School of Mines using ideas supplied by Charles Smith, Colorado State University.
|
||||
.B E-mail: bware@mines.colorado.edu (now invalid).
|
||||
.PP
|
||||
Modified for
|
||||
.B Vim
|
||||
by Bram Moolenaar.
|
||||
For the names of the translators see the tutor files.
|
||||
.PP
|
||||
Translation contributors are listed in the tutor files.
|
||||
.SH SEE ALSO
|
||||
vim(1)
|
||||
|
||||
+52
-25
@@ -1,51 +1,78 @@
|
||||
VIMTUTOR(1) General Commands Manual VIMTUTOR(1)
|
||||
|
||||
|
||||
|
||||
NAME
|
||||
vimtutor - the Vim tutor
|
||||
|
||||
SYNOPSIS
|
||||
vimtutor [-g] [language]
|
||||
vimtutor [-l | --language ISO639] [-c | --chapter NUMBER] [-g | --gui]
|
||||
[ISO639]
|
||||
vimtutor [-h | --help]
|
||||
vimtutor [--list]
|
||||
|
||||
DESCRIPTION
|
||||
Vimtutor starts the Vim tutor. It copies the tutor file first, so that
|
||||
it can be modified without changing the original file.
|
||||
Vimtutor starts the Vim tutor.
|
||||
|
||||
The Vimtutor is useful for people that want to learn their first Vim
|
||||
commands.
|
||||
commands. The optional [language] argument is the two-letter name of a
|
||||
language, like "it" or "es".
|
||||
|
||||
The optional argument -g starts vimtutor with gvim rather than vim, if
|
||||
the GUI version of Vim is available, or falls back to vim if gvim is
|
||||
not found.
|
||||
|
||||
The optional [language] argument is the two-letter name of a language,
|
||||
like "it" or "es". If the [language] argument is missing, the language
|
||||
of the current locale will be used. If a tutor in this language is
|
||||
available, it will be used. Otherwise the English version will be
|
||||
used.
|
||||
Vimtutor only opens temporary copies of the original tutor files, there
|
||||
is no danger of overwriting the lessons.
|
||||
|
||||
Vim is always started in Vi compatible mode.
|
||||
|
||||
OPTIONS
|
||||
-l, --language=ISO639
|
||||
Set the two or three letter language code. E.g. 'it', 'es',
|
||||
'bar'. Defaults to language of locale if available, else to Eng‐
|
||||
lish.
|
||||
|
||||
-c, --chapter=NUMBER
|
||||
Set the chapter number. Defaults to chapter one.
|
||||
|
||||
-g, --gui
|
||||
Start vimtutor in the GUI version of vim if available, otherwise
|
||||
fallback to console vim.
|
||||
|
||||
-h, --help
|
||||
Display usage information.
|
||||
|
||||
--list Display chapters and languages.
|
||||
|
||||
EXAMPLES
|
||||
To start vimtutor in German on chapter one:
|
||||
|
||||
vimtutor de
|
||||
|
||||
In English on chapter two:
|
||||
|
||||
vimtutor -c2
|
||||
|
||||
Longform command for Bavarian in the GUI on chapter one:
|
||||
|
||||
vimtutor --language bar --chapter 1 --gui
|
||||
|
||||
FILES
|
||||
/usr/local/share/vim/vim??/tutor/tutor[.language]
|
||||
The Vimtutor text file(s).
|
||||
vim?? is short version number, like vim91 for Vim 9.1
|
||||
The Vimtutor chapter one text file(s).
|
||||
|
||||
/usr/local/share/vim/vim??/tutor/tutor2[.language]
|
||||
The Vimtutor chapter two text file(s).
|
||||
|
||||
/usr/local/share/vim/vim??/tutor/tutor.vim
|
||||
The Vim script used to copy the Vimtutor text file.
|
||||
|
||||
AUTHOR
|
||||
The Vimtutor was originally written for Vi by Michael C. Pierce and
|
||||
Robert K. Ware, Colorado School of Mines using ideas supplied by
|
||||
Charles Smith, Colorado State University. E-mail: bware@mines.col‐
|
||||
The Vi Tutorial was originally written for Vi by Michael C. Pierce and
|
||||
Robert K. Ware, Colorado School of Mines using ideas supplied by
|
||||
Charles Smith, Colorado State University. E-mail: bware@mines.col‐
|
||||
orado.edu (now invalid).
|
||||
It was modified for Vim by Bram Moolenaar. For the names of the trans‐
|
||||
lators see the tutor files.
|
||||
|
||||
Modified for Vim by Bram Moolenaar.
|
||||
|
||||
Translation contributors are listed in the tutor files.
|
||||
|
||||
SEE ALSO
|
||||
vim(1)
|
||||
|
||||
|
||||
|
||||
2024 August 12 VIMTUTOR(1)
|
||||
2024 November 04 VIMTUTOR(1)
|
||||
|
||||
+20
-2
@@ -1133,6 +1133,10 @@ au BufNewFile,BufRead indent.pro call dist#ft#ProtoCheck('indent')
|
||||
" IDL (Interactive Data Language), Prolog, Cproto or zsh module C
|
||||
au BufNewFile,BufRead *.pro call dist#ft#ProtoCheck('idlang')
|
||||
|
||||
" Idris2
|
||||
au BufNewFile,BufRead *.idr setf idris2
|
||||
au BufNewFile,BufRead *.lidr setf lidris2
|
||||
|
||||
" Indent RC
|
||||
au BufNewFile,BufRead indentrc setf indent
|
||||
|
||||
@@ -1152,6 +1156,9 @@ au BufRead,BufNewFile usw2kagt.log\c,usw2kagt.*.log\c,*.usw2kagt.log\c setf usw2
|
||||
" Ipfilter
|
||||
au BufNewFile,BufRead ipf.conf,ipf6.conf,ipf.rules setf ipfilter
|
||||
|
||||
" Ipkg for Idris 2 language
|
||||
au BufNewFile,BufRead *.ipkg setf ipkg
|
||||
|
||||
" Informix 4GL (source - canonical, include file, I4GL+M4 preproc.)
|
||||
au BufNewFile,BufRead *.4gl,*.4gh,*.m4gl setf fgl
|
||||
|
||||
@@ -1325,6 +1332,9 @@ au BufRead,BufNewFile *.ldg,*.ledger,*.journal setf ledger
|
||||
" lf configuration (lfrc)
|
||||
au BufNewFile,BufRead lfrc setf lf
|
||||
|
||||
" Leo
|
||||
au BufNewFile,BufRead *.leo setf leo
|
||||
|
||||
" Less
|
||||
au BufNewFile,BufRead *.less setf less
|
||||
|
||||
@@ -1341,7 +1351,7 @@ au BufNewFile,BufRead */etc/sensors.conf,*/etc/sensors3.conf setf sensors
|
||||
au BufNewFile,BufRead lftp.conf,.lftprc,*lftp/rc setf lftp
|
||||
|
||||
" Lifelines (or Lex for C++!)
|
||||
au BufNewFile,BufRead *.ll setf lifelines
|
||||
au BufNewFile,BufRead *.ll call dist#ft#FTll()
|
||||
|
||||
" Lilo: Linux loader
|
||||
au BufNewFile,BufRead lilo.conf setf lilo
|
||||
@@ -1713,7 +1723,7 @@ au BufNewFile,BufRead *.scad setf openscad
|
||||
" Oracle config file
|
||||
au BufNewFile,BufRead *.ora setf ora
|
||||
|
||||
" Org
|
||||
" Org (Emacs' org-mode)
|
||||
au BufNewFile,BufRead *.org,*.org_archive setf org
|
||||
|
||||
" Packet filter conf
|
||||
@@ -2430,6 +2440,9 @@ au BufNewFile,BufRead *.sml setf sml
|
||||
" Sratus VOS command macro
|
||||
au BufNewFile,BufRead *.cm setf voscm
|
||||
|
||||
" Sway (programming language)
|
||||
au BufNewFile,BufRead *.sw setf sway
|
||||
|
||||
" Swift
|
||||
au BufNewFile,BufRead *.swift,*.swiftinterface setf swift
|
||||
au BufNewFile,BufRead *.swift.gyb setf swiftgyb
|
||||
@@ -2586,6 +2599,9 @@ au BufNewFile,BufReadPost *.tsscl setf tsscl
|
||||
" TSV Files
|
||||
au BufNewFile,BufRead *.tsv setf tsv
|
||||
|
||||
" Tutor mode
|
||||
au BufNewFile,BufReadPost *.tutor setf tutor
|
||||
|
||||
" TWIG files
|
||||
au BufNewFile,BufReadPost *.twig setf twig
|
||||
|
||||
@@ -2824,6 +2840,7 @@ au BufNewFile,BufRead */etc/xinetd.conf setf xinetd
|
||||
" Xilinx Vivado/Vitis project files and block design files
|
||||
au BufNewFile,BufRead *.xpr,*.xpfm,*.spfm,*.bxml,*.mmi setf xml
|
||||
au BufNewFile,BufRead *.bd,*.bda,*.xci setf json
|
||||
au BufNewFile,BufRead *.mss setf mss
|
||||
|
||||
" XS Perl extension interface language
|
||||
au BufNewFile,BufRead *.xs setf xs
|
||||
@@ -2903,6 +2920,7 @@ au BufNewFile,BufRead *.y call dist#ft#FTy()
|
||||
|
||||
" Yaml
|
||||
au BufNewFile,BufRead *.yaml,*.yml,*.eyaml setf yaml
|
||||
au BufNewFile,BufRead */.kube/config setf yaml
|
||||
|
||||
" Raml
|
||||
au BufNewFile,BufRead *.raml setf raml
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Cooklang
|
||||
" Maintainer: Riley Bruins <ribru17@gmail.com>
|
||||
" Last Change: 2024 Nov 03
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setl comments=:-- commentstring=--\ %s
|
||||
|
||||
let b:undo_ftplugin = 'setl com< cms<'
|
||||
@@ -6,13 +6,14 @@
|
||||
" 2023 Aug 28 - Added undo_ftplugin (Vim Project)
|
||||
" 2018 Nov 03 - Added commentstring (Markus Mottl)
|
||||
" 2017 Sep 06 - Initial version (Etienne Millon)
|
||||
" 2024 Nov 09 - use setl instead of :set
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin=1
|
||||
|
||||
set lisp
|
||||
setl lisp
|
||||
|
||||
" Comment string
|
||||
setl commentstring=;\ %s
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
" Vim ftplugin file
|
||||
" Language: Idris 2
|
||||
" Last Change: 2024 Nov 05
|
||||
" Maintainer: Idris Hackers (https://github.com/edwinb/idris2-vim), Serhii Khoma <srghma@gmail.com>
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/ShinKage/idris2-nvim
|
||||
"
|
||||
" Based on ftplugin/idris2.vim from https://github.com/edwinb/idris2-vim
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
setlocal shiftwidth=2
|
||||
setlocal tabstop=2
|
||||
|
||||
" Set g:idris2#allow_tabchar = 1 to use tabs instead of spaces
|
||||
if exists('g:idris2#allow_tabchar') && g:idris2#allow_tabchar != 0
|
||||
setlocal noexpandtab
|
||||
else
|
||||
setlocal expandtab
|
||||
endif
|
||||
|
||||
setlocal comments=s1:{-,mb:-,ex:-},:\|\|\|,:--
|
||||
setlocal commentstring=--\ %s
|
||||
|
||||
" makes ? a part of a word, e.g. for named holes `vzipWith f [] [] = ?vzipWith_rhs_3`, uncomment if want to reenable
|
||||
" setlocal iskeyword+=?
|
||||
|
||||
setlocal wildignore+=*.ibc
|
||||
|
||||
let b:undo_ftplugin = "setlocal shiftwidth< tabstop< expandtab< comments< commentstring< iskeyword< wildignore<"
|
||||
|
||||
let b:did_ftplugin = 1
|
||||
@@ -0,0 +1,19 @@
|
||||
" Vim ftplugin file
|
||||
" Language: Ipkg
|
||||
" Maintainer: Idris Hackers (https://github.com/edwinb/idris2-vim), Serhii Khoma <srghma@gmail.com>
|
||||
" Last Change: 2024 Nov 05
|
||||
" Author: ShinKage
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/ShinKage/idris2-nvim
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
setlocal comments=:--
|
||||
setlocal commentstring=--\ %s
|
||||
setlocal wildignore+=*.ibc
|
||||
|
||||
let b:undo_ftplugin = "setlocal shiftwidth< tabstop< expandtab< comments< commentstring< iskeyword< wildignore<"
|
||||
|
||||
let b:did_ftplugin = 1
|
||||
@@ -0,0 +1,13 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Leo
|
||||
" Maintainer: Riley Bruins <ribru17@gmail.com>
|
||||
" Last Change: 2024 Nov 03
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setl comments=:// commentstring=//\ %s
|
||||
|
||||
let b:undo_ftplugin = 'setl com< cms<'
|
||||
@@ -0,0 +1,12 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: LLVM IR
|
||||
" Last Change: 2024 Oct 22
|
||||
" Maintainer: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setl comments=:;
|
||||
setl commentstring=;\ %s
|
||||
|
||||
let b:undo_ftplugin = "setl commentstring< comments<"
|
||||
@@ -0,0 +1,16 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Vivado mss file
|
||||
" Last Change: 2024 Oct 22
|
||||
" Document: https://docs.amd.com/r/2020.2-English/ug1400-vitis-embedded/Microprocessor-Software-Specification-MSS
|
||||
" Maintainer: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal comments=b:#,fb:-
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
let b:match_words = '\<BEGIN\>:\<END\>'
|
||||
let b:undo_ftplugin = "setl com< cms< | unlet b:match_words"
|
||||
@@ -0,0 +1,37 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Org
|
||||
" Maintainer: Luca Saccarola <github.e41mv@aleeas.com>
|
||||
" Last Change: 2024 Nov 14
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
if exists('b:undo_ftplugin')
|
||||
let b:undo_ftplugin .= "|setl cms< com< fo< flp<"
|
||||
else
|
||||
let b:undo_ftplugin = "setl cms< com< fo< flp<"
|
||||
endif
|
||||
|
||||
setl commentstring=#\ %s
|
||||
setl comments=fb:*,fb:-,fb:+,b:#,b:\:
|
||||
|
||||
setl formatoptions+=nql
|
||||
setl formatlistpat=^\\s*\\(\\(\\d\\|\\a\\)\\+[.)]\\|[+-]\\)\\s\\+
|
||||
|
||||
function OrgFoldExpr()
|
||||
let l:depth = match(getline(v:lnum), '\(^\*\+\)\@<=\( .*$\)\@=')
|
||||
if l:depth > 0 && synIDattr(synID(v:lnum, 1, 1), 'name') =~# '\m^orgHeadline'
|
||||
return ">" . l:depth
|
||||
endif
|
||||
return "="
|
||||
endfunction
|
||||
|
||||
if has("folding") && get(g:, 'org_folding', 0)
|
||||
setl foldexpr=OrgFoldExpr()
|
||||
setl foldmethod=expr
|
||||
let b:undo_ftplugin .= "|setl foldexpr< foldmethod<"
|
||||
endif
|
||||
|
||||
" vim: ts=8 sts=2 sw=2 et
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: D. Ben Knoble <ben.knoble+github@gmail.com>
|
||||
" Previous Maintainer: Will Langstroth <will@langstroth.com>
|
||||
" URL: https://github.com/benknoble/vim-racket
|
||||
" Last Change: 2024 May 28
|
||||
" Last Change: 2024 Jun 01
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -16,19 +16,20 @@ set cpo&vim
|
||||
" quick hack to allow adding values
|
||||
setlocal iskeyword=@,!,#-',*-:,<-Z,a-z,~,_,94
|
||||
|
||||
setlocal shiftwidth=2 softtabstop=2
|
||||
|
||||
" Enable auto begin new comment line when continuing from an old comment line
|
||||
setlocal comments=:;;;;,:;;;,:;;,:;
|
||||
setlocal formatoptions+=r
|
||||
|
||||
"setlocal commentstring=;;\ %s
|
||||
setlocal commentstring=#\|\ %s\ \|#
|
||||
setlocal commentstring=;;\ %s
|
||||
|
||||
setlocal formatprg=raco\ fmt
|
||||
|
||||
" Undo our settings when the filetype changes away from Racket
|
||||
" (this should be amended if settings/mappings are added above!)
|
||||
let b:undo_ftplugin =
|
||||
\ "setlocal iskeyword< lispwords< lisp< comments< formatoptions< formatprg<"
|
||||
\ "setlocal iskeyword< shiftwidth< softtabstop< comments< formatoptions< formatprg<"
|
||||
\. " | setlocal commentstring<"
|
||||
|
||||
if !exists("no_plugin_maps") && !exists("no_racket_maps")
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Sway
|
||||
" Maintainer: Riley Bruins <ribru17@gmail.com>
|
||||
" Last Change: 2024 Nov 01
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setl commentstring=//\ %s
|
||||
" From Rust comments
|
||||
setl comments=s0:/*!,ex:*/,s1:/*,mb:*,ex:*/,:///,://!,://
|
||||
|
||||
let b:undo_ftplugin = 'setl com< cms<'
|
||||
@@ -0,0 +1,45 @@
|
||||
" vim: fdm=marker
|
||||
|
||||
" Base: {{{1
|
||||
call tutor#SetupVim()
|
||||
|
||||
" Buffer Settings: {{{1
|
||||
setlocal noreadonly
|
||||
if !exists('g:tutor_debug') || g:tutor_debug == 0
|
||||
setlocal buftype=nofile
|
||||
setlocal concealcursor+=inv
|
||||
setlocal conceallevel=2
|
||||
else
|
||||
setlocal buftype=
|
||||
setlocal concealcursor&
|
||||
setlocal conceallevel=0
|
||||
endif
|
||||
setlocal noundofile
|
||||
|
||||
setlocal keywordprg=:help
|
||||
setlocal iskeyword=@,-,_
|
||||
|
||||
" The user will have to enable the folds himself, but we provide the foldexpr
|
||||
" function.
|
||||
setlocal foldmethod=manual
|
||||
setlocal foldexpr=tutor#TutorFolds()
|
||||
setlocal foldlevel=4
|
||||
|
||||
" Load metadata if it exists: {{{1
|
||||
if filereadable(expand('%').'.json')
|
||||
call tutor#LoadMetadata()
|
||||
endif
|
||||
|
||||
" Mappings: {{{1
|
||||
|
||||
call tutor#SetNormalMappings()
|
||||
|
||||
" Checks: {{{1
|
||||
|
||||
sign define tutorok text=✓ texthl=tutorOK
|
||||
sign define tutorbad text=✗ texthl=tutorX
|
||||
|
||||
if !exists('g:tutor_debug') || g:tutor_debug == 0
|
||||
call tutor#ApplyMarks()
|
||||
autocmd! TextChanged,TextChangedI <buffer> call tutor#ApplyMarksOnChanged()
|
||||
endif
|
||||
@@ -0,0 +1,183 @@
|
||||
" Vim indent file
|
||||
" Language: Idris 2
|
||||
" Maintainer: Idris Hackers (https://github.com/edwinb/idris2-vim), Serhii Khoma <srghma@gmail.com>
|
||||
" Author: raichoo <raichoo@googlemail.com>
|
||||
" Last Change: 2024 Nov 05
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/ShinKage/idris2-nvim
|
||||
"
|
||||
" indentation for idris (idris-lang.org)
|
||||
"
|
||||
" Based on haskell indentation by motemen <motemen@gmail.com>
|
||||
"
|
||||
" Indentation configuration variables:
|
||||
"
|
||||
" g:idris2_indent_if (default: 3)
|
||||
" Controls indentation after 'if' statements
|
||||
" Example:
|
||||
" if condition
|
||||
" >>>then expr
|
||||
" >>>else expr
|
||||
"
|
||||
" g:idris2_indent_case (default: 5)
|
||||
" Controls indentation of case expressions
|
||||
" Example:
|
||||
" case x of
|
||||
" >>>>>Left y => ...
|
||||
" >>>>>Right z => ...
|
||||
"
|
||||
" g:idris2_indent_let (default: 4)
|
||||
" Controls indentation after 'let' bindings
|
||||
" Example:
|
||||
" let x = expr in
|
||||
" >>>>body
|
||||
"
|
||||
" g:idris2_indent_rewrite (default: 8)
|
||||
" Controls indentation after 'rewrite' expressions
|
||||
" Example:
|
||||
" rewrite proof in
|
||||
" >>>>>>>>expr
|
||||
"
|
||||
" g:idris2_indent_where (default: 6)
|
||||
" Controls indentation of 'where' blocks
|
||||
" Example:
|
||||
" function args
|
||||
" >>>>>>where helper = expr
|
||||
"
|
||||
" g:idris2_indent_do (default: 3)
|
||||
" Controls indentation in 'do' blocks
|
||||
" Example:
|
||||
" do x <- action
|
||||
" >>>y <- action
|
||||
"
|
||||
" Example configuration in .vimrc:
|
||||
" let g:idris2_indent_if = 2
|
||||
|
||||
if exists('b:did_indent')
|
||||
finish
|
||||
endif
|
||||
|
||||
setlocal indentexpr=GetIdrisIndent()
|
||||
setlocal indentkeys=!^F,o,O,}
|
||||
|
||||
let b:did_indent = 1
|
||||
let b:undo_indent = "setlocal indentexpr< indentkeys<"
|
||||
|
||||
" we want to use line continuations (\) BEGINNING
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Define defaults for indent configuration
|
||||
let s:indent_defaults = {
|
||||
\ 'idris2_indent_if': 3,
|
||||
\ 'idris2_indent_case': 5,
|
||||
\ 'idris2_indent_let': 4,
|
||||
\ 'idris2_indent_rewrite': 8,
|
||||
\ 'idris2_indent_where': 6,
|
||||
\ 'idris2_indent_do': 3
|
||||
\ }
|
||||
|
||||
" we want to use line continuations (\) END
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" Set up indent settings with user overrides
|
||||
for [key, default] in items(s:indent_defaults)
|
||||
let varname = 'g:' . key
|
||||
if !exists(varname)
|
||||
execute 'let' varname '=' default
|
||||
endif
|
||||
endfor
|
||||
|
||||
if exists("*GetIdrisIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
function! GetIdrisIndent()
|
||||
let prevline = getline(v:lnum - 1)
|
||||
|
||||
if prevline =~ '\s\+(\s*.\+\s\+:\s\+.\+\s*)\s\+->\s*$'
|
||||
return match(prevline, '(')
|
||||
elseif prevline =~ '\s\+{\s*.\+\s\+:\s\+.\+\s*}\s\+->\s*$'
|
||||
return match(prevline, '{')
|
||||
endif
|
||||
|
||||
if prevline =~ '[!#$%&*+./<>?@\\^|~-]\s*$'
|
||||
let s = match(prevline, '[:=]')
|
||||
if s > 0
|
||||
return s + 2
|
||||
else
|
||||
return match(prevline, '\S')
|
||||
endif
|
||||
endif
|
||||
|
||||
if prevline =~ '[{([][^})\]]\+$'
|
||||
return match(prevline, '[{([]')
|
||||
endif
|
||||
|
||||
if prevline =~ '\<let\>\s\+.\+\<in\>\s*$'
|
||||
return match(prevline, '\<let\>') + g:idris2_indent_let
|
||||
endif
|
||||
|
||||
if prevline =~ '\<rewrite\>\s\+.\+\<in\>\s*$'
|
||||
return match(prevline, '\<rewrite\>') + g:idris2_indent_rewrite
|
||||
endif
|
||||
|
||||
if prevline !~ '\<else\>'
|
||||
let s = match(prevline, '\<if\>.*\&.*\zs\<then\>')
|
||||
if s > 0
|
||||
return s
|
||||
endif
|
||||
|
||||
let s = match(prevline, '\<if\>')
|
||||
if s > 0
|
||||
return s + g:idris2_indent_if
|
||||
endif
|
||||
endif
|
||||
|
||||
if prevline =~ '\(\<where\>\|\<do\>\|=\|[{([]\)\s*$'
|
||||
return match(prevline, '\S') + &shiftwidth
|
||||
endif
|
||||
|
||||
if prevline =~ '\<where\>\s\+\S\+.*$'
|
||||
return match(prevline, '\<where\>') + g:idris2_indent_where
|
||||
endif
|
||||
|
||||
if prevline =~ '\<do\>\s\+\S\+.*$'
|
||||
return match(prevline, '\<do\>') + g:idris2_indent_do
|
||||
endif
|
||||
|
||||
if prevline =~ '^\s*\<\(co\)\?data\>\s\+[^=]\+\s\+=\s\+\S\+.*$'
|
||||
return match(prevline, '=')
|
||||
endif
|
||||
|
||||
if prevline =~ '\<with\>\s\+([^)]*)\s*$'
|
||||
return match(prevline, '\S') + &shiftwidth
|
||||
endif
|
||||
|
||||
if prevline =~ '\<case\>\s\+.\+\<of\>\s*$'
|
||||
return match(prevline, '\<case\>') + g:idris2_indent_case
|
||||
endif
|
||||
|
||||
if prevline =~ '^\s*\(\<namespace\>\|\<\(co\)\?data\>\)\s\+\S\+\s*$'
|
||||
return match(prevline, '\(\<namespace\>\|\<\(co\)\?data\>\)') + &shiftwidth
|
||||
endif
|
||||
|
||||
if prevline =~ '^\s*\(\<using\>\|\<parameters\>\)\s*([^(]*)\s*$'
|
||||
return match(prevline, '\(\<using\>\|\<parameters\>\)') + &shiftwidth
|
||||
endif
|
||||
|
||||
if prevline =~ '^\s*\<mutual\>\s*$'
|
||||
return match(prevline, '\<mutual\>') + &shiftwidth
|
||||
endif
|
||||
|
||||
let line = getline(v:lnum)
|
||||
|
||||
if (line =~ '^\s*}\s*' && prevline !~ '^\s*;')
|
||||
return match(prevline, '\S') - &shiftwidth
|
||||
endif
|
||||
|
||||
return match(prevline, '\S')
|
||||
endfunction
|
||||
|
||||
" vim:et:sw=2:sts=2
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: D. Ben Knoble <ben.knoble+github@gmail.com>
|
||||
" Previous Maintainer: Will Langstroth <will@langstroth.com>
|
||||
" URL: https://github.com/benknoble/vim-racket
|
||||
" Last Change: 2024 Jan 31
|
||||
" Last Change: 2024 Nov 12
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -21,6 +21,7 @@ setlocal lispwords+=λ
|
||||
setlocal lispwords+=with-handlers
|
||||
setlocal lispwords+=define-values,opt-lambda,case-lambda,syntax-rules,with-syntax,syntax-case,syntax-parse
|
||||
setlocal lispwords+=define-for-syntax,define-syntax-parser,define-syntax-parse-rule,define-syntax-class,define-splicing-syntax-class
|
||||
setlocal lispwords+=syntax/loc,quasisyntax/loc
|
||||
setlocal lispwords+=define-syntax-parameter,syntax-parameterize
|
||||
setlocal lispwords+=define-signature,unit,unit/sig,compund-unit/sig,define-values/invoke-unit/sig
|
||||
setlocal lispwords+=define-opt/c,define-syntax-rule
|
||||
@@ -30,6 +31,11 @@ setlocal lispwords+=with-input-from-file,with-output-to-file
|
||||
setlocal lispwords+=begin,begin0
|
||||
setlocal lispwords+=place
|
||||
setlocal lispwords+=cond
|
||||
" Racket style indents if like a function application:
|
||||
" (if test
|
||||
" then
|
||||
" else)
|
||||
setlocal lispwords-=if
|
||||
|
||||
" Racket OOP
|
||||
" TODO missing a lot of define-like forms here (e.g., define/augment, etc.)
|
||||
@@ -50,6 +56,7 @@ setlocal lispwords+=for/set,for*/set
|
||||
setlocal lispwords+=for/first,for*/first
|
||||
setlocal lispwords+=for/last,for*/last
|
||||
setlocal lispwords+=for/stream,for*/stream
|
||||
setlocal lispwords+=for/lists,for*/lists
|
||||
|
||||
setlocal lispwords+=match,match*,match/values,define/match,match-lambda,match-lambda*,match-lambda**
|
||||
setlocal lispwords+=match-let,match-let*,match-let-values,match-let*-values
|
||||
@@ -66,4 +73,7 @@ setlocal lispwords+=if-view,case-view,cond-view,list-view,dyn-view
|
||||
setlocal lispwords+=case/dep
|
||||
setlocal lispwords+=define/obs
|
||||
|
||||
" rackunit
|
||||
setlocal lispwords+=define-simple-check,define-binary-check,define-check,with-check-info
|
||||
|
||||
let b:undo_indent = "setlocal lisp< ai< si< lw<" .. (has('vim9script') ? ' indentexpr< lispoptions<' : '')
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-sh-indent
|
||||
" Changelog:
|
||||
" 20241411 - Detect dash character in function keyword for
|
||||
" bash mode (issue #16049)
|
||||
" 20190726 - Correctly skip if keywords in syntax comments
|
||||
" (issue #17)
|
||||
" 20190603 - Do not indent in zsh filetypes with an `if` in comments
|
||||
@@ -195,7 +197,9 @@ endfunction
|
||||
function! s:is_function_definition(line)
|
||||
return a:line =~ '^\s*\<\k\+\>\s*()\s*{' ||
|
||||
\ a:line =~ '^\s*{' ||
|
||||
\ a:line =~ '^\s*function\s*\k\+\s*\%(()\)\?\s*{'
|
||||
\ a:line =~ '^\s*function\s*\k\+\s*\%(()\)\?\s*{' ||
|
||||
\ ((&ft is# 'zsh' || s:is_bash()) &&
|
||||
\ a:line =~ '^\s*function\s*\S\+\s*\%(()\)\?\s*{' )
|
||||
endfunction
|
||||
|
||||
function! s:is_array(line)
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
# vim: set ft=bash sw=2 noet:
|
||||
|
||||
# START_INDENT
|
||||
a = 10
|
||||
b = 20
|
||||
|
||||
function add() {
|
||||
c = $((a + b))
|
||||
}
|
||||
|
||||
function print {
|
||||
# do nothing
|
||||
}
|
||||
|
||||
if [[ $c -ge 15 ]];
|
||||
then
|
||||
print("ok")
|
||||
else
|
||||
print("not ok")
|
||||
fi
|
||||
# END_INDENT
|
||||
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
# vim: set ft=bash sw=2 noet:
|
||||
|
||||
# START_INDENT
|
||||
a = 10
|
||||
b = 20
|
||||
|
||||
function add() {
|
||||
c = $((a + b))
|
||||
}
|
||||
|
||||
function print {
|
||||
# do nothing
|
||||
}
|
||||
|
||||
if [[ $c -ge 15 ]];
|
||||
then
|
||||
print("ok")
|
||||
else
|
||||
print("not ok")
|
||||
fi
|
||||
# END_INDENT
|
||||
@@ -14,6 +14,19 @@ set modeline
|
||||
set debug=throw
|
||||
set nomore
|
||||
|
||||
" Remember the directory where we started.
|
||||
let indentDir = getcwd()
|
||||
cd ../../src/testdir
|
||||
|
||||
" Needed for ValgrindOrAsan().
|
||||
source shared.vim
|
||||
exe 'cd ' .. fnameescape(indentDir)
|
||||
|
||||
if ValgrindOrAsan()
|
||||
let g:vim_indent = {"searchpair_timeout": 1024}
|
||||
let g:python_indent = {"searchpair_timeout": 1024}
|
||||
endif
|
||||
|
||||
au! SwapExists * call HandleSwapExists()
|
||||
func HandleSwapExists()
|
||||
" Ignore finding a swap file for the test input and output, the user might be
|
||||
|
||||
@@ -951,3 +951,12 @@ endenum
|
||||
call prop_type_add('indent_after_literal_dict', #{ foo: 'bar' })
|
||||
call prop_type_delete('indent_after_literal_dict')
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
silent function Foo()
|
||||
return 42
|
||||
endfunction
|
||||
silent! function Bar()
|
||||
return 42
|
||||
endfunction
|
||||
" END_INDENT
|
||||
|
||||
@@ -951,3 +951,12 @@ endenum
|
||||
call prop_type_add('indent_after_literal_dict', #{ foo: 'bar' })
|
||||
call prop_type_delete('indent_after_literal_dict')
|
||||
" END_INDENT
|
||||
|
||||
" START_INDENT
|
||||
silent function Foo()
|
||||
return 42
|
||||
endfunction
|
||||
silent! function Bar()
|
||||
return 42
|
||||
endfunction
|
||||
" END_INDENT
|
||||
|
||||
@@ -768,6 +768,8 @@ call <SID>AddOption("terse", gettext("add 's' flag in 'shortmess' (don't show se
|
||||
call <SID>BinOptionG("terse", &terse)
|
||||
call <SID>AddOption("shortmess", gettext("list of flags to make messages shorter"))
|
||||
call <SID>OptionG("shm", &shm)
|
||||
call <SID>AddOption("msghistory", gettext("how many messages are remembered"))
|
||||
call append("$", " \tset mhi=" . &mhi)
|
||||
call <SID>AddOption("showcmd", gettext("show (partial) command keys in location given by 'showcmdloc'"))
|
||||
let &sc = s:old_sc
|
||||
call <SID>BinOptionG("sc", &sc)
|
||||
|
||||
+940
@@ -0,0 +1,940 @@
|
||||
vim9script noclear
|
||||
|
||||
# Config {{{1
|
||||
|
||||
const SHELL_PROMPT: string = g:
|
||||
->get('helptoc', {})
|
||||
->get('shell_prompt', '^\w\+@\w\+:\f\+\$\s')
|
||||
|
||||
# Init {{{1
|
||||
|
||||
const HELP_TEXT: list<string> =<< trim END
|
||||
normal commands in help window
|
||||
──────────────────────────────
|
||||
? hide this help window
|
||||
<C-J> scroll down one line
|
||||
<C-K> scroll up one line
|
||||
|
||||
normal commands in TOC menu
|
||||
───────────────────────────
|
||||
j select next entry
|
||||
k select previous entry
|
||||
J same as j, and jump to corresponding line in main buffer
|
||||
K same as k, and jump to corresponding line in main buffer
|
||||
c select nearest entry from cursor position in main buffer
|
||||
g select first entry
|
||||
G select last entry
|
||||
H collapse one level
|
||||
L expand one level
|
||||
p print selected entry on command-line
|
||||
|
||||
P same as p but automatically, whenever selection changes
|
||||
press multiple times to toggle feature on/off
|
||||
|
||||
q quit menu
|
||||
z redraw menu with selected entry at center
|
||||
+ increase width of popup menu
|
||||
- decrease width of popup menu
|
||||
/ look for given text with fuzzy algorithm
|
||||
? show help window
|
||||
|
||||
<C-D> scroll down half a page
|
||||
<C-U> scroll up half a page
|
||||
<PageUp> scroll down a whole page
|
||||
<PageDown> scroll up a whole page
|
||||
<Home> select first entry
|
||||
<End> select last entry
|
||||
|
||||
title meaning
|
||||
─────────────
|
||||
example: 12/34 (5/6)
|
||||
broken down:
|
||||
|
||||
12 index of selected entry
|
||||
34 index of last entry
|
||||
5 index of deepest level currently visible
|
||||
6 index of maximum possible level
|
||||
|
||||
tip
|
||||
───
|
||||
after inserting a pattern to look for with the / command,
|
||||
if you press <Esc> instead of <CR>, you can then get
|
||||
more context for each remaining entry by pressing J or K
|
||||
END
|
||||
|
||||
const MATCH_ENTRY: dict<dict<func: bool>> = {
|
||||
help: {},
|
||||
|
||||
man: {
|
||||
1: (line: string, _): bool => line =~ '^\S',
|
||||
2: (line: string, _): bool => line =~ '^\%( \{3\}\)\=\S',
|
||||
3: (line: string, _): bool => line =~ '^\s\+\(\%(+\|-\)\S\+,\s\+\)*\%(+\|-\)\S\+',
|
||||
},
|
||||
|
||||
markdown: {
|
||||
1: (line: string, nextline: string): bool =>
|
||||
(line =~ '^#[^#]' || nextline =~ '^=\+$') && line =~ '\w',
|
||||
2: (line: string, nextline: string): bool =>
|
||||
(line =~ '^##[^#]' || nextline =~ '^-\+$') && line =~ '\w',
|
||||
3: (line: string, _): bool => line =~ '^###[^#]',
|
||||
4: (line: string, _): bool => line =~ '^####[^#]',
|
||||
5: (line: string, _): bool => line =~ '^#####[^#]',
|
||||
6: (line: string, _): bool => line =~ '^######[^#]',
|
||||
},
|
||||
|
||||
terminal: {
|
||||
1: (line: string, _): bool => line =~ SHELL_PROMPT,
|
||||
}
|
||||
}
|
||||
|
||||
const HELP_RULERS: dict<string> = {
|
||||
'=': '^=\{40,}$',
|
||||
'-': '^-\{40,}',
|
||||
}
|
||||
const HELP_RULER: string = HELP_RULERS->values()->join('\|')
|
||||
|
||||
# the regex is copied from the help syntax plugin
|
||||
const HELP_TAG: string = '\*[#-)!+-~]\+\*\%(\s\|$\)\@='
|
||||
|
||||
# Adapted from `$VIMRUNTIME/syntax/help.vim`.{{{
|
||||
#
|
||||
# The original regex is:
|
||||
#
|
||||
# ^[-A-Z .][-A-Z0-9 .()_]*\ze\(\s\+\*\|$\)
|
||||
#
|
||||
# Allowing a space or a hyphen at the start can give false positives, and is
|
||||
# useless, so we don't allow them.
|
||||
#}}}
|
||||
const HELP_HEADLINE: string = '^\C[A-Z.][-A-Z0-9 .()_]*\%(\s\+\*+\@!\|$\)'
|
||||
# ^--^
|
||||
# To prevent some false positives under `:help feature-list`.
|
||||
|
||||
var lvls: dict<number>
|
||||
def InitHelpLvls()
|
||||
lvls = {
|
||||
'*01.1*': 0,
|
||||
'1.': 0,
|
||||
'1.2': 0,
|
||||
'1.2.3': 0,
|
||||
'header ~': 0,
|
||||
HEADLINE: 0,
|
||||
tag: 0,
|
||||
}
|
||||
enddef
|
||||
|
||||
const AUGROUP: string = 'HelpToc'
|
||||
var fuzzy_entries: list<dict<any>>
|
||||
var help_winid: number
|
||||
var print_entry: bool
|
||||
var selected_entry_match: number
|
||||
|
||||
# Interface {{{1
|
||||
export def Open() #{{{2
|
||||
var type: string = GetType()
|
||||
if !MATCH_ENTRY->has_key(type)
|
||||
return
|
||||
endif
|
||||
if type == 'terminal' && win_gettype() == 'popup'
|
||||
# trying to deal with a popup menu on top of a popup terminal seems
|
||||
# too tricky for now
|
||||
echomsg 'does not work in a popup window; only in a regular window'
|
||||
return
|
||||
endif
|
||||
|
||||
# invalidate the cache if the buffer's contents has changed
|
||||
if exists('b:toc') && &filetype != 'man'
|
||||
if b:toc.changedtick != b:changedtick
|
||||
# in a terminal buffer, `b:changedtick` does not change
|
||||
|| type == 'terminal' && line('$') > b:toc.linecount
|
||||
unlet! b:toc
|
||||
endif
|
||||
endif
|
||||
|
||||
if !exists('b:toc')
|
||||
SetToc()
|
||||
endif
|
||||
|
||||
var winpos: list<number> = winnr()->win_screenpos()
|
||||
var height: number = winheight(0) - 2
|
||||
var width: number = winwidth(0)
|
||||
b:toc.width = b:toc.width ?? width / 3
|
||||
# the popup needs enough space to display the help message in its title
|
||||
if b:toc.width < 30
|
||||
b:toc.width = 30
|
||||
endif
|
||||
# Is `popup_menu()` OK with a list of dictionaries?{{{
|
||||
#
|
||||
# Yes, see `:help popup_create-arguments`.
|
||||
# Although, it expects dictionaries with the keys `text` and `props`.
|
||||
# But we use dictionaries with the keys `text` and `lnum`.
|
||||
# IOW, we abuse the feature which lets us use text properties in a popup.
|
||||
#}}}
|
||||
var winid: number = GetTocEntries()
|
||||
->popup_menu({
|
||||
line: winpos[0],
|
||||
col: winpos[1] + width - 1,
|
||||
pos: 'topright',
|
||||
scrollbar: false,
|
||||
highlight: type == 'terminal' ? 'Terminal' : 'Normal',
|
||||
border: [],
|
||||
borderchars: ['─', '│', '─', '│', '┌', '┐', '┘', '└'],
|
||||
minheight: height,
|
||||
maxheight: height,
|
||||
minwidth: b:toc.width,
|
||||
maxwidth: b:toc.width,
|
||||
filter: Filter,
|
||||
callback: Callback,
|
||||
})
|
||||
Win_execute(winid, [$'ownsyntax {&filetype}', '&l:conceallevel = 3'])
|
||||
# In a help file, we might reduce some noisy tags to a trailing asterisk.
|
||||
# Hide those.
|
||||
if type == 'help'
|
||||
matchadd('Conceal', '\*$', 0, -1, {window: winid})
|
||||
endif
|
||||
SelectNearestEntryFromCursor(winid)
|
||||
|
||||
# can't set the title before jumping to the relevant line, otherwise the
|
||||
# indicator in the title might be wrong
|
||||
SetTitle(winid)
|
||||
enddef
|
||||
#}}}1
|
||||
# Core {{{1
|
||||
def SetToc() #{{{2
|
||||
var toc: dict<any> = {entries: []}
|
||||
var type: string = GetType()
|
||||
toc.changedtick = b:changedtick
|
||||
if !toc->has_key('width')
|
||||
toc.width = 0
|
||||
endif
|
||||
# We cache the toc in `b:toc` to get better performance.{{{
|
||||
#
|
||||
# Without caching, when we press `H`, `L`, `H`, `L`, ... quickly for a few
|
||||
# seconds, there is some lag if we then try to move with `j` and `k`.
|
||||
# This can only be perceived in big man pages like with `:Man ffmpeg-all`.
|
||||
#}}}
|
||||
b:toc = toc
|
||||
|
||||
if type == 'help'
|
||||
SetTocHelp()
|
||||
return
|
||||
endif
|
||||
|
||||
if type == 'terminal'
|
||||
b:toc.linecount = line('$')
|
||||
endif
|
||||
|
||||
var curline: string = getline(1)
|
||||
var nextline: string
|
||||
var lvl_and_test: list<list<any>> = MATCH_ENTRY
|
||||
->get(type, {})
|
||||
->items()
|
||||
->sort((l: list<any>, ll: list<any>): number => l[0]->str2nr() - ll[0]->str2nr())
|
||||
|
||||
for lnum: number in range(1, line('$'))
|
||||
nextline = getline(lnum + 1)
|
||||
for [lvl: string, IsEntry: func: bool] in lvl_and_test
|
||||
if IsEntry(curline, nextline)
|
||||
b:toc.entries->add({
|
||||
lnum: lnum,
|
||||
lvl: lvl->str2nr(),
|
||||
text: curline,
|
||||
})
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
curline = nextline
|
||||
endfor
|
||||
|
||||
InitMaxAndCurLvl()
|
||||
enddef
|
||||
|
||||
def SetTocHelp() #{{{2
|
||||
var main_ruler: string
|
||||
for line: string in getline(1, '$')
|
||||
if line =~ HELP_RULER
|
||||
main_ruler = line =~ '=' ? HELP_RULERS['='] : HELP_RULERS['-']
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
|
||||
var prevline: string
|
||||
var curline: string = getline(1)
|
||||
var nextline: string
|
||||
var in_list: bool
|
||||
var last_numbered_entry: number
|
||||
InitHelpLvls()
|
||||
for lnum: number in range(1, line('$'))
|
||||
nextline = getline(lnum + 1)
|
||||
|
||||
if main_ruler != '' && curline =~ main_ruler
|
||||
last_numbered_entry = 0
|
||||
# The information gathered in `lvls` might not be applicable to all
|
||||
# the main sections of a help file. Let's reset it whenever we find
|
||||
# a ruler.
|
||||
InitHelpLvls()
|
||||
endif
|
||||
|
||||
# Do not assume that a list ends on an empty line.
|
||||
# See the list at `:help gdb` for a counter-example.
|
||||
if in_list
|
||||
&& curline !~ '^\d\+.\s'
|
||||
&& curline !~ '^\s*$'
|
||||
&& curline !~ '^[< \t]'
|
||||
in_list = false
|
||||
endif
|
||||
|
||||
if prevline =~ '^\d\+\.\s'
|
||||
&& curline !~ '^\s*$'
|
||||
&& curline !~ $'^\s*{HELP_TAG}'
|
||||
in_list = true
|
||||
endif
|
||||
|
||||
# 1.
|
||||
if prevline =~ '^\d\+\.\s'
|
||||
# let's assume that the start of a main entry is always followed by an
|
||||
# empty line, or a line starting with a tag
|
||||
&& (curline =~ '^>\=\s*$' || curline =~ $'^\s*{HELP_TAG}')
|
||||
# ignore a numbered line in a list
|
||||
&& !in_list
|
||||
var current_numbered_entry: number = prevline
|
||||
->matchstr('^\d\+\ze\.\s')
|
||||
->str2nr()
|
||||
if current_numbered_entry > last_numbered_entry
|
||||
AddEntryInTocHelp('1.', lnum - 1, prevline)
|
||||
last_numbered_entry = prevline
|
||||
->matchstr('^\d\+\ze\.\s')
|
||||
->str2nr()
|
||||
endif
|
||||
endif
|
||||
|
||||
# 1.2
|
||||
if curline =~ '^\d\+\.\d\+\s'
|
||||
if curline =~ $'\%({HELP_TAG}\s*\|\~\)$'
|
||||
|| (prevline =~ $'^\s*{HELP_TAG}' || nextline =~ $'^\s*{HELP_TAG}')
|
||||
|| (prevline =~ HELP_RULER || nextline =~ HELP_RULER)
|
||||
|| (prevline =~ '^\s*$' && nextline =~ '^\s*$')
|
||||
AddEntryInTocHelp('1.2', lnum, curline)
|
||||
endif
|
||||
# 1.2.3
|
||||
elseif curline =~ '^\s\=\d\+\.\d\+\.\d\+\s'
|
||||
AddEntryInTocHelp('1.2.3', lnum, curline)
|
||||
endif
|
||||
|
||||
# HEADLINE
|
||||
if curline =~ HELP_HEADLINE
|
||||
&& curline !~ '^CTRL-'
|
||||
&& prevline->IsSpecialHelpLine()
|
||||
&& (nextline->IsSpecialHelpLine() || nextline =~ '^\s*(\|^\t\|^N[oO][tT][eE]:')
|
||||
AddEntryInTocHelp('HEADLINE', lnum, curline)
|
||||
endif
|
||||
|
||||
# header ~
|
||||
if curline =~ '\~$'
|
||||
&& curline =~ '\w'
|
||||
&& curline !~ '^[ \t<]\|\t\|---+---\|^NOTE:'
|
||||
&& curline !~ '^\d\+\.\%(\d\+\%(\.\d\+\)\=\)\=\s'
|
||||
&& prevline !~ $'^\s*{HELP_TAG}'
|
||||
&& prevline !~ '\~$'
|
||||
&& nextline !~ '\~$'
|
||||
AddEntryInTocHelp('header ~', lnum, curline)
|
||||
endif
|
||||
|
||||
# *some_tag*
|
||||
if curline =~ HELP_TAG
|
||||
AddEntryInTocHelp('tag', lnum, curline)
|
||||
endif
|
||||
|
||||
# In the Vim user manual, a main section is a special case.{{{
|
||||
#
|
||||
# It's not a simple numbered section:
|
||||
#
|
||||
# 01.1
|
||||
#
|
||||
# It's used as a tag:
|
||||
#
|
||||
# *01.1* Two manuals
|
||||
# ^ ^
|
||||
#}}}
|
||||
if prevline =~ main_ruler && curline =~ '^\*\d\+\.\d\+\*'
|
||||
AddEntryInTocHelp('*01.1*', lnum, curline)
|
||||
endif
|
||||
|
||||
[prevline, curline] = [curline, nextline]
|
||||
endfor
|
||||
|
||||
# let's ignore the tag on the first line (not really interesting)
|
||||
if b:toc.entries->get(0, {})->get('lnum') == 1
|
||||
b:toc.entries->remove(0)
|
||||
endif
|
||||
|
||||
# let's also ignore anything before the first `1.` line
|
||||
var i: number = b:toc.entries
|
||||
->copy()
|
||||
->map((_, entry: dict<any>) => entry.text)
|
||||
->match('^\s*1\.\s')
|
||||
if i > 0
|
||||
b:toc.entries->remove(0, i - 1)
|
||||
endif
|
||||
|
||||
InitMaxAndCurLvl()
|
||||
|
||||
# set level of tag entries to the deepest level
|
||||
var has_tag: bool = b:toc.entries
|
||||
->copy()
|
||||
->map((_, entry: dict<any>) => entry.text)
|
||||
->match(HELP_TAG) >= 0
|
||||
if has_tag
|
||||
++b:toc.maxlvl
|
||||
endif
|
||||
b:toc.entries
|
||||
->map((_, entry: dict<any>) => entry.lvl == 0
|
||||
? entry->extend({lvl: b:toc.maxlvl})
|
||||
: entry)
|
||||
|
||||
# fix indentation
|
||||
var min_lvl: number = b:toc.entries
|
||||
->copy()
|
||||
->map((_, entry: dict<any>) => entry.lvl)
|
||||
->min()
|
||||
for entry: dict<any> in b:toc.entries
|
||||
entry.text = entry.text
|
||||
->substitute('^\s*', () => repeat(' ', (entry.lvl - min_lvl) * 3), '')
|
||||
endfor
|
||||
enddef
|
||||
|
||||
def AddEntryInTocHelp(type: string, lnum: number, line: string) #{{{2
|
||||
# don't add a duplicate entry
|
||||
if lnum == b:toc.entries->get(-1, {})->get('lnum')
|
||||
# For a numbered line containing a tag, *do* add an entry.
|
||||
# But only for its numbered prefix, not for its tag.
|
||||
# The former is the line's most meaningful representation.
|
||||
if b:toc.entries->get(-1, {})->get('type') == 'tag'
|
||||
b:toc.entries->remove(-1)
|
||||
else
|
||||
return
|
||||
endif
|
||||
endif
|
||||
|
||||
var text: string = line
|
||||
if type == 'tag'
|
||||
var tags: list<string>
|
||||
text->substitute(HELP_TAG, () => !!tags->add(submatch(0)), 'g')
|
||||
text = tags
|
||||
# we ignore errors and warnings because those are meaningless in
|
||||
# a TOC where no context is available
|
||||
->filter((_, tag: string) => tag !~ '\*[EW]\d\+\*')
|
||||
->join()
|
||||
if text !~ HELP_TAG
|
||||
return
|
||||
endif
|
||||
endif
|
||||
|
||||
var maxlvl: number = lvls->values()->max()
|
||||
if type == 'tag'
|
||||
lvls[type] = 0
|
||||
elseif type == '1.2'
|
||||
lvls[type] = lvls[type] ?? lvls->get('1.', maxlvl) + 1
|
||||
elseif type == '1.2.3'
|
||||
lvls[type] = lvls[type] ?? lvls->get('1.2', maxlvl) + 1
|
||||
else
|
||||
lvls[type] = lvls[type] ?? maxlvl + 1
|
||||
endif
|
||||
|
||||
# Ignore noisy tags.{{{
|
||||
#
|
||||
# 14. Linking groups *:hi-link* *:highlight-link* *E412* *E413*
|
||||
# ^----------------------------------------^
|
||||
# ^\s*\d\+\.\%(\d\+\.\=\)*\s\+.\{-}\zs\*.*
|
||||
# ---
|
||||
#
|
||||
# We don't use conceal because then, `matchfuzzypos()` could match concealed
|
||||
# characters, which would be confusing.
|
||||
#}}}
|
||||
# MAKING YOUR OWN SYNTAX FILES *mysyntaxfile*
|
||||
# ^------------^
|
||||
# ^\s*[A-Z].\{-}\*\zs.*
|
||||
#
|
||||
var after_HEADLINE: string = '^\s*[A-Z].\{-}\*\zs.*'
|
||||
# 14. Linking groups *:hi-link* *:highlight-link* *E412* *E413*
|
||||
# ^----------------------------------------^
|
||||
# ^\s*\d\+\.\%(\d\+\.\=\)*\s\+.\{-}\*\zs.*
|
||||
var after_numbered: string = '^\s*\d\+\.\%(\d\+\.\=\)*\s\+.\{-}\*\zs.*'
|
||||
# 01.3 Using the Vim tutor *tutor* *vimtutor*
|
||||
# ^----------------^
|
||||
var after_numbered_tutor: string = '^\*\d\+\.\%(\d\+\.\=\)*.\{-}\t\*\zs.*'
|
||||
var noisy_tags: string = $'{after_HEADLINE}\|{after_numbered}\|{after_numbered_tutor}'
|
||||
text = text->substitute(noisy_tags, '', '')
|
||||
# We don't remove the trailing asterisk, because the help syntax plugin
|
||||
# might need it to highlight some headlines.
|
||||
|
||||
b:toc.entries->add({
|
||||
lnum: lnum,
|
||||
lvl: lvls[type],
|
||||
text: text,
|
||||
type: type,
|
||||
})
|
||||
enddef
|
||||
|
||||
def InitMaxAndCurLvl() #{{{2
|
||||
b:toc.maxlvl = b:toc.entries
|
||||
->copy()
|
||||
->map((_, entry: dict<any>) => entry.lvl)
|
||||
->max()
|
||||
b:toc.curlvl = b:toc.maxlvl
|
||||
enddef
|
||||
|
||||
def Popup_settext(winid: number, entries: list<dict<any>>) #{{{2
|
||||
var text: list<any>
|
||||
# When we fuzzy search the toc, the dictionaries in `entries` contain a
|
||||
# `props` key, to highlight each matched character individually.
|
||||
# We don't want to process those dictionaries further.
|
||||
# The processing should already have been done by the caller.
|
||||
if entries->get(0, {})->has_key('props')
|
||||
text = entries
|
||||
else
|
||||
text = entries
|
||||
->copy()
|
||||
->map((_, entry: dict<any>): string => entry.text)
|
||||
endif
|
||||
popup_settext(winid, text)
|
||||
SetTitle(winid)
|
||||
redraw
|
||||
enddef
|
||||
|
||||
def SetTitle(winid: number) #{{{2
|
||||
var curlnum: number
|
||||
var lastlnum: number = line('$', winid)
|
||||
var is_empty: bool = lastlnum == 1
|
||||
&& winid->winbufnr()->getbufoneline(1) == ''
|
||||
if is_empty
|
||||
[curlnum, lastlnum] = [0, 0]
|
||||
else
|
||||
curlnum = line('.', winid)
|
||||
endif
|
||||
var newtitle: string = printf(' %*d/%d (%d/%d)',
|
||||
len(lastlnum), curlnum,
|
||||
lastlnum,
|
||||
b:toc.curlvl,
|
||||
b:toc.maxlvl,
|
||||
)
|
||||
|
||||
var width: number = winid->popup_getoptions().minwidth
|
||||
newtitle = printf('%s%*s',
|
||||
newtitle,
|
||||
width - newtitle->strlen(),
|
||||
'press ? for help ')
|
||||
|
||||
popup_setoptions(winid, {title: newtitle})
|
||||
enddef
|
||||
|
||||
def SelectNearestEntryFromCursor(winid: number) #{{{2
|
||||
var lnum: number = line('.')
|
||||
var firstline: number = b:toc.entries
|
||||
->copy()
|
||||
->filter((_, line: dict<any>): bool => line.lvl <= b:toc.curlvl && line.lnum <= lnum)
|
||||
->len()
|
||||
if firstline == 0
|
||||
return
|
||||
endif
|
||||
Win_execute(winid, $'normal! {firstline}Gzz')
|
||||
enddef
|
||||
|
||||
def Filter(winid: number, key: string): bool #{{{2
|
||||
# support various normal commands for moving/scrolling
|
||||
if [
|
||||
'j', 'J', 'k', 'K', "\<Down>", "\<Up>", "\<C-N>", "\<C-P>",
|
||||
"\<C-D>", "\<C-U>",
|
||||
"\<PageUp>", "\<PageDown>",
|
||||
'g', 'G', "\<Home>", "\<End>",
|
||||
'z'
|
||||
]->index(key) >= 0
|
||||
var scroll_cmd: string = {
|
||||
J: 'j',
|
||||
K: 'k',
|
||||
g: '1G',
|
||||
"\<Home>": '1G',
|
||||
"\<End>": 'G',
|
||||
z: 'zz'
|
||||
}->get(key, key)
|
||||
|
||||
var old_lnum: number = line('.', winid)
|
||||
Win_execute(winid, $'normal! {scroll_cmd}')
|
||||
var new_lnum: number = line('.', winid)
|
||||
|
||||
if print_entry
|
||||
PrintEntry(winid)
|
||||
endif
|
||||
|
||||
# wrap around the edges
|
||||
if new_lnum == old_lnum
|
||||
scroll_cmd = {
|
||||
j: '1G',
|
||||
J: '1G',
|
||||
k: 'G',
|
||||
K: 'G',
|
||||
"\<Down>": '1G',
|
||||
"\<Up>": 'G',
|
||||
"\<C-N>": '1G',
|
||||
"\<C-P>": 'G',
|
||||
}->get(key, '')
|
||||
if !scroll_cmd->empty()
|
||||
Win_execute(winid, $'normal! {scroll_cmd}')
|
||||
endif
|
||||
endif
|
||||
|
||||
# move the cursor to the corresponding line in the main buffer
|
||||
if key == 'J' || key == 'K'
|
||||
var lnum: number = GetBufLnum(winid)
|
||||
execute $'normal! 0{lnum}zt'
|
||||
# install a match in the regular buffer to highlight the position of
|
||||
# the entry in the latter
|
||||
MatchDelete()
|
||||
selected_entry_match = matchaddpos('IncSearch', [lnum], 0, -1)
|
||||
endif
|
||||
SetTitle(winid)
|
||||
|
||||
return true
|
||||
|
||||
elseif key == 'c'
|
||||
SelectNearestEntryFromCursor(winid)
|
||||
return true
|
||||
|
||||
# when we press `p`, print the selected line (useful when it's truncated)
|
||||
elseif key == 'p'
|
||||
PrintEntry(winid)
|
||||
return true
|
||||
|
||||
# same thing, but automatically
|
||||
elseif key == 'P'
|
||||
print_entry = !print_entry
|
||||
if print_entry
|
||||
PrintEntry(winid)
|
||||
else
|
||||
echo ''
|
||||
endif
|
||||
return true
|
||||
|
||||
elseif key == 'q'
|
||||
popup_close(winid, -1)
|
||||
return true
|
||||
|
||||
elseif key == '?'
|
||||
ToggleHelp(winid)
|
||||
return true
|
||||
|
||||
# scroll help window
|
||||
elseif key == "\<C-J>" || key == "\<C-K>"
|
||||
var scroll_cmd: string = {"\<C-J>": 'j', "\<C-K>": 'k'}->get(key, key)
|
||||
if scroll_cmd == 'j' && line('.', help_winid) == line('$', help_winid)
|
||||
scroll_cmd = '1G'
|
||||
elseif scroll_cmd == 'k' && line('.', help_winid) == 1
|
||||
scroll_cmd = 'G'
|
||||
endif
|
||||
Win_execute(help_winid, $'normal! {scroll_cmd}')
|
||||
return true
|
||||
|
||||
# increase/decrease the popup's width
|
||||
elseif key == '+' || key == '-'
|
||||
var width: number = winid->popup_getoptions().minwidth
|
||||
if key == '-' && width == 1
|
||||
|| key == '+' && winid->popup_getpos().col == 1
|
||||
return true
|
||||
endif
|
||||
width = width + (key == '+' ? 1 : -1)
|
||||
# remember the last width if we close and re-open the TOC later
|
||||
b:toc.width = width
|
||||
popup_setoptions(winid, {minwidth: width, maxwidth: width})
|
||||
return true
|
||||
|
||||
elseif key == 'H' && b:toc.curlvl > 1
|
||||
|| key == 'L' && b:toc.curlvl < b:toc.maxlvl
|
||||
CollapseOrExpand(winid, key)
|
||||
return true
|
||||
|
||||
elseif key == '/'
|
||||
# This is probably what the user expect if they've started a first fuzzy
|
||||
# search, press Escape, then start a new one.
|
||||
DisplayNonFuzzyToc(winid)
|
||||
|
||||
[{
|
||||
group: AUGROUP,
|
||||
event: 'CmdlineChanged',
|
||||
pattern: '@',
|
||||
cmd: $'FuzzySearch({winid})',
|
||||
replace: true,
|
||||
}, {
|
||||
group: AUGROUP,
|
||||
event: 'CmdlineLeave',
|
||||
pattern: '@',
|
||||
cmd: 'TearDown()',
|
||||
replace: true,
|
||||
}]->autocmd_add()
|
||||
|
||||
# Need to evaluate `winid` right now with an `eval`'ed and `execute()`'ed heredoc because:{{{
|
||||
#
|
||||
# - the mappings can only access the script-local namespace
|
||||
# - `winid` is in the function namespace; not in the script-local one
|
||||
#}}}
|
||||
var input_mappings: list<string> =<< trim eval END
|
||||
cnoremap <buffer><nowait> <Down> <ScriptCmd>Filter({winid}, 'j')<CR>
|
||||
cnoremap <buffer><nowait> <Up> <ScriptCmd>Filter({winid}, 'k')<CR>
|
||||
cnoremap <buffer><nowait> <C-N> <ScriptCmd>Filter({winid}, 'j')<CR>
|
||||
cnoremap <buffer><nowait> <C-P> <ScriptCmd>Filter({winid}, 'k')<CR>
|
||||
END
|
||||
input_mappings->execute()
|
||||
|
||||
var look_for: string
|
||||
try
|
||||
popup_setoptions(winid, {mapping: true})
|
||||
look_for = input('look for: ', '', $'custom,{Complete->string()}') | redraw | echo ''
|
||||
catch /Vim:Interrupt/
|
||||
TearDown()
|
||||
finally
|
||||
popup_setoptions(winid, {mapping: false})
|
||||
endtry
|
||||
return look_for == '' ? true : popup_filter_menu(winid, "\<CR>")
|
||||
endif
|
||||
|
||||
return popup_filter_menu(winid, key)
|
||||
enddef
|
||||
|
||||
def FuzzySearch(winid: number) #{{{2
|
||||
var look_for: string = getcmdline()
|
||||
if look_for == ''
|
||||
DisplayNonFuzzyToc(winid)
|
||||
return
|
||||
endif
|
||||
|
||||
# We match against *all* entries; not just the currently visible ones.
|
||||
# Rationale: If we use a (fuzzy) search, we're probably lost. We don't know
|
||||
# where the info is.
|
||||
var matches: list<list<any>> = b:toc.entries
|
||||
->copy()
|
||||
->matchfuzzypos(look_for, {key: 'text'})
|
||||
|
||||
fuzzy_entries = matches->get(0, [])->copy()
|
||||
var pos: list<list<number>> = matches->get(1, [])
|
||||
|
||||
var text: list<dict<any>>
|
||||
if !has('textprop')
|
||||
text = matches->get(0, [])
|
||||
else
|
||||
var buf: number = winid->winbufnr()
|
||||
if prop_type_get('help-fuzzy-toc', {bufnr: buf}) == {}
|
||||
prop_type_add('help-fuzzy-toc', {
|
||||
bufnr: buf,
|
||||
combine: false,
|
||||
highlight: 'IncSearch',
|
||||
})
|
||||
endif
|
||||
text = matches
|
||||
->get(0, [])
|
||||
->map((i: number, match: dict<any>) => ({
|
||||
text: match.text,
|
||||
props: pos[i]->copy()->map((_, col: number) => ({
|
||||
col: col + 1,
|
||||
length: 1,
|
||||
type: 'help-fuzzy-toc',
|
||||
}))}))
|
||||
endif
|
||||
Win_execute(winid, 'normal! 1Gzt')
|
||||
Popup_settext(winid, text)
|
||||
enddef
|
||||
|
||||
def DisplayNonFuzzyToc(winid: number) #{{{2
|
||||
fuzzy_entries = null_list
|
||||
Popup_settext(winid, GetTocEntries())
|
||||
enddef
|
||||
|
||||
def PrintEntry(winid: number) #{{{2
|
||||
echo GetTocEntries()[line('.', winid) - 1]['text']
|
||||
enddef
|
||||
|
||||
def CollapseOrExpand(winid: number, key: string) #{{{2
|
||||
# Must be saved before we reset the popup contents, so we can
|
||||
# automatically select the least unexpected entry in the updated popup.
|
||||
var buf_lnum: number = GetBufLnum(winid)
|
||||
|
||||
# find the nearest lower level for which the contents of the TOC changes
|
||||
if key == 'H'
|
||||
while b:toc.curlvl > 1
|
||||
var old: list<dict<any>> = GetTocEntries()
|
||||
--b:toc.curlvl
|
||||
var new: list<dict<any>> = GetTocEntries()
|
||||
# In `:help`, there are only entries in levels 3.
|
||||
# We don't want to collapse to level 2, nor 1.
|
||||
# It would clear the TOC which is confusing.
|
||||
if new->empty()
|
||||
++b:toc.curlvl
|
||||
break
|
||||
endif
|
||||
var did_change: bool = new != old
|
||||
if did_change || b:toc.curlvl == 1
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
# find the nearest upper level for which the contents of the TOC changes
|
||||
else
|
||||
while b:toc.curlvl < b:toc.maxlvl
|
||||
var old: list<dict<any>> = GetTocEntries()
|
||||
++b:toc.curlvl
|
||||
var did_change: bool = GetTocEntries() != old
|
||||
if did_change || b:toc.curlvl == b:toc.maxlvl
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
endif
|
||||
|
||||
# update the popup contents
|
||||
var toc_entries: list<dict<any>> = GetTocEntries()
|
||||
Popup_settext(winid, toc_entries)
|
||||
|
||||
# Try to select the same entry; if it's no longer visible, select its
|
||||
# direct parent.
|
||||
var toc_lnum: number = 0
|
||||
for entry: dict<any> in toc_entries
|
||||
if entry.lnum > buf_lnum
|
||||
break
|
||||
endif
|
||||
++toc_lnum
|
||||
endfor
|
||||
Win_execute(winid, $'normal! {toc_lnum ?? 1}Gzz')
|
||||
enddef
|
||||
|
||||
def MatchDelete() #{{{2
|
||||
if selected_entry_match == 0
|
||||
return
|
||||
endif
|
||||
|
||||
selected_entry_match->matchdelete()
|
||||
selected_entry_match = 0
|
||||
enddef
|
||||
|
||||
def Callback(winid: number, choice: number) #{{{2
|
||||
MatchDelete()
|
||||
|
||||
if help_winid != 0
|
||||
help_winid->popup_close()
|
||||
help_winid = 0
|
||||
endif
|
||||
|
||||
if choice == -1
|
||||
fuzzy_entries = null_list
|
||||
return
|
||||
endif
|
||||
|
||||
var lnum: number = GetTocEntries()
|
||||
->get(choice - 1, {})
|
||||
->get('lnum')
|
||||
|
||||
fuzzy_entries = null_list
|
||||
|
||||
if lnum == 0
|
||||
return
|
||||
endif
|
||||
|
||||
cursor(lnum, 1)
|
||||
normal! zvzt
|
||||
enddef
|
||||
|
||||
def ToggleHelp(menu_winid: number) #{{{2
|
||||
if help_winid == 0
|
||||
var height: number = [HELP_TEXT->len(), winheight(0) * 2 / 3]->min()
|
||||
var longest_line: number = HELP_TEXT
|
||||
->copy()
|
||||
->map((_, line: string) => line->strcharlen())
|
||||
->max()
|
||||
var width: number = [longest_line, winwidth(0) * 2 / 3]->min()
|
||||
var pos: dict<number> = popup_getpos(menu_winid)
|
||||
var [line: number, col: number] = [pos.line, pos.col]
|
||||
--col
|
||||
var zindex: number = popup_getoptions(menu_winid).zindex
|
||||
++zindex
|
||||
help_winid = HELP_TEXT->popup_create({
|
||||
line: line,
|
||||
col: col,
|
||||
pos: 'topright',
|
||||
minheight: height,
|
||||
maxheight: height,
|
||||
minwidth: width,
|
||||
maxwidth: width,
|
||||
border: [],
|
||||
borderchars: ['─', '│', '─', '│', '┌', '┐', '┘', '└'],
|
||||
highlight: &buftype == 'terminal' ? 'Terminal' : 'Normal',
|
||||
scrollbar: false,
|
||||
zindex: zindex,
|
||||
})
|
||||
|
||||
setwinvar(help_winid, '&cursorline', true)
|
||||
setwinvar(help_winid, '&linebreak', true)
|
||||
matchadd('Special', '^<\S\+\|^\S\{,2} \@=', 0, -1, {window: help_winid})
|
||||
matchadd('Number', '\d\+', 0, -1, {window: help_winid})
|
||||
for lnum: number in HELP_TEXT->len()->range()
|
||||
if HELP_TEXT[lnum] =~ '^─\+$'
|
||||
matchaddpos('Title', [lnum], 0, -1, {window: help_winid})
|
||||
endif
|
||||
endfor
|
||||
|
||||
else
|
||||
if IsVisible(help_winid)
|
||||
popup_hide(help_winid)
|
||||
else
|
||||
popup_show(help_winid)
|
||||
endif
|
||||
endif
|
||||
enddef
|
||||
|
||||
def Win_execute(winid: number, cmd: any) #{{{2
|
||||
# wrapper around `win_execute()` to enforce a redraw, which might be necessary
|
||||
# whenever we change the cursor position
|
||||
win_execute(winid, cmd)
|
||||
redraw
|
||||
enddef
|
||||
|
||||
def TearDown() #{{{2
|
||||
autocmd_delete([{group: AUGROUP}])
|
||||
cunmap <buffer> <Down>
|
||||
cunmap <buffer> <Up>
|
||||
cunmap <buffer> <C-N>
|
||||
cunmap <buffer> <C-P>
|
||||
enddef
|
||||
#}}}1
|
||||
# Util {{{1
|
||||
def GetType(): string #{{{2
|
||||
return &buftype == 'terminal' ? 'terminal' : &filetype
|
||||
enddef
|
||||
|
||||
def GetTocEntries(): list<dict<any>> #{{{2
|
||||
return fuzzy_entries ?? b:toc.entries
|
||||
->copy()
|
||||
->filter((_, entry: dict<any>): bool => entry.lvl <= b:toc.curlvl)
|
||||
enddef
|
||||
|
||||
def GetBufLnum(winid: number): number #{{{2
|
||||
var toc_lnum: number = line('.', winid)
|
||||
return GetTocEntries()
|
||||
->get(toc_lnum - 1, {})
|
||||
->get('lnum')
|
||||
enddef
|
||||
|
||||
def IsVisible(win: number): bool #{{{2
|
||||
return win->popup_getpos()->get('visible')
|
||||
enddef
|
||||
|
||||
def IsSpecialHelpLine(line: string): bool #{{{2
|
||||
return line =~ '^[<>]\=\s*$'
|
||||
|| line =~ '^\s*\*'
|
||||
|| line =~ HELP_RULER
|
||||
|| line =~ HELP_HEADLINE
|
||||
enddef
|
||||
|
||||
def Complete(..._): string #{{{2
|
||||
return b:toc.entries
|
||||
->copy()
|
||||
->map((_, entry: dict<any>) => entry.text->trim(' ~')->substitute('*', '', 'g'))
|
||||
->filter((_, text: string): bool => text =~ '^[-a-zA-Z0-9_() ]\+$')
|
||||
->sort()
|
||||
->uniq()
|
||||
->join("\n")
|
||||
enddef
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
vim9script noclear
|
||||
|
||||
import autoload '../autoload/helptoc.vim'
|
||||
|
||||
command -bar HelpToc helptoc.Open()
|
||||
@@ -1912,6 +1912,11 @@ def CreateBreakpoint(id: number, subid: number, enabled: string)
|
||||
var label = ''
|
||||
if exists('g:termdebug_config') && has_key(g:termdebug_config, 'sign')
|
||||
label = g:termdebug_config['sign']
|
||||
elseif exists('g:termdebug_config') && has_key(g:termdebug_config, 'sign_decimal')
|
||||
label = printf('%02d', id)
|
||||
if id > 99
|
||||
label = '9+'
|
||||
endif
|
||||
else
|
||||
label = printf('%02X', id)
|
||||
if id > 255
|
||||
|
||||
@@ -17,6 +17,9 @@ endif
|
||||
if !exists("g:matchparen_insert_timeout")
|
||||
let g:matchparen_insert_timeout = 60
|
||||
endif
|
||||
if !exists("g:matchparen_disable_cursor_hl")
|
||||
let g:matchparen_disable_cursor_hl = 0
|
||||
endif
|
||||
|
||||
let s:has_matchaddpos = exists('*matchaddpos')
|
||||
|
||||
@@ -189,10 +192,18 @@ func s:Highlight_Matching_Pair()
|
||||
" If a match is found setup match highlighting.
|
||||
if m_lnum > 0 && m_lnum >= stoplinetop && m_lnum <= stoplinebottom
|
||||
if s:has_matchaddpos
|
||||
call add(w:matchparen_ids, matchaddpos('MatchParen', [[c_lnum, c_col - before], [m_lnum, m_col]], 10))
|
||||
if !g:matchparen_disable_cursor_hl
|
||||
call add(w:matchparen_ids, matchaddpos('MatchParen', [[c_lnum, c_col - before], [m_lnum, m_col]], 10))
|
||||
else
|
||||
call add(w:matchparen_ids, matchaddpos('MatchParen', [[m_lnum, m_col]], 10))
|
||||
endif
|
||||
else
|
||||
exe '3match MatchParen /\(\%' . c_lnum . 'l\%' . (c_col - before) .
|
||||
\ 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/'
|
||||
if !g:matchparen_disable_cursor_hl
|
||||
exe '3match MatchParen /\(\%' . c_lnum . 'l\%' . (c_col - before) .
|
||||
\ 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/'
|
||||
else
|
||||
exe '3match MatchParen /\(\%' . m_lnum . 'l\%' . m_col . 'c\)/'
|
||||
endif
|
||||
call add(w:matchparen_ids, 3)
|
||||
endif
|
||||
let w:paren_hl_on = 1
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
if exists('g:loaded_tutor_mode_plugin') || &compatible
|
||||
finish
|
||||
endif
|
||||
let g:loaded_tutor_mode_plugin = 1
|
||||
|
||||
command! -nargs=? -complete=custom,tutor#TutorCmdComplete Tutor call tutor#TutorCmd(<q-args>)
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim syntax support file
|
||||
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
|
||||
" Last Change: 2023 Sep 05
|
||||
" Last Change: 2024 Nov 02
|
||||
"
|
||||
" Additional contributors:
|
||||
"
|
||||
@@ -1843,6 +1843,10 @@ if s:settings.use_css && !s:settings.no_doc
|
||||
" default font size for different elements
|
||||
call append('.', '* { font-size: 1em; }')
|
||||
+
|
||||
" use color scheme styles for links
|
||||
" browser-default blue/purple colors for links don't look like the existing theme and are unreadable on dark backgrounds
|
||||
call append('.', 'a { color: inherit; }')
|
||||
+
|
||||
" if we use any input elements for unselectable content, make sure they look
|
||||
" like normal text
|
||||
if !empty(s:settings.prevent_copy)
|
||||
|
||||
+258
-243
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: 8th
|
||||
" Version: 23.09.01
|
||||
" Last Change: 2023 Dec 19
|
||||
" Version: 24.08
|
||||
" Last Change: 2024 Nov 07
|
||||
" Maintainer: Ron Aaron <ron@aaron-tech.com>
|
||||
" URL: https://8th-dev.com/
|
||||
" Filetypes: *.8th
|
||||
@@ -36,16 +36,16 @@ com! -nargs=+ Builtin syn keyword eighthBuiltin <args>
|
||||
|
||||
|
||||
Builtin gen-secret 2fa:gen-secret gen-url 2fa:gen-url validate-code 2fa:validate-code cb AWS:cb cli AWS:cli
|
||||
Builtin cmd AWS:cmd cp AWS:cp rc AWS:rc call DBUS:call init DBUS:init + DOM:+ - DOM:- attr! DOM:attr!
|
||||
Builtin attr@ DOM:attr@ attrs DOM:attrs children DOM:children css-parse DOM:css-parse each DOM:each
|
||||
Builtin find DOM:find new DOM:new type DOM:type ! G:! !if G:!if #! G:#! ## G:## #if G:#if ' G:' ( G:(
|
||||
Builtin (* G:(* (:) G:(:) (code) G:(code) (defer) G:(defer) (dump) G:(dump) (getc) G:(getc) (gets) G:(gets)
|
||||
Builtin cmd AWS:cmd cp AWS:cp rc AWS:rc LIBS DBUS:LIBS call DBUS:call init DBUS:init + DOM:+ - DOM:-
|
||||
Builtin attr! DOM:attr! attr@ DOM:attr@ attrs DOM:attrs children DOM:children css-parse DOM:css-parse
|
||||
Builtin each DOM:each find DOM:find new DOM:new type DOM:type ! G:! !if G:!if #! G:#! ## G:## #if G:#if
|
||||
Builtin ' G:' ( G:( (:) G:(:) (code) G:(code) (defer) G:(defer) (dump) G:(dump) (getc) G:(getc) (gets) G:(gets)
|
||||
Builtin (interp) G:(interp) (log) G:(log) (needs) G:(needs) (parseln) G:(parseln) (putc) G:(putc) (puts) G:(puts)
|
||||
Builtin (stat) G:(stat) (with) G:(with) ) G:) +hook G:+hook +ref G:+ref ,# G:,# -- G:-- -----BEGIN G:-----BEGIN
|
||||
Builtin (stat) G:(stat) (with) G:(with) ) G:) +hook G:+hook +ref G:+ref ,# G:,# -----BEGIN G:-----BEGIN
|
||||
Builtin -Inf G:-Inf -Inf? G:-Inf? -hook G:-hook -ref G:-ref -rot G:-rot . G:. .# G:.# .hook G:.hook
|
||||
Builtin .needs G:.needs .r G:.r .s G:.s .s-truncate G:.s-truncate .stats G:.stats .ver G:.ver .with G:.with
|
||||
Builtin 0; G:0; 2dip G:2dip 2drop G:2drop 2dup G:2dup 2nip G:2nip 2over G:2over 2swap G:2swap 2tuck G:2tuck
|
||||
Builtin 3drop G:3drop 3drop G:3drop 3dup G:3dup 3rev G:3rev 4drop G:4drop 8thdt? G:8thdt? 8thsku G:8thsku
|
||||
Builtin 3drop G:3drop 3drop G:3drop 3dup G:3dup 3rev G:3rev 4drop G:4drop 8thdt? G:8thdt? 8thsku? G:8thsku?
|
||||
Builtin 8thver? G:8thver? 8thvernum? G:8thvernum? : G:: ; G:; ;; G:;; ;;; G:;;; ;with G:;with >clip G:>clip
|
||||
Builtin >json G:>json >kind G:>kind >n G:>n >r G:>r >s G:>s ?: G:?: ?@ G:?@ @ G:@ BITMAP: G:BITMAP:
|
||||
Builtin ENUM: G:ENUM: FLAG: G:FLAG: I G:I Inf G:Inf Inf? G:Inf? J G:J K G:K NaN G:NaN NaN? G:NaN? SED-CHECK G:SED-CHECK
|
||||
@@ -59,16 +59,17 @@ Builtin counting-allocations G:counting-allocations cr G:cr critical: G:critica
|
||||
Builtin curlang G:curlang curry G:curry curry: G:curry: decimal G:decimal default: G:default: defer: G:defer:
|
||||
Builtin deferred: G:deferred: deg>rad G:deg>rad depth G:depth die G:die dip G:dip drop G:drop dstack G:dstack
|
||||
Builtin dump G:dump dup G:dup dup>r G:dup>r dup? G:dup? e# G:e# enum: G:enum: error? G:error? eval G:eval
|
||||
Builtin eval! G:eval! eval0 G:eval0 expect G:expect extra! G:extra! extra@ G:extra@ false G:false fnv G:fnv
|
||||
Builtin fourth G:fourth free G:free func: G:func: getc G:getc getcwd G:getcwd getenv G:getenv gets G:gets
|
||||
Builtin handler G:handler header G:header help G:help hex G:hex i: G:i: i; G:i; isa? G:isa? items-used G:items-used
|
||||
Builtin jcall G:jcall jclass G:jclass jmethod G:jmethod json! G:json! json-8th> G:json-8th> json-nesting G:json-nesting
|
||||
Builtin json-pretty G:json-pretty json-throw G:json-throw json> G:json> json@ G:json@ k32 G:k32 keep G:keep
|
||||
Builtin l: G:l: last G:last lib G:lib libbin G:libbin libc G:libc literal G:literal locals: G:locals:
|
||||
Builtin lock G:lock lock-to G:lock-to locked? G:locked? log G:log log-syslog G:log-syslog log-task G:log-task
|
||||
Builtin log-time G:log-time log-time-local G:log-time-local long-days G:long-days long-months G:long-months
|
||||
Builtin longjmp G:longjmp lookup G:lookup loop G:loop loop- G:loop- map? G:map? mark G:mark mark? G:mark?
|
||||
Builtin mobile? G:mobile? n# G:n# name>os G:name>os name>sem G:name>sem ndrop G:ndrop needs G:needs
|
||||
Builtin eval! G:eval! eval0 G:eval0 exit G:exit expect G:expect extra! G:extra! extra@ G:extra@ false G:false
|
||||
Builtin fnv G:fnv fourth G:fourth free G:free func: G:func: getc G:getc getcwd G:getcwd getenv G:getenv
|
||||
Builtin gets G:gets goto G:goto handler G:handler header G:header help G:help help_db G:help_db here G:here
|
||||
Builtin hex G:hex i: G:i: i; G:i; isa? G:isa? items-used G:items-used jcall G:jcall jclass G:jclass
|
||||
Builtin jmethod G:jmethod json! G:json! json-8th> G:json-8th> json-nesting G:json-nesting json-pretty G:json-pretty
|
||||
Builtin json-throw G:json-throw json> G:json> json@ G:json@ k32 G:k32 keep G:keep l: G:l: last G:last
|
||||
Builtin lib G:lib libbin G:libbin libc G:libc libimg G:libimg literal G:literal locals: G:locals: lock G:lock
|
||||
Builtin lock-to G:lock-to locked? G:locked? log G:log log-syslog G:log-syslog log-task G:log-task log-time G:log-time
|
||||
Builtin log-time-local G:log-time-local long-days G:long-days long-months G:long-months longjmp G:longjmp
|
||||
Builtin lookup G:lookup loop G:loop loop- G:loop- map? G:map? mark G:mark mark? G:mark? mobile? G:mobile?
|
||||
Builtin n# G:n# name>os G:name>os name>sem G:name>sem ndrop G:ndrop needs G:needs needs-throws G:needs-throws
|
||||
Builtin new G:new next-arg G:next-arg nip G:nip noop G:noop not G:not nothrow G:nothrow ns G:ns ns: G:ns:
|
||||
Builtin ns>ls G:ns>ls ns>s G:ns>s ns? G:ns? null G:null null; G:null; null? G:null? nullvar G:nullvar
|
||||
Builtin number? G:number? of: G:of: off G:off on G:on onexit G:onexit only G:only op! G:op! or G:or
|
||||
@@ -76,128 +77,132 @@ Builtin os G:os os-names G:os-names os>long-name G:os>long-name os>name G:os>na
|
||||
Builtin pack G:pack parse G:parse parse-csv G:parse-csv parse-date G:parse-date parsech G:parsech parseln G:parseln
|
||||
Builtin parsews G:parsews pick G:pick poke G:poke pool-clear G:pool-clear pool-clear-all G:pool-clear-all
|
||||
Builtin prior G:prior private G:private process-args G:process-args process-args-fancy G:process-args-fancy
|
||||
Builtin process-args-help G:process-args-help process-args-vars G:process-args-vars prompt G:prompt
|
||||
Builtin public G:public putc G:putc puts G:puts quote G:quote r! G:r! r> G:r> r@ G:r@ rad>deg G:rad>deg
|
||||
Builtin rand-jit G:rand-jit rand-jsf G:rand-jsf rand-native G:rand-native rand-normal G:rand-normal
|
||||
Builtin rand-pcg G:rand-pcg rand-pcg-seed G:rand-pcg-seed rand-range G:rand-range rand-select G:rand-select
|
||||
Builtin randbuf-pcg G:randbuf-pcg random G:random rdrop G:rdrop recurse G:recurse recurse-stack G:recurse-stack
|
||||
Builtin ref@ G:ref@ reg! G:reg! reg@ G:reg@ regbin@ G:regbin@ remaining-args G:remaining-args repeat G:repeat
|
||||
Builtin required? G:required? requires G:requires reset G:reset roll G:roll rop! G:rop! rot G:rot rpick G:rpick
|
||||
Builtin rreset G:rreset rroll G:rroll rstack G:rstack rswap G:rswap rusage G:rusage s>ns G:s>ns same? G:same?
|
||||
Builtin scriptdir G:scriptdir scriptfile G:scriptfile sem G:sem sem-post G:sem-post sem-rm G:sem-rm
|
||||
Builtin sem-wait G:sem-wait sem-wait? G:sem-wait? sem>name G:sem>name semi-throw G:semi-throw set-wipe G:set-wipe
|
||||
Builtin setenv G:setenv setjmp G:setjmp settings! G:settings! settings![] G:settings![] settings@ G:settings@
|
||||
Builtin settings@? G:settings@? settings@[] G:settings@[] sh G:sh sh$ G:sh$ short-days G:short-days
|
||||
Builtin short-months G:short-months sleep G:sleep sleep-msec G:sleep-msec sleep-until G:sleep-until
|
||||
Builtin slog G:slog space G:space stack-check G:stack-check stack-size G:stack-size step G:step sthrow G:sthrow
|
||||
Builtin string? G:string? struct: G:struct: swap G:swap tab-hook G:tab-hook tell-conflict G:tell-conflict
|
||||
Builtin tempdir G:tempdir tempfilename G:tempfilename third G:third throw G:throw thrownull G:thrownull
|
||||
Builtin times G:times tlog G:tlog tri G:tri true G:true tuck G:tuck type-check G:type-check typeassert G:typeassert
|
||||
Builtin uid G:uid uname G:uname unlock G:unlock unpack G:unpack until G:until until! G:until! while G:while
|
||||
Builtin while! G:while! with: G:with: word? G:word? words G:words words-like G:words-like words/ G:words/
|
||||
Builtin xchg G:xchg xor G:xor >auth HTTP:>auth (curry) I:(curry) notimpl I:notimpl sh I:sh trace-word I:trace-word
|
||||
Builtin call JSONRPC:call auth-string OAuth:auth-string gen-nonce OAuth:gen-nonce params OAuth:params
|
||||
Builtin call SOAP:call ! a:! + a:+ - a:- / a:/ 2each a:2each 2map a:2map 2map+ a:2map+ 2map= a:2map=
|
||||
Builtin <> a:<> = a:= @ a:@ @? a:@? _@ a:_@ all a:all any a:any bsearch a:bsearch centroid a:centroid
|
||||
Builtin clear a:clear close a:close cmp a:cmp diff a:diff dot a:dot each a:each each! a:each! each-par a:each-par
|
||||
Builtin each-slice a:each-slice exists? a:exists? filter a:filter filter-par a:filter-par generate a:generate
|
||||
Builtin group a:group indexof a:indexof insert a:insert intersect a:intersect join a:join len a:len
|
||||
Builtin map a:map map+ a:map+ map-par a:map-par map= a:map= maxlen a:maxlen mean a:mean mean&variance a:mean&variance
|
||||
Builtin merge a:merge new a:new op! a:op! open a:open pigeon a:pigeon pivot a:pivot pop a:pop push a:push
|
||||
Builtin process-args-help G:process-args-help prompt G:prompt public G:public putc G:putc puts G:puts
|
||||
Builtin quote G:quote r! G:r! r> G:r> r@ G:r@ rad>deg G:rad>deg rand-jit G:rand-jit rand-jsf G:rand-jsf
|
||||
Builtin rand-native G:rand-native rand-normal G:rand-normal rand-pcg G:rand-pcg rand-pcg-seed G:rand-pcg-seed
|
||||
Builtin rand-range G:rand-range rand-select G:rand-select randbuf-pcg G:randbuf-pcg random G:random
|
||||
Builtin rdrop G:rdrop recurse G:recurse recurse-stack G:recurse-stack ref@ G:ref@ reg! G:reg! reg@ G:reg@
|
||||
Builtin regbin@ G:regbin@ remaining-args G:remaining-args repeat G:repeat requires G:requires reset G:reset
|
||||
Builtin roll G:roll rop! G:rop! rot G:rot rpick G:rpick rreset G:rreset rroll G:rroll rstack G:rstack
|
||||
Builtin rswap G:rswap rusage G:rusage s>ns G:s>ns same? G:same? scriptdir G:scriptdir scriptfile G:scriptfile
|
||||
Builtin sem G:sem sem-post G:sem-post sem-rm G:sem-rm sem-wait G:sem-wait sem-wait? G:sem-wait? sem>name G:sem>name
|
||||
Builtin semi-throw G:semi-throw set-wipe G:set-wipe setenv G:setenv setjmp G:setjmp settings! G:settings!
|
||||
Builtin settings![] G:settings![] settings@ G:settings@ settings@? G:settings@? settings@[] G:settings@[]
|
||||
Builtin sh G:sh sh$ G:sh$ short-days G:short-days short-months G:short-months sleep G:sleep sleep-msec G:sleep-msec
|
||||
Builtin sleep-until G:sleep-until slog G:slog space G:space stack-check G:stack-check stack-size G:stack-size
|
||||
Builtin step G:step sthrow G:sthrow string? G:string? struct: G:struct: swap G:swap tab-hook G:tab-hook
|
||||
Builtin tell-conflict G:tell-conflict tempdir G:tempdir tempfilename G:tempfilename third G:third throw G:throw
|
||||
Builtin thrownull G:thrownull times G:times tlog G:tlog toggle G:toggle tri G:tri true G:true tuck G:tuck
|
||||
Builtin type-check G:type-check typeassert G:typeassert uid G:uid uname G:uname unlock G:unlock unpack G:unpack
|
||||
Builtin until G:until until! G:until! while G:while while! G:while! with: G:with: word? G:word? words G:words
|
||||
Builtin words-like G:words-like words/ G:words/ xchg G:xchg xor G:xor >auth HTTP:>auth (curry) I:(curry)
|
||||
Builtin appopts I:appopts notimpl I:notimpl sh I:sh trace-word I:trace-word call JSONRPC:call auth-string OAuth:auth-string
|
||||
Builtin gen-nonce OAuth:gen-nonce params OAuth:params call SOAP:call ! a:! + a:+ - a:- / a:/ 2each a:2each
|
||||
Builtin 2len a:2len 2map a:2map 2map+ a:2map+ 2map= a:2map= <> a:<> = a:= @ a:@ @? a:@? _@ a:_@ _len a:_len
|
||||
Builtin all a:all any a:any bsearch a:bsearch centroid a:centroid clear a:clear close a:close cmp a:cmp
|
||||
Builtin diff a:diff dot a:dot each a:each each! a:each! each-par a:each-par each-slice a:each-slice
|
||||
Builtin exists? a:exists? filter a:filter filter-par a:filter-par generate a:generate group a:group
|
||||
Builtin indexof a:indexof insert a:insert intersect a:intersect join a:join len a:len map a:map map+ a:map+
|
||||
Builtin map-par a:map-par map= a:map= maxlen a:maxlen mean a:mean mean&variance a:mean&variance merge a:merge
|
||||
Builtin new a:new op! a:op! open a:open pigeon a:pigeon pivot a:pivot pop a:pop push a:push push' a:push'
|
||||
Builtin qsort a:qsort randeach a:randeach reduce a:reduce reduce+ a:reduce+ remove a:remove rev a:rev
|
||||
Builtin rindexof a:rindexof shift a:shift shuffle a:shuffle slice a:slice slice+ a:slice+ slide a:slide
|
||||
Builtin smear a:smear sort a:sort split a:split squash a:squash switch a:switch union a:union uniq a:uniq
|
||||
Builtin unzip a:unzip x a:x x-each a:x-each xchg a:xchg y a:y zip a:zip 8thdir app:8thdir asset app:asset
|
||||
Builtin atrun app:atrun atrun app:atrun atrun app:atrun basedir app:basedir basename app:basename config-file-name app:config-file-name
|
||||
Builtin current app:current datadir app:datadir display-moved app:display-moved exename app:exename
|
||||
Builtin localechanged app:localechanged lowmem app:lowmem main app:main name app:name oncrash app:oncrash
|
||||
Builtin opts! app:opts! opts@ app:opts@ orientation app:orientation orientation! app:orientation! pid app:pid
|
||||
Builtin post-main app:post-main pre-main app:pre-main privdir app:privdir raise app:raise read-config app:read-config
|
||||
Builtin read-config-map app:read-config-map read-config-var app:read-config-var request-perm app:request-perm
|
||||
Builtin restart app:restart resumed app:resumed signal app:signal standalone app:standalone subdir app:subdir
|
||||
Builtin suspended app:suspended sysquit app:sysquit terminated app:terminated timeout app:timeout trap app:trap
|
||||
Builtin dawn astro:dawn do-dawn astro:do-dawn do-dusk astro:do-dusk do-rise astro:do-rise dusk astro:dusk
|
||||
Builtin latitude astro:latitude location! astro:location! longitude astro:longitude sunrise astro:sunrise
|
||||
Builtin genkeys auth:genkeys secret auth:secret session-id auth:session-id session-key auth:session-key
|
||||
Builtin localechanged app:localechanged lowmem app:lowmem main app:main name app:name onback app:onback
|
||||
Builtin oncrash app:oncrash opts! app:opts! opts@ app:opts@ orientation app:orientation orientation! app:orientation!
|
||||
Builtin pid app:pid post-main app:post-main pre-main app:pre-main privdir app:privdir raise app:raise
|
||||
Builtin read-config app:read-config read-config-map app:read-config-map read-config-var app:read-config-var
|
||||
Builtin request-perm app:request-perm restart app:restart resumed app:resumed signal app:signal standalone app:standalone
|
||||
Builtin standalone! app:standalone! subdir app:subdir suspended app:suspended sysquit app:sysquit terminated app:terminated
|
||||
Builtin ticks app:ticks timeout app:timeout trap app:trap dawn astro:dawn do-dawn astro:do-dawn do-dusk astro:do-dusk
|
||||
Builtin do-rise astro:do-rise dusk astro:dusk latitude astro:latitude location! astro:location! longitude astro:longitude
|
||||
Builtin sunrise astro:sunrise genkeys auth:genkeys secret auth:secret session-id auth:session-id session-key auth:session-key
|
||||
Builtin validate auth:validate ! b:! + b:+ / b:/ 1+ b:1+ 1- b:1- <> b:<> = b:= >base16 b:>base16 >base32 b:>base32
|
||||
Builtin >base64 b:>base64 >base85 b:>base85 >hex b:>hex >mpack b:>mpack @ b:@ append b:append base16> b:base16>
|
||||
Builtin base32> b:base32> base64> b:base64> base85> b:base85> bit! b:bit! bit@ b:bit@ clear b:clear
|
||||
Builtin compress b:compress conv b:conv each b:each each! b:each! each-slice b:each-slice expand b:expand
|
||||
Builtin fill b:fill getb b:getb hex> b:hex> len b:len mem> b:mem> move b:move mpack-compat b:mpack-compat
|
||||
Builtin >base64 b:>base64 >base85 b:>base85 >hex b:>hex >mpack b:>mpack @ b:@ ICONVLIBS b:ICONVLIBS
|
||||
Builtin append b:append base16> b:base16> base32> b:base32> base64> b:base64> base85> b:base85> bit! b:bit!
|
||||
Builtin bit@ b:bit@ clear b:clear compress b:compress conv b:conv each b:each each! b:each! each-slice b:each-slice
|
||||
Builtin expand b:expand fill b:fill getb b:getb hex> b:hex> len b:len mem> b:mem> move b:move mpack-compat b:mpack-compat
|
||||
Builtin mpack-date b:mpack-date mpack-ignore b:mpack-ignore mpack> b:mpack> n! b:n! n+ b:n+ n@ b:n@
|
||||
Builtin new b:new op b:op op! b:op! pad b:pad rev b:rev search b:search shmem b:shmem slice b:slice
|
||||
Builtin splice b:splice ungetb b:ungetb unpad b:unpad writable b:writable xor b:xor +block bc:+block
|
||||
Builtin .blocks bc:.blocks add-block bc:add-block block-hash bc:block-hash block@ bc:block@ first-block bc:first-block
|
||||
Builtin hash bc:hash last-block bc:last-block load bc:load new bc:new save bc:save set-sql bc:set-sql
|
||||
Builtin validate bc:validate validate-block bc:validate-block add bloom:add filter bloom:filter in? bloom:in?
|
||||
Builtin parse bson:parse accept bt:accept ch! bt:ch! ch@ bt:ch@ connect bt:connect disconnect bt:disconnect
|
||||
Builtin parse bson:parse LIBS bt:LIBS accept bt:accept ch! bt:ch! ch@ bt:ch@ connect bt:connect disconnect bt:disconnect
|
||||
Builtin init bt:init leconnect bt:leconnect lescan bt:lescan listen bt:listen on? bt:on? read bt:read
|
||||
Builtin scan bt:scan service? bt:service? services? bt:services? write bt:write * c:* * c:* + c:+ + c:+
|
||||
Builtin = c:= = c:= >ri c:>ri >ri c:>ri abs c:abs abs c:abs arg c:arg arg c:arg conj c:conj conj c:conj
|
||||
Builtin im c:im n> c:n> new c:new new c:new re c:re (.hebrew) cal:(.hebrew) (.islamic) cal:(.islamic)
|
||||
Builtin .hebrew cal:.hebrew .islamic cal:.islamic >hebepoch cal:>hebepoch >jdn cal:>jdn Adar cal:Adar
|
||||
Builtin Adar2 cal:Adar2 Adar2 cal:Adar2 Av cal:Av Elul cal:Elul Heshvan cal:Heshvan Iyar cal:Iyar Kislev cal:Kislev
|
||||
Builtin Nissan cal:Nissan Shevat cal:Shevat Sivan cal:Sivan Tammuz cal:Tammuz Tevet cal:Tevet Tishrei cal:Tishrei
|
||||
Builtin days-in-hebrew-year cal:days-in-hebrew-year displaying-hebrew cal:displaying-hebrew fixed>hebrew cal:fixed>hebrew
|
||||
Builtin fixed>islamic cal:fixed>islamic gershayim cal:gershayim hanukkah cal:hanukkah hebrew-epoch cal:hebrew-epoch
|
||||
Builtin hebrew>fixed cal:hebrew>fixed hebrewtoday cal:hebrewtoday hmonth-name cal:hmonth-name islamic.epoch cal:islamic.epoch
|
||||
Builtin islamic>fixed cal:islamic>fixed islamictoday cal:islamictoday jdn> cal:jdn> last-day-of-hebrew-month cal:last-day-of-hebrew-month
|
||||
Builtin = c:= = c:= >polar c:>polar >polar c:>polar >ri c:>ri >ri c:>ri ^ c:^ ^ c:^ abs c:abs abs c:abs
|
||||
Builtin arg c:arg arg c:arg conj c:conj conj c:conj im c:im im c:im log c:log log c:log n> c:n> n> c:n>
|
||||
Builtin new c:new new c:new polar> c:polar> polar> c:polar> re c:re re c:re (.hebrew) cal:(.hebrew)
|
||||
Builtin (.islamic) cal:(.islamic) .hebrew cal:.hebrew .islamic cal:.islamic >hebepoch cal:>hebepoch
|
||||
Builtin >jdn cal:>jdn Adar cal:Adar Adar2 cal:Adar2 Av cal:Av Elul cal:Elul Heshvan cal:Heshvan Iyar cal:Iyar
|
||||
Builtin Kislev cal:Kislev Nissan cal:Nissan Shevat cal:Shevat Sivan cal:Sivan Tammuz cal:Tammuz Tevet cal:Tevet
|
||||
Builtin Tishrei cal:Tishrei days-in-hebrew-year cal:days-in-hebrew-year displaying-hebrew cal:displaying-hebrew
|
||||
Builtin fixed>hebrew cal:fixed>hebrew fixed>islamic cal:fixed>islamic gershayim cal:gershayim hanukkah cal:hanukkah
|
||||
Builtin hebrew-epoch cal:hebrew-epoch hebrew-leap-year? cal:hebrew-leap-year? hebrew>fixed cal:hebrew>fixed
|
||||
Builtin hebrewtoday cal:hebrewtoday hmonth-name cal:hmonth-name islamic.epoch cal:islamic.epoch islamic>fixed cal:islamic>fixed
|
||||
Builtin islamictoday cal:islamictoday jdn> cal:jdn> last-day-of-hebrew-month cal:last-day-of-hebrew-month
|
||||
Builtin number>hebrew cal:number>hebrew omer cal:omer pesach cal:pesach purim cal:purim rosh-chodesh? cal:rosh-chodesh?
|
||||
Builtin rosh-hashanah cal:rosh-hashanah shavuot cal:shavuot taanit-esther cal:taanit-esther tisha-beav cal:tisha-beav
|
||||
Builtin yom-haatsmaut cal:yom-haatsmaut yom-kippur cal:yom-kippur >redir con:>redir accept con:accept
|
||||
Builtin accept-nl con:accept-nl accept-pwd con:accept-pwd alert con:alert ansi? con:ansi? black con:black
|
||||
Builtin blue con:blue clreol con:clreol cls con:cls ctrld-empty con:ctrld-empty cyan con:cyan down con:down
|
||||
Builtin file>history con:file>history free con:free getxy con:getxy gotoxy con:gotoxy green con:green
|
||||
Builtin history-handler con:history-handler history>file con:history>file key con:key key? con:key?
|
||||
Builtin left con:left load-history con:load-history magenta con:magenta max-history con:max-history
|
||||
Builtin onBlack con:onBlack onBlue con:onBlue onCyan con:onCyan onGreen con:onGreen onMagenta con:onMagenta
|
||||
Builtin onRed con:onRed onWhite con:onWhite onYellow con:onYellow print con:print red con:red redir> con:redir>
|
||||
Builtin redir? con:redir? right con:right save-history con:save-history size? con:size? up con:up white con:white
|
||||
Builtin yellow con:yellow >aes128gcm cr:>aes128gcm >aes256gcm cr:>aes256gcm >cp cr:>cp >cpe cr:>cpe
|
||||
Builtin >decrypt cr:>decrypt >edbox cr:>edbox >encrypt cr:>encrypt >nbuf cr:>nbuf >rsabox cr:>rsabox
|
||||
Builtin >uuid cr:>uuid aad? cr:aad? aes128box-sig cr:aes128box-sig aes128gcm> cr:aes128gcm> aes256box-sig cr:aes256box-sig
|
||||
Builtin aes256gcm> cr:aes256gcm> aesgcm cr:aesgcm blakehash cr:blakehash chacha20box-sig cr:chacha20box-sig
|
||||
Builtin chachapoly cr:chachapoly cipher! cr:cipher! cipher@ cr:cipher@ ciphers cr:ciphers cp> cr:cp>
|
||||
Builtin cpe> cr:cpe> decrypt cr:decrypt decrypt+ cr:decrypt+ decrypt> cr:decrypt> ebox-sig cr:ebox-sig
|
||||
Builtin ecc-curves cr:ecc-curves ecc-genkey cr:ecc-genkey ecc-secret cr:ecc-secret ecc-sign cr:ecc-sign
|
||||
Builtin ecc-verify cr:ecc-verify ed25519 cr:ed25519 ed25519-secret cr:ed25519-secret ed25519-sign cr:ed25519-sign
|
||||
Builtin ed25519-verify cr:ed25519-verify edbox-sig cr:edbox-sig edbox> cr:edbox> encrypt cr:encrypt
|
||||
Builtin encrypt+ cr:encrypt+ encrypt> cr:encrypt> ensurekey cr:ensurekey genkey cr:genkey hash cr:hash
|
||||
Builtin hash! cr:hash! hash+ cr:hash+ hash>b cr:hash>b hash>s cr:hash>s hash@ cr:hash@ hashes cr:hashes
|
||||
Builtin hmac cr:hmac hotp cr:hotp iv? cr:iv? pem-read cr:pem-read pem-write cr:pem-write pwd-valid? cr:pwd-valid?
|
||||
Builtin pwd/ cr:pwd/ pwd>hash cr:pwd>hash rand cr:rand randbuf cr:randbuf randkey cr:randkey restore cr:restore
|
||||
Builtin root-certs cr:root-certs rsa_decrypt cr:rsa_decrypt rsa_encrypt cr:rsa_encrypt rsa_sign cr:rsa_sign
|
||||
Builtin rsa_verify cr:rsa_verify rsabox-sig cr:rsabox-sig rsabox> cr:rsabox> rsagenkey cr:rsagenkey
|
||||
Builtin yom-haatsmaut cal:yom-haatsmaut yom-kippur cal:yom-kippur >hsva clr:>hsva complement clr:complement
|
||||
Builtin dist clr:dist gradient clr:gradient hsva> clr:hsva> invert clr:invert nearest-name clr:nearest-name
|
||||
Builtin parse clr:parse >redir con:>redir accept con:accept accept-nl con:accept-nl accept-pwd con:accept-pwd
|
||||
Builtin alert con:alert ansi? con:ansi? black con:black blue con:blue clreol con:clreol cls con:cls
|
||||
Builtin ctrld-empty con:ctrld-empty cyan con:cyan down con:down file>history con:file>history free con:free
|
||||
Builtin getxy con:getxy gotoxy con:gotoxy green con:green history-handler con:history-handler history>file con:history>file
|
||||
Builtin init con:init key con:key key? con:key? left con:left load-history con:load-history magenta con:magenta
|
||||
Builtin max-history con:max-history onBlack con:onBlack onBlue con:onBlue onCyan con:onCyan onGreen con:onGreen
|
||||
Builtin onMagenta con:onMagenta onRed con:onRed onWhite con:onWhite onYellow con:onYellow print con:print
|
||||
Builtin red con:red redir> con:redir> redir? con:redir? right con:right save-history con:save-history
|
||||
Builtin size? con:size? up con:up white con:white yellow con:yellow >aes128gcm cr:>aes128gcm >aes256gcm cr:>aes256gcm
|
||||
Builtin >cp cr:>cp >cpe cr:>cpe >decrypt cr:>decrypt >edbox cr:>edbox >encrypt cr:>encrypt >nbuf cr:>nbuf
|
||||
Builtin >rsabox cr:>rsabox >uuid cr:>uuid aad? cr:aad? aes128box-sig cr:aes128box-sig aes128gcm> cr:aes128gcm>
|
||||
Builtin aes256box-sig cr:aes256box-sig aes256gcm> cr:aes256gcm> aesgcm cr:aesgcm blakehash cr:blakehash
|
||||
Builtin chacha20box-sig cr:chacha20box-sig chachapoly cr:chachapoly cipher! cr:cipher! cipher@ cr:cipher@
|
||||
Builtin ciphers cr:ciphers cp> cr:cp> cpe> cr:cpe> decrypt cr:decrypt decrypt+ cr:decrypt+ decrypt> cr:decrypt>
|
||||
Builtin ebox-sig cr:ebox-sig ecc-curves cr:ecc-curves ecc-genkey cr:ecc-genkey ecc-secret cr:ecc-secret
|
||||
Builtin ecc-sign cr:ecc-sign ecc-verify cr:ecc-verify ed25519 cr:ed25519 ed25519-secret cr:ed25519-secret
|
||||
Builtin ed25519-sign cr:ed25519-sign ed25519-verify cr:ed25519-verify edbox-sig cr:edbox-sig edbox> cr:edbox>
|
||||
Builtin encrypt cr:encrypt encrypt+ cr:encrypt+ encrypt> cr:encrypt> ensurekey cr:ensurekey genkey cr:genkey
|
||||
Builtin hash cr:hash hash! cr:hash! hash+ cr:hash+ hash>b cr:hash>b hash>s cr:hash>s hash@ cr:hash@
|
||||
Builtin hashes cr:hashes hmac cr:hmac hotp cr:hotp iv? cr:iv? pem-read cr:pem-read pem-write cr:pem-write
|
||||
Builtin pwd-valid? cr:pwd-valid? pwd/ cr:pwd/ pwd>hash cr:pwd>hash rand cr:rand randbuf cr:randbuf
|
||||
Builtin randkey cr:randkey restore cr:restore root-certs cr:root-certs rsa_decrypt cr:rsa_decrypt rsa_encrypt cr:rsa_encrypt
|
||||
Builtin rsa_sign cr:rsa_sign rsa_verify cr:rsa_verify rsabox-sig cr:rsabox-sig rsabox> cr:rsabox> rsagenkey cr:rsagenkey
|
||||
Builtin save cr:save sbox-sig cr:sbox-sig sha1-hmac cr:sha1-hmac shard cr:shard tag? cr:tag? totp cr:totp
|
||||
Builtin totp-epoch cr:totp-epoch totp-time-step cr:totp-time-step unshard cr:unshard uuid cr:uuid uuid> cr:uuid>
|
||||
Builtin validate-pgp-sig cr:validate-pgp-sig validate-pwd cr:validate-pwd + d:+ +day d:+day +hour d:+hour
|
||||
Builtin +min d:+min +msec d:+msec - d:- .time d:.time / d:/ = d:= >fixed d:>fixed >hmds d:>hmds >hmds: d:>hmds:
|
||||
Builtin >msec d:>msec >unix d:>unix >ymd d:>ymd ?= d:?= Fri d:Fri Mon d:Mon Sat d:Sat Sun d:Sun Thu d:Thu
|
||||
Builtin Tue d:Tue Wed d:Wed adjust-dst d:adjust-dst alarm d:alarm approx! d:approx! approx? d:approx?
|
||||
Builtin approximates! d:approximates! between d:between cmp d:cmp d. d:d. default-now d:default-now
|
||||
Builtin validate-pgp-sig cr:validate-pgp-sig validate-pwd cr:validate-pwd (.time) d:(.time) + d:+ +day d:+day
|
||||
Builtin +hour d:+hour +min d:+min +msec d:+msec - d:- .time d:.time / d:/ = d:= >fixed d:>fixed >hmds d:>hmds
|
||||
Builtin >hmds: d:>hmds: >msec d:>msec >unix d:>unix >ymd d:>ymd ?= d:?= Fri d:Fri Mon d:Mon Sat d:Sat
|
||||
Builtin Sun d:Sun Thu d:Thu Tue d:Tue Wed d:Wed adjust-dst d:adjust-dst alarm d:alarm approx! d:approx!
|
||||
Builtin approx? d:approx? approximates! d:approximates! between d:between cmp d:cmp d. d:d. default-now d:default-now
|
||||
Builtin doy d:doy dst-ofs d:dst-ofs dst? d:dst? dstinfo d:dstinfo dstquery d:dstquery dstzones? d:dstzones?
|
||||
Builtin elapsed-timer d:elapsed-timer elapsed-timer-hmds d:elapsed-timer-hmds elapsed-timer-msec d:elapsed-timer-msec
|
||||
Builtin elapsed-timer-seconds d:elapsed-timer-seconds first-dow d:first-dow fixed> d:fixed> fixed>dow d:fixed>dow
|
||||
Builtin format d:format join d:join last-dow d:last-dow last-month d:last-month last-week d:last-week
|
||||
Builtin last-year d:last-year msec d:msec msec> d:msec> new d:new next-dow d:next-dow next-month d:next-month
|
||||
Builtin next-week d:next-week next-year d:next-year parse d:parse parse-approx d:parse-approx parse-range d:parse-range
|
||||
Builtin prev-dow d:prev-dow rfc5322 d:rfc5322 start-timer d:start-timer ticks d:ticks ticks/sec d:ticks/sec
|
||||
Builtin timer d:timer timer-ctrl d:timer-ctrl tzadjust d:tzadjust unix> d:unix> unknown d:unknown unknown? d:unknown?
|
||||
Builtin updatetz d:updatetz year@ d:year@ ymd d:ymd ymd> d:ymd> add-func db:add-func aes! db:aes! again? db:again?
|
||||
Builtin last-year d:last-year leap? d:leap? mdays d:mdays msec d:msec msec> d:msec> new d:new next-dow d:next-dow
|
||||
Builtin next-month d:next-month next-week d:next-week next-year d:next-year parse d:parse parse-approx d:parse-approx
|
||||
Builtin parse-range d:parse-range prev-dow d:prev-dow rfc5322 d:rfc5322 start-timer d:start-timer ticks d:ticks
|
||||
Builtin ticks/sec d:ticks/sec timer d:timer timer-ctrl d:timer-ctrl tzadjust d:tzadjust unix> d:unix>
|
||||
Builtin unknown d:unknown unknown? d:unknown? updatetz d:updatetz year@ d:year@ ymd d:ymd ymd> d:ymd>
|
||||
Builtin MYSQLLIB db:MYSQLLIB ODBCLIB db:ODBCLIB add-func db:add-func aes! db:aes! again? db:again?
|
||||
Builtin begin db:begin bind db:bind bind-exec db:bind-exec bind-exec{} db:bind-exec{} close db:close
|
||||
Builtin col db:col col{} db:col{} commit db:commit db db:db dbpush db:dbpush disuse db:disuse each db:each
|
||||
Builtin err-handler db:err-handler exec db:exec exec-cb db:exec-cb exec-name db:exec-name exec{} db:exec{}
|
||||
Builtin get db:get get-sub db:get-sub key db:key kind? db:kind? last-rowid db:last-rowid mysql? db:mysql?
|
||||
Builtin odbc? db:odbc? open db:open open? db:open? prep-name db:prep-name prepare db:prepare query db:query
|
||||
Builtin query-all db:query-all rekey db:rekey rollback db:rollback set db:set set-sub db:set-sub sql@ db:sql@
|
||||
Builtin sql[] db:sql[] sql[np] db:sql[np] sql{np} db:sql{np} sql{} db:sql{} use db:use zip db:zip bp dbg:bp
|
||||
Builtin bt dbg:bt except-task@ dbg:except-task@ go dbg:go line-info dbg:line-info prompt dbg:prompt
|
||||
Builtin stop dbg:stop trace dbg:trace trace-enter dbg:trace-enter trace-leave dbg:trace-leave / f:/
|
||||
Builtin >posix f:>posix abspath f:abspath absrel f:absrel append f:append associate f:associate atime f:atime
|
||||
Builtin autodel f:autodel canwrite? f:canwrite? chmod f:chmod close f:close copy f:copy copydir f:copydir
|
||||
Builtin create f:create ctime f:ctime dir? f:dir? dname f:dname eachbuf f:eachbuf eachline f:eachline
|
||||
Builtin enssep f:enssep eof? f:eof? exec f:exec exists? f:exists? flush f:flush fname f:fname getb f:getb
|
||||
Builtin getc f:getc getline f:getline getmod f:getmod glob f:glob glob-links f:glob-links glob-nocase f:glob-nocase
|
||||
Builtin sql[] db:sql[] sql[np] db:sql[np] sql{np} db:sql{np} sql{} db:sql{} use db:use zip db:zip .state dbg:.state
|
||||
Builtin bp dbg:bp bt dbg:bt except-task@ dbg:except-task@ go dbg:go prompt dbg:prompt see dbg:see stop dbg:stop
|
||||
Builtin trace dbg:trace trace-enter dbg:trace-enter trace-leave dbg:trace-leave pso ds:pso / f:/ >posix f:>posix
|
||||
Builtin abspath f:abspath absrel f:absrel append f:append associate f:associate atime f:atime autodel f:autodel
|
||||
Builtin canwrite? f:canwrite? chmod f:chmod close f:close copy f:copy copydir f:copydir create f:create
|
||||
Builtin ctime f:ctime dir? f:dir? dname f:dname eachbuf f:eachbuf eachline f:eachline enssep f:enssep
|
||||
Builtin eof? f:eof? exec f:exec exists? f:exists? flush f:flush fname f:fname getb f:getb getc f:getc
|
||||
Builtin getline f:getline getmod f:getmod glob f:glob glob-links f:glob-links glob-nocase f:glob-nocase
|
||||
Builtin gunz f:gunz homedir f:homedir homedir! f:homedir! include f:include ioctl f:ioctl join f:join
|
||||
Builtin launch f:launch link f:link link> f:link> link? f:link? lock f:lock mkdir f:mkdir mmap f:mmap
|
||||
Builtin mmap-range f:mmap-range mmap-range? f:mmap-range? mtime f:mtime mv f:mv name@ f:name@ open f:open
|
||||
@@ -209,9 +214,9 @@ Builtin ungetc f:ungetc unzip f:unzip unzip-entry f:unzip-entry watch f:watch w
|
||||
Builtin zip+ f:zip+ zip@ f:zip@ zipentry f:zipentry zipnew f:zipnew zipopen f:zipopen zipsave f:zipsave
|
||||
Builtin atlas! font:atlas! atlas@ font:atlas@ default-size font:default-size default-size@ font:default-size@
|
||||
Builtin info font:info ls font:ls measure font:measure new font:new oversample font:oversample pixels font:pixels
|
||||
Builtin pixels? font:pixels? system font:system system font:system distance geo:distance km/deg-lat geo:km/deg-lat
|
||||
Builtin km/deg-lon geo:km/deg-lon nearest geo:nearest +edge gr:+edge +edge+w gr:+edge+w +node gr:+node
|
||||
Builtin connect gr:connect edges gr:edges edges! gr:edges! m! gr:m! m@ gr:m@ neighbors gr:neighbors
|
||||
Builtin pixels? font:pixels? system font:system system font:system media? g:media? distance geo:distance
|
||||
Builtin km/deg-lat geo:km/deg-lat km/deg-lon geo:km/deg-lon nearest geo:nearest +edge gr:+edge +edge+w gr:+edge+w
|
||||
Builtin +node gr:+node connect gr:connect edges gr:edges edges! gr:edges! m! gr:m! m@ gr:m@ neighbors gr:neighbors
|
||||
Builtin new gr:new node-edges gr:node-edges nodes gr:nodes traverse gr:traverse weight! gr:weight!
|
||||
Builtin + h:+ clear h:clear cmp! h:cmp! len h:len max! h:max! new h:new peek h:peek pop h:pop push h:push
|
||||
Builtin unique h:unique parse html:parse arm? hw:arm? camera hw:camera camera-img hw:camera-img camera-limits hw:camera-limits
|
||||
@@ -219,163 +224,171 @@ Builtin camera? hw:camera? cpu? hw:cpu? device? hw:device? displays? hw:display
|
||||
Builtin finger-match hw:finger-match finger-support hw:finger-support gpio hw:gpio gpio! hw:gpio! gpio-mmap hw:gpio-mmap
|
||||
Builtin gpio@ hw:gpio@ i2c hw:i2c i2c! hw:i2c! i2c!reg hw:i2c!reg i2c@ hw:i2c@ i2c@reg hw:i2c@reg isround? hw:isround?
|
||||
Builtin iswatch? hw:iswatch? mac? hw:mac? mem? hw:mem? model? hw:model? poll hw:poll sensor hw:sensor
|
||||
Builtin start hw:start stop hw:stop uid? hw:uid? fetch-full imap:fetch-full fetch-uid-mail imap:fetch-uid-mail
|
||||
Builtin start hw:start stop hw:stop touch? hw:touch? uid? hw:uid? fetch-full imap:fetch-full fetch-uid-mail imap:fetch-uid-mail
|
||||
Builtin login imap:login logout imap:logout new imap:new search imap:search select-inbox imap:select-inbox
|
||||
Builtin >file img:>file >fmt img:>fmt copy img:copy crop img:crop data img:data desat img:desat draw img:draw
|
||||
Builtin draw-sub img:draw-sub fill img:fill fillrect img:fillrect filter img:filter flip img:flip from-svg img:from-svg
|
||||
Builtin line img:line new img:new pikchr img:pikchr pix! img:pix! pix@ img:pix@ qr-gen img:qr-gen qr-parse img:qr-parse
|
||||
Builtin rect img:rect rotate img:rotate scale img:scale scroll img:scroll size img:size countries iso:countries
|
||||
Builtin languages iso:languages utils/help library:utils/help find loc:find sort loc:sort ! m:! !? m:!?
|
||||
Builtin + m:+ +? m:+? - m:- <> m:<> = m:= >arr m:>arr @ m:@ @? m:@? _! m:_! _@ m:_@ alias m:alias arr> m:arr>
|
||||
Builtin bitmap m:bitmap clear m:clear data m:data each m:each exists? m:exists? filter m:filter ic m:ic
|
||||
Builtin iter m:iter iter-all m:iter-all keys m:keys len m:len map m:map merge m:merge new m:new op! m:op!
|
||||
Builtin open m:open slice m:slice vals m:vals xchg m:xchg zip m:zip ! mat:! * mat:* + mat:+ = mat:=
|
||||
Builtin @ mat:@ affine mat:affine col mat:col data mat:data det mat:det dim? mat:dim? get-n mat:get-n
|
||||
Builtin ident mat:ident inv mat:inv m. mat:m. minor mat:minor n* mat:n* new mat:new new-minor mat:new-minor
|
||||
Builtin rotate mat:rotate row mat:row same-size? mat:same-size? scale mat:scale shear mat:shear trans mat:trans
|
||||
Builtin translate mat:translate xform mat:xform 2console md:2console 2html md:2html 2nk md:2nk color meta:color
|
||||
Builtin console meta:console gui meta:gui meta meta:meta ! n:! * n:* */ n:*/ + n:+ +! n:+! - n:- / n:/
|
||||
Builtin /mod n:/mod 1+ n:1+ 1- n:1- < n:< = n:= > n:> >bool n:>bool BIGE n:BIGE BIGPI n:BIGPI E n:E
|
||||
Builtin PI n:PI ^ n:^ _mod n:_mod abs n:abs acos n:acos acos n:acos andor n:andor asin n:asin asin n:asin
|
||||
Builtin atan n:atan atan n:atan atan2 n:atan2 band n:band between n:between bfloat n:bfloat bic n:bic
|
||||
Builtin languages iso:languages utils/help library:utils/help bearing loc:bearing find loc:find sort loc:sort
|
||||
Builtin ! m:! !? m:!? + m:+ +? m:+? - m:- <> m:<> = m:= >arr m:>arr @ m:@ @? m:@? _! m:_! _@ m:_@ _@? m:_@?
|
||||
Builtin alias m:alias arr> m:arr> bitmap m:bitmap clear m:clear data m:data each m:each exists? m:exists?
|
||||
Builtin filter m:filter ic m:ic iter m:iter iter-all m:iter-all keys m:keys len m:len map m:map merge m:merge
|
||||
Builtin new m:new op! m:op! open m:open slice m:slice vals m:vals xchg m:xchg zip m:zip ! mat:! * mat:*
|
||||
Builtin + mat:+ = mat:= @ mat:@ affine mat:affine col mat:col data mat:data det mat:det dim? mat:dim?
|
||||
Builtin get-n mat:get-n ident mat:ident inv mat:inv m. mat:m. minor mat:minor n* mat:n* new mat:new
|
||||
Builtin new-minor mat:new-minor rotate mat:rotate row mat:row same-size? mat:same-size? scale mat:scale
|
||||
Builtin shear mat:shear trans mat:trans translate mat:translate xform mat:xform 2console md:2console
|
||||
Builtin 2html md:2html 2nk md:2nk color meta:color console meta:console gui meta:gui meta meta:meta
|
||||
Builtin ! n:! * n:* */ n:*/ + n:+ +! n:+! - n:- / n:/ /mod n:/mod 1+ n:1+ 1- n:1- < n:< = n:= > n:>
|
||||
Builtin >bool n:>bool BIGE n:BIGE BIGPI n:BIGPI E n:E PI n:PI ^ n:^ _mod n:_mod abs n:abs acos n:acos
|
||||
Builtin acosd n:acosd acosh n:acosh andor n:andor asin n:asin asind n:asind asinh n:asinh atan n:atan
|
||||
Builtin atan2 n:atan2 atand n:atand atanh n:atanh band n:band between n:between bfloat n:bfloat bic n:bic
|
||||
Builtin bint n:bint binv n:binv bnot n:bnot bor n:bor bxor n:bxor cast n:cast ceil n:ceil clamp n:clamp
|
||||
Builtin cmp n:cmp comb n:comb cos n:cos cosd n:cosd emod n:emod exp n:exp expm1 n:expm1 expmod n:expmod
|
||||
Builtin float n:float floor n:floor fmod n:fmod frac n:frac gcd n:gcd int n:int invmod n:invmod kind? n:kind?
|
||||
Builtin lcm n:lcm lerp n:lerp ln n:ln ln1p n:ln1p lnerp n:lnerp max n:max median n:median min n:min
|
||||
Builtin mod n:mod neg n:neg odd? n:odd? perm n:perm prime? n:prime? quantize n:quantize quantize! n:quantize!
|
||||
Builtin r+ n:r+ range n:range rot32l n:rot32l rot32r n:rot32r round n:round round2 n:round2 rounding n:rounding
|
||||
Builtin running-variance n:running-variance running-variance-finalize n:running-variance-finalize sgn n:sgn
|
||||
Builtin shl n:shl shr n:shr sin n:sin sind n:sind sqr n:sqr sqrt n:sqrt tan n:tan tand n:tand trunc n:trunc
|
||||
Builtin ~= n:~= ! net:! !? net:!? - net:- >base64url net:>base64url >url net:>url @ net:@ @? net:@?
|
||||
Builtin CGI net:CGI DGRAM net:DGRAM INET4 net:INET4 INET6 net:INET6 PROTO_TCP net:PROTO_TCP PROTO_UDP net:PROTO_UDP
|
||||
Builtin REMOTE_IP net:REMOTE_IP STREAM net:STREAM accept net:accept active? net:active? addrinfo>o net:addrinfo>o
|
||||
Builtin again? net:again? alloc-and-read net:alloc-and-read alloc-buf net:alloc-buf base64url> net:base64url>
|
||||
Builtin bind net:bind cgi-get net:cgi-get cgi-http-header net:cgi-http-header cgi-init net:cgi-init
|
||||
Builtin cgi-init-stunnel net:cgi-init-stunnel cgi-out net:cgi-out close net:close closed? net:closed?
|
||||
Builtin connect net:connect curnet net:curnet debug? net:debug? delete net:delete get net:get getaddrinfo net:getaddrinfo
|
||||
Builtin getpeername net:getpeername head net:head ifaces? net:ifaces? ipv6? net:ipv6? listen net:listen
|
||||
Builtin map>url net:map>url mime-type net:mime-type net-socket net:net-socket opts net:opts port-is-ssl? net:port-is-ssl?
|
||||
Builtin cmp n:cmp comb n:comb cos n:cos cosd n:cosd cosh n:cosh emod n:emod erf n:erf erfc n:erfc exp n:exp
|
||||
Builtin expm1 n:expm1 expmod n:expmod float n:float floor n:floor fmod n:fmod frac n:frac gcd n:gcd
|
||||
Builtin int n:int invmod n:invmod kind? n:kind? lcm n:lcm lerp n:lerp ln n:ln ln1p n:ln1p lnerp n:lnerp
|
||||
Builtin logistic n:logistic max n:max median n:median min n:min mod n:mod neg n:neg odd? n:odd? perm n:perm
|
||||
Builtin prime? n:prime? quantize n:quantize quantize! n:quantize! r+ n:r+ range n:range rot32l n:rot32l
|
||||
Builtin rot32r n:rot32r round n:round round2 n:round2 rounding n:rounding running-variance n:running-variance
|
||||
Builtin running-variance-finalize n:running-variance-finalize sgn n:sgn shl n:shl shr n:shr sin n:sin
|
||||
Builtin sincos n:sincos sind n:sind sinh n:sinh sqr n:sqr sqrt n:sqrt tan n:tan tand n:tand tanh n:tanh
|
||||
Builtin trunc n:trunc ~= n:~= ! net:! !? net:!? - net:- >base64url net:>base64url >url net:>url @ net:@
|
||||
Builtin @? net:@? CGI net:CGI DGRAM net:DGRAM INET4 net:INET4 INET6 net:INET6 PROTO_TCP net:PROTO_TCP
|
||||
Builtin PROTO_UDP net:PROTO_UDP REMOTE_IP net:REMOTE_IP REMOTE_IP net:REMOTE_IP STREAM net:STREAM accept net:accept
|
||||
Builtin active? net:active? addrinfo>o net:addrinfo>o again? net:again? alloc-and-read net:alloc-and-read
|
||||
Builtin alloc-buf net:alloc-buf avail? net:avail? base64url> net:base64url> bind net:bind cgi-get net:cgi-get
|
||||
Builtin cgi-http-header net:cgi-http-header cgi-init net:cgi-init cgi-init-stunnel net:cgi-init-stunnel
|
||||
Builtin cgi-out net:cgi-out close net:close closed? net:closed? connect net:connect curnet net:curnet
|
||||
Builtin debug? net:debug? delete net:delete dns net:dns get net:get getaddrinfo net:getaddrinfo getpeername net:getpeername
|
||||
Builtin head net:head ifaces? net:ifaces? ipv6? net:ipv6? launch net:launch listen net:listen map>url net:map>url
|
||||
Builtin mime-type net:mime-type net-socket net:net-socket opts net:opts port-is-ssl? net:port-is-ssl?
|
||||
Builtin post net:post proxy! net:proxy! put net:put read net:read read-all net:read-all read-buf net:read-buf
|
||||
Builtin recvfrom net:recvfrom s>url net:s>url sendto net:sendto server net:server setsockopt net:setsockopt
|
||||
Builtin socket net:socket tcp-connect net:tcp-connect tlserr net:tlserr tlshello net:tlshello udp-connect net:udp-connect
|
||||
Builtin url> net:url> user-agent net:user-agent vpncheck net:vpncheck wait net:wait webserver net:webserver
|
||||
Builtin write net:write (begin) nk:(begin) (chart-begin) nk:(chart-begin) (chart-begin-colored) nk:(chart-begin-colored)
|
||||
Builtin (chart-end) nk:(chart-end) (end) nk:(end) (group-begin) nk:(group-begin) (group-end) nk:(group-end)
|
||||
Builtin (property) nk:(property) >img nk:>img addfont nk:addfont anti-alias nk:anti-alias any-clicked? nk:any-clicked?
|
||||
Builtin bounds nk:bounds bounds! nk:bounds! button nk:button button-color nk:button-color button-label nk:button-label
|
||||
Builtin button-set-behavior nk:button-set-behavior button-symbol nk:button-symbol button-symbol-label nk:button-symbol-label
|
||||
Builtin center-rect nk:center-rect chart-add-slot nk:chart-add-slot chart-add-slot-colored nk:chart-add-slot-colored
|
||||
Builtin chart-push nk:chart-push chart-push-slot nk:chart-push-slot checkbox nk:checkbox circle nk:circle
|
||||
Builtin clicked? nk:clicked? close-this! nk:close-this! close-this? nk:close-this? close? nk:close?
|
||||
Builtin color-picker nk:color-picker combo nk:combo combo-begin-color nk:combo-begin-color combo-begin-label nk:combo-begin-label
|
||||
Builtin combo-cb nk:combo-cb combo-end nk:combo-end contextual-begin nk:contextual-begin contextual-close nk:contextual-close
|
||||
Builtin url> net:url> user-agent net:user-agent valid-email? net:valid-email? vpncheck net:vpncheck
|
||||
Builtin wait net:wait webserver net:webserver write net:write (begin) nk:(begin) (chart-begin) nk:(chart-begin)
|
||||
Builtin (chart-begin-colored) nk:(chart-begin-colored) (chart-end) nk:(chart-end) (end) nk:(end) (group-begin) nk:(group-begin)
|
||||
Builtin (group-end) nk:(group-end) (property) nk:(property) >img nk:>img GLLIBS nk:GLLIBS GLXLIBS nk:GLXLIBS
|
||||
Builtin addfont nk:addfont anti-alias nk:anti-alias any-clicked? nk:any-clicked? bounds nk:bounds bounds! nk:bounds!
|
||||
Builtin button nk:button button-color nk:button-color button-label nk:button-label button-set-behavior nk:button-set-behavior
|
||||
Builtin button-symbol nk:button-symbol button-symbol-label nk:button-symbol-label chart-add-slot nk:chart-add-slot
|
||||
Builtin chart-add-slot-colored nk:chart-add-slot-colored chart-push nk:chart-push chart-push-slot nk:chart-push-slot
|
||||
Builtin checkbox nk:checkbox circle nk:circle clicked? nk:clicked? close-this! nk:close-this! close-this? nk:close-this?
|
||||
Builtin close? nk:close? color-chooser nk:color-chooser color-picker nk:color-picker combo nk:combo
|
||||
Builtin combo-begin-color nk:combo-begin-color combo-begin-label nk:combo-begin-label combo-cb nk:combo-cb
|
||||
Builtin combo-end nk:combo-end contextual-begin nk:contextual-begin contextual-close nk:contextual-close
|
||||
Builtin contextual-end nk:contextual-end contextual-item-image-text nk:contextual-item-image-text contextual-item-symbol-text nk:contextual-item-symbol-text
|
||||
Builtin contextual-item-text nk:contextual-item-text cp! nk:cp! cp@ nk:cp@ curpos nk:curpos cursor-load nk:cursor-load
|
||||
Builtin cursor-set nk:cursor-set cursor-show nk:cursor-show display-info nk:display-info display@ nk:display@
|
||||
Builtin do nk:do down? nk:down? draw-image nk:draw-image draw-image-at nk:draw-image-at draw-image-centered nk:draw-image-centered
|
||||
Builtin draw-sub-image nk:draw-sub-image draw-text nk:draw-text draw-text-centered nk:draw-text-centered
|
||||
Builtin draw-text-high nk:draw-text-high draw-text-wrap nk:draw-text-wrap drivers nk:drivers edit-focus nk:edit-focus
|
||||
Builtin edit-string nk:edit-string event nk:event event-boost nk:event-boost event-msec nk:event-msec
|
||||
Builtin event-wait nk:event-wait event? nk:event? fill-arc nk:fill-arc fill-circle nk:fill-circle fill-color nk:fill-color
|
||||
Builtin fill-poly nk:fill-poly fill-rect nk:fill-rect fill-rect-color nk:fill-rect-color fill-triangle nk:fill-triangle
|
||||
Builtin finger nk:finger flags! nk:flags! flags@ nk:flags@ flash nk:flash fullscreen nk:fullscreen
|
||||
Builtin gesture nk:gesture get nk:get get-row-height nk:get-row-height getfont nk:getfont getmap nk:getmap
|
||||
Builtin getmap! nk:getmap! gl? nk:gl? grid nk:grid grid-push nk:grid-push group-scroll-ofs nk:group-scroll-ofs
|
||||
Builtin group-scroll-ofs! nk:group-scroll-ofs! hovered? nk:hovered? hrule nk:hrule image nk:image init nk:init
|
||||
Builtin input-button nk:input-button input-key nk:input-key input-motion nk:input-motion input-scroll nk:input-scroll
|
||||
Builtin input-string nk:input-string key-down? nk:key-down? key-pressed? nk:key-pressed? key-released? nk:key-released?
|
||||
Builtin label nk:label label-colored nk:label-colored label-wrap nk:label-wrap label-wrap-colored nk:label-wrap-colored
|
||||
Builtin layout-bounds nk:layout-bounds layout-grid-begin nk:layout-grid-begin layout-grid-end nk:layout-grid-end
|
||||
Builtin layout-push-dynamic nk:layout-push-dynamic layout-push-static nk:layout-push-static layout-push-variable nk:layout-push-variable
|
||||
Builtin layout-ratio-from-pixel nk:layout-ratio-from-pixel layout-reset-row-height nk:layout-reset-row-height
|
||||
Builtin layout-row nk:layout-row layout-row-begin nk:layout-row-begin layout-row-dynamic nk:layout-row-dynamic
|
||||
Builtin layout-row-end nk:layout-row-end layout-row-height nk:layout-row-height layout-row-push nk:layout-row-push
|
||||
Builtin layout-row-static nk:layout-row-static layout-row-template-begin nk:layout-row-template-begin
|
||||
Builtin draw-text-high nk:draw-text-high draw-text-wrap nk:draw-text-wrap driver nk:driver drivers nk:drivers
|
||||
Builtin dropped nk:dropped dropping nk:dropping edit-focus nk:edit-focus edit-string nk:edit-string
|
||||
Builtin event nk:event event-boost nk:event-boost event-msec nk:event-msec event-wait nk:event-wait
|
||||
Builtin event? nk:event? fill-arc nk:fill-arc fill-circle nk:fill-circle fill-color nk:fill-color fill-poly nk:fill-poly
|
||||
Builtin fill-rect nk:fill-rect fill-rect-color nk:fill-rect-color fill-triangle nk:fill-triangle finger nk:finger
|
||||
Builtin flags! nk:flags! flags@ nk:flags@ flash nk:flash fullscreen nk:fullscreen gesture nk:gesture
|
||||
Builtin get nk:get get-row-height nk:get-row-height getfont nk:getfont getmap nk:getmap getmap! nk:getmap!
|
||||
Builtin gl? nk:gl? grid nk:grid grid-peek nk:grid-peek grid-push nk:grid-push group-scroll-ofs nk:group-scroll-ofs
|
||||
Builtin group-scroll-ofs! nk:group-scroll-ofs! hints nk:hints hovered? nk:hovered? hrule nk:hrule image nk:image
|
||||
Builtin init nk:init input-button nk:input-button input-key nk:input-key input-motion nk:input-motion
|
||||
Builtin input-scroll nk:input-scroll input-string nk:input-string key-down? nk:key-down? key-pressed? nk:key-pressed?
|
||||
Builtin key-released? nk:key-released? knob nk:knob label nk:label label-colored nk:label-colored label-wrap nk:label-wrap
|
||||
Builtin label-wrap-colored nk:label-wrap-colored layout-bounds nk:layout-bounds layout-grid-begin nk:layout-grid-begin
|
||||
Builtin layout-grid-end nk:layout-grid-end layout-push-dynamic nk:layout-push-dynamic layout-push-static nk:layout-push-static
|
||||
Builtin layout-push-variable nk:layout-push-variable layout-ratio-from-pixel nk:layout-ratio-from-pixel
|
||||
Builtin layout-reset-row-height nk:layout-reset-row-height layout-row nk:layout-row layout-row-begin nk:layout-row-begin
|
||||
Builtin layout-row-dynamic nk:layout-row-dynamic layout-row-end nk:layout-row-end layout-row-height nk:layout-row-height
|
||||
Builtin layout-row-push nk:layout-row-push layout-row-static nk:layout-row-static layout-row-template-begin nk:layout-row-template-begin
|
||||
Builtin layout-row-template-end nk:layout-row-template-end layout-space-begin nk:layout-space-begin
|
||||
Builtin layout-space-end nk:layout-space-end layout-space-push nk:layout-space-push layout-widget-bounds nk:layout-widget-bounds
|
||||
Builtin line-rel nk:line-rel line-to nk:line-to list-begin nk:list-begin list-end nk:list-end list-new nk:list-new
|
||||
Builtin list-range nk:list-range m! nk:m! m@ nk:m@ make-style nk:make-style max-vertex-element nk:max-vertex-element
|
||||
Builtin list-ofs nk:list-ofs list-range nk:list-range m! nk:m! m@ nk:m@ make-style nk:make-style max-vertex-element nk:max-vertex-element
|
||||
Builtin maximize nk:maximize measure nk:measure measure-font nk:measure-font menu-begin nk:menu-begin
|
||||
Builtin menu-close nk:menu-close menu-end nk:menu-end menu-item-image nk:menu-item-image menu-item-label nk:menu-item-label
|
||||
Builtin menu-item-symbol nk:menu-item-symbol menubar-begin nk:menubar-begin menubar-end nk:menubar-end
|
||||
Builtin minimize nk:minimize mouse-pos nk:mouse-pos move-back nk:move-back move-rel nk:move-rel move-to nk:move-to
|
||||
Builtin msg nk:msg msgdlg nk:msgdlg ontop nk:ontop option nk:option pen-color nk:pen-color pen-width nk:pen-width
|
||||
Builtin plot nk:plot plot-fn nk:plot-fn pop-font nk:pop-font popup-begin nk:popup-begin popup-close nk:popup-close
|
||||
Builtin popup-end nk:popup-end popup-scroll-ofs nk:popup-scroll-ofs popup-scroll-ofs! nk:popup-scroll-ofs!
|
||||
Builtin progress nk:progress prop-int nk:prop-int pt-in? nk:pt-in? pt-open nk:pt-open pt>local nk:pt>local
|
||||
Builtin pt>rect nk:pt>rect pt>screen nk:pt>screen pt>x nk:pt>x pts>rect nk:pts>rect push-font nk:push-font
|
||||
Builtin raise nk:raise rect! nk:rect! rect-center nk:rect-center rect-intersect nk:rect-intersect rect-ofs nk:rect-ofs
|
||||
Builtin rect-open nk:rect-open rect-pad nk:rect-pad rect-rel nk:rect-rel rect-shrink nk:rect-shrink
|
||||
Builtin rect-to nk:rect-to rect-union nk:rect-union rect/high nk:rect/high rect/wide nk:rect/wide rect= nk:rect=
|
||||
Builtin rect>local nk:rect>local rect>pos nk:rect>pos rect>pts nk:rect>pts rect>pts4 nk:rect>pts4 rect>screen nk:rect>screen
|
||||
Builtin rect>size nk:rect>size rect>x nk:rect>x rect@ nk:rect@ released? nk:released? render nk:render
|
||||
Builtin render-timed nk:render-timed restore nk:restore rotate nk:rotate rotate-rel nk:rotate-rel save nk:save
|
||||
Builtin scale nk:scale scancode? nk:scancode? screen-saver nk:screen-saver screen-size nk:screen-size
|
||||
Builtin screen-win-close nk:screen-win-close selectable nk:selectable set nk:set set-font nk:set-font
|
||||
Builtin set-num-vertices nk:set-num-vertices set-radius nk:set-radius setpos nk:setpos setwin nk:setwin
|
||||
Builtin show nk:show slider nk:slider slider-int nk:slider-int space nk:space spacing nk:spacing stroke-arc nk:stroke-arc
|
||||
Builtin stroke-circle nk:stroke-circle stroke-curve nk:stroke-curve stroke-line nk:stroke-line stroke-polygon nk:stroke-polygon
|
||||
Builtin stroke-polyline nk:stroke-polyline stroke-rect nk:stroke-rect stroke-tri nk:stroke-tri style-from-table nk:style-from-table
|
||||
Builtin swipe nk:swipe swipe-dir-threshold nk:swipe-dir-threshold swipe-threshold nk:swipe-threshold
|
||||
Builtin text nk:text text-align nk:text-align text-font nk:text-font text-pad nk:text-pad text? nk:text?
|
||||
Builtin timer-delay nk:timer-delay timer? nk:timer? tooltip nk:tooltip translate nk:translate tree-pop nk:tree-pop
|
||||
Builtin tree-state-push nk:tree-state-push use-style nk:use-style vsync nk:vsync widget nk:widget widget-bounds nk:widget-bounds
|
||||
Builtin pix! nk:pix! plot nk:plot plot-fn nk:plot-fn polygon nk:polygon pop-font nk:pop-font popup-begin nk:popup-begin
|
||||
Builtin popup-close nk:popup-close popup-end nk:popup-end popup-scroll-ofs nk:popup-scroll-ofs popup-scroll-ofs! nk:popup-scroll-ofs!
|
||||
Builtin progress nk:progress prop-int nk:prop-int pt-in? nk:pt-in? pt>local nk:pt>local pt>screen nk:pt>screen
|
||||
Builtin push-font nk:push-font raise nk:raise rect-rel nk:rect-rel rect-to nk:rect-to rect>local nk:rect>local
|
||||
Builtin rect>screen nk:rect>screen released? nk:released? render nk:render render-timed nk:render-timed
|
||||
Builtin rendering nk:rendering restore nk:restore rotate nk:rotate rotate-rel nk:rotate-rel rtl! nk:rtl!
|
||||
Builtin rtl? nk:rtl? save nk:save scale nk:scale scancode? nk:scancode? screen-saver nk:screen-saver
|
||||
Builtin screen-size nk:screen-size screen-win-close nk:screen-win-close selectable nk:selectable set nk:set
|
||||
Builtin set-font nk:set-font set-num-vertices nk:set-num-vertices set-radius nk:set-radius setpos nk:setpos
|
||||
Builtin setwin nk:setwin show nk:show slider nk:slider slider-int nk:slider-int space nk:space spacing nk:spacing
|
||||
Builtin stroke-arc nk:stroke-arc stroke-circle nk:stroke-circle stroke-curve nk:stroke-curve stroke-line nk:stroke-line
|
||||
Builtin stroke-polygon nk:stroke-polygon stroke-polyline nk:stroke-polyline stroke-rect nk:stroke-rect
|
||||
Builtin stroke-tri nk:stroke-tri style-from-table nk:style-from-table swipe nk:swipe swipe-dir-threshold nk:swipe-dir-threshold
|
||||
Builtin swipe-threshold nk:swipe-threshold text nk:text text-align nk:text-align text-font nk:text-font
|
||||
Builtin text-pad nk:text-pad text? nk:text? timer-delay nk:timer-delay timer? nk:timer? toast nk:toast
|
||||
Builtin tooltip nk:tooltip translate nk:translate tree-pop nk:tree-pop tree-state-push nk:tree-state-push
|
||||
Builtin triangle nk:triangle use-style nk:use-style vsync nk:vsync widget nk:widget widget-bounds nk:widget-bounds
|
||||
Builtin widget-disable nk:widget-disable widget-fitting nk:widget-fitting widget-high nk:widget-high
|
||||
Builtin widget-hovered? nk:widget-hovered? widget-mouse-click-down? nk:widget-mouse-click-down? widget-mouse-clicked? nk:widget-mouse-clicked?
|
||||
Builtin widget-pos nk:widget-pos widget-size nk:widget-size widget-size nk:widget-size widget-wide nk:widget-wide
|
||||
Builtin win nk:win win-bounds nk:win-bounds win-bounds! nk:win-bounds! win-close nk:win-close win-closed? nk:win-closed?
|
||||
Builtin win-collapse nk:win-collapse win-collapsed? nk:win-collapsed? win-content-bounds nk:win-content-bounds
|
||||
Builtin widget-pos nk:widget-pos widget-size nk:widget-size widget-size-allot nk:widget-size-allot
|
||||
Builtin widget-wide nk:widget-wide win nk:win win-bounds nk:win-bounds win-bounds! nk:win-bounds! win-close nk:win-close
|
||||
Builtin win-closed? nk:win-closed? win-collapse nk:win-collapse win-collapsed? nk:win-collapsed? win-content-bounds nk:win-content-bounds
|
||||
Builtin win-focus nk:win-focus win-focused? nk:win-focused? win-hidden? nk:win-hidden? win-high nk:win-high
|
||||
Builtin win-hovered? nk:win-hovered? win-pos nk:win-pos win-scroll-ofs nk:win-scroll-ofs win-scroll-ofs! nk:win-scroll-ofs!
|
||||
Builtin win-show nk:win-show win-size nk:win-size win-wide nk:win-wide win? nk:win? x>pt nk:x>pt x>rect nk:x>rect
|
||||
Builtin MAX ns:MAX ! o:! + o:+ +? o:+? ??? o:??? @ o:@ class o:class exec o:exec isa o:isa method o:method
|
||||
Builtin mutate o:mutate new o:new super o:super chroot os:chroot devname os:devname docker? os:docker?
|
||||
Builtin env os:env lang os:lang locales os:locales notify os:notify power-state os:power-state region os:region
|
||||
Builtin waitpid os:waitpid bezier pdf:bezier bezierq pdf:bezierq circle pdf:circle color pdf:color
|
||||
Builtin ellipse pdf:ellipse font pdf:font img pdf:img line pdf:line new pdf:new page pdf:page page-size pdf:page-size
|
||||
Builtin rect pdf:rect save pdf:save size pdf:size text pdf:text text-rotate pdf:text-rotate text-size pdf:text-size
|
||||
Builtin text-width pdf:text-width text-wrap pdf:text-wrap text-wrap-rotate pdf:text-wrap-rotate cast ptr:cast
|
||||
Builtin win-hovered? nk:win-hovered? win-icon! nk:win-icon! win-pos nk:win-pos win-scroll-ofs nk:win-scroll-ofs
|
||||
Builtin win-scroll-ofs! nk:win-scroll-ofs! win-show nk:win-show win-size nk:win-size win-title! nk:win-title!
|
||||
Builtin win-wide nk:win-wide win? nk:win? MAX ns:MAX ! o:! + o:+ +? o:+? ??? o:??? @ o:@ class o:class
|
||||
Builtin exec o:exec isa o:isa method o:method mutate o:mutate new o:new super o:super POSIX os:POSIX
|
||||
Builtin chroot os:chroot devname os:devname docker? os:docker? env os:env lang os:lang locales os:locales
|
||||
Builtin notify os:notify power-state os:power-state region os:region waitpid os:waitpid bezier pdf:bezier
|
||||
Builtin bezierq pdf:bezierq circle pdf:circle color pdf:color ellipse pdf:ellipse font pdf:font img pdf:img
|
||||
Builtin line pdf:line new pdf:new page pdf:page page-size pdf:page-size rect pdf:rect save pdf:save
|
||||
Builtin size pdf:size text pdf:text text-rotate pdf:text-rotate text-size pdf:text-size text-width pdf:text-width
|
||||
Builtin text-wrap pdf:text-wrap text-wrap-rotate pdf:text-wrap-rotate cast ptr:cast deref ptr:deref
|
||||
Builtin len ptr:len null? ptr:null? pack ptr:pack unpack ptr:unpack unpack_orig ptr:unpack_orig publish pubsub:publish
|
||||
Builtin qsize pubsub:qsize subscribe pubsub:subscribe + q:+ clear q:clear len q:len new q:new notify q:notify
|
||||
Builtin overwrite q:overwrite peek q:peek pick q:pick pop q:pop push q:push remove q:remove shift q:shift
|
||||
Builtin size q:size slide q:slide throwing q:throwing wait q:wait ++match r:++match +/ r:+/ +match r:+match
|
||||
Builtin / r:/ @ r:@ len r:len match r:match new r:new rx r:rx str r:str * rat:* + rat:+ - rat:- / rat:/
|
||||
Builtin >n rat:>n >s rat:>s new rat:new proper rat:proper ! s:! * s:* + s:+ - s:- / s:/ /scripts s:/scripts
|
||||
Builtin <+ s:<+ <> s:<> = s:= =ic s:=ic >base64 s:>base64 >ucs2 s:>ucs2 @ s:@ append s:append base64> s:base64>
|
||||
Builtin clear s:clear cmp s:cmp cmpi s:cmpi compress s:compress count-match s:count-match days! s:days!
|
||||
Builtin dist s:dist each s:each each! s:each! eachline s:eachline escape s:escape expand s:expand fill s:fill
|
||||
Builtin fold s:fold globmatch s:globmatch hexupr s:hexupr insert s:insert intl s:intl intl! s:intl!
|
||||
Builtin lang s:lang lc s:lc lc? s:lc? len s:len lsub s:lsub ltrim s:ltrim map s:map months! s:months!
|
||||
Builtin n> s:n> new s:new norm s:norm reduce s:reduce repinsert s:repinsert replace s:replace replace! s:replace!
|
||||
Builtin rev s:rev rsearch s:rsearch rsub s:rsub rtrim s:rtrim scan-match s:scan-match script? s:script?
|
||||
Builtin search s:search size s:size slice s:slice soundex s:soundex strfmap s:strfmap strfmt s:strfmt
|
||||
Builtin term s:term text-wrap s:text-wrap tr s:tr translate s:translate trim s:trim tsub s:tsub uc s:uc
|
||||
Builtin uc? s:uc? ucs2> s:ucs2> utf8? s:utf8? zt s:zt close sio:close enum sio:enum open sio:open opts! sio:opts!
|
||||
Builtin opts@ sio:opts@ read sio:read write sio:write @ slv:@ auto slv:auto build slv:build constraint slv:constraint
|
||||
Builtin dump slv:dump edit slv:edit named-variable slv:named-variable new slv:new relation slv:relation
|
||||
Builtin reset slv:reset suggest slv:suggest term slv:term update slv:update v[] slv:v[] variable slv:variable
|
||||
Builtin v{} slv:v{} new smtp:new send smtp:send apply-filter snd:apply-filter devices? snd:devices?
|
||||
Builtin end-record snd:end-record filter snd:filter freq snd:freq gain snd:gain gain? snd:gain? init snd:init
|
||||
Builtin len snd:len loop snd:loop loop? snd:loop? mix snd:mix new snd:new pause snd:pause play snd:play
|
||||
Builtin played snd:played rate snd:rate ready? snd:ready? record snd:record resume snd:resume seek snd:seek
|
||||
Builtin stop snd:stop stopall snd:stopall volume snd:volume volume? snd:volume? + st:+ . st:. clear st:clear
|
||||
Builtin len st:len ndrop st:ndrop new st:new op! st:op! peek st:peek pick st:pick pop st:pop push st:push
|
||||
Builtin roll st:roll shift st:shift size st:size slide st:slide swap st:swap throwing st:throwing >buf struct:>buf
|
||||
Builtin arr> struct:arr> buf struct:buf buf> struct:buf> byte struct:byte double struct:double field! struct:field!
|
||||
Builtin / r:/ @ r:@ len r:len match r:match match[] r:match[] matchall[] r:matchall[] new r:new rx r:rx
|
||||
Builtin str r:str * rat:* + rat:+ - rat:- / rat:/ >n rat:>n >s rat:>s new rat:new proper rat:proper
|
||||
Builtin ! rect:! /high rect:/high /wide rect:/wide = rect:= >a rect:>a >pts rect:>pts >pts4 rect:>pts4
|
||||
Builtin @ rect:@ center rect:center center-pt rect:center-pt intersect rect:intersect new rect:new
|
||||
Builtin new-pt rect:new-pt ofs rect:ofs open rect:open pad rect:pad pos rect:pos pt-open rect:pt-open
|
||||
Builtin pt>a rect:pt>a pt>rect rect:pt>rect pts> rect:pts> restrict rect:restrict shrink rect:shrink
|
||||
Builtin size rect:size union rect:union ! s:! * s:* + s:+ - s:- / s:/ /scripts s:/scripts /ws s:/ws
|
||||
Builtin 2len s:2len <+ s:<+ <> s:<> = s:= =ic s:=ic >base64 s:>base64 >ucs2 s:>ucs2 @ s:@ _len s:_len
|
||||
Builtin append s:append base64> s:base64> clear s:clear cmp s:cmp cmpi s:cmpi compress s:compress count-match s:count-match
|
||||
Builtin days! s:days! dist s:dist each s:each each! s:each! eachline s:eachline escape s:escape expand s:expand
|
||||
Builtin fill s:fill fold s:fold gen-uid s:gen-uid globmatch s:globmatch hexupr s:hexupr insert s:insert
|
||||
Builtin intl s:intl intl! s:intl! lang s:lang lc s:lc lc? s:lc? len s:len lsub s:lsub ltrim s:ltrim
|
||||
Builtin map s:map months! s:months! n> s:n> new s:new norm s:norm reduce s:reduce repinsert s:repinsert
|
||||
Builtin replace s:replace replace! s:replace! rev s:rev rsearch s:rsearch rsub s:rsub rtl s:rtl rtrim s:rtrim
|
||||
Builtin scan-match s:scan-match script? s:script? search s:search size s:size slice s:slice soundex s:soundex
|
||||
Builtin strfmap s:strfmap strfmt s:strfmt term s:term text-wrap s:text-wrap tr s:tr translate s:translate
|
||||
Builtin trim s:trim tsub s:tsub uc s:uc uc? s:uc? ucs2> s:ucs2> utf8? s:utf8? zt s:zt close sio:close
|
||||
Builtin enum sio:enum open sio:open opts! sio:opts! opts@ sio:opts@ read sio:read write sio:write @ slv:@
|
||||
Builtin auto slv:auto build slv:build constraint slv:constraint dump slv:dump edit slv:edit named-variable slv:named-variable
|
||||
Builtin new slv:new relation slv:relation reset slv:reset suggest slv:suggest term slv:term update slv:update
|
||||
Builtin v[] slv:v[] variable slv:variable v{} slv:v{} new smtp:new send smtp:send apply-filter snd:apply-filter
|
||||
Builtin devices? snd:devices? end-record snd:end-record filter snd:filter freq snd:freq gain snd:gain
|
||||
Builtin gain? snd:gain? init snd:init len snd:len loop snd:loop loop? snd:loop? mix snd:mix new snd:new
|
||||
Builtin pause snd:pause play snd:play played snd:played rate snd:rate ready? snd:ready? record snd:record
|
||||
Builtin resume snd:resume seek snd:seek stop snd:stop stopall snd:stopall volume snd:volume volume? snd:volume?
|
||||
Builtin + st:+ . st:. clear st:clear dot-depth st:dot-depth len st:len list st:list ndrop st:ndrop
|
||||
Builtin new st:new op! st:op! peek st:peek pick st:pick pop st:pop push st:push roll st:roll shift st:shift
|
||||
Builtin size st:size slide st:slide swap st:swap throwing st:throwing >buf struct:>buf arr> struct:arr>
|
||||
Builtin buf struct:buf buf> struct:buf> byte struct:byte double struct:double field! struct:field!
|
||||
Builtin field@ struct:field@ float struct:float ignore struct:ignore int struct:int long struct:long
|
||||
Builtin struct; struct:struct; word struct:word ! t:! @ t:@ by-name t:by-name cor t:cor cor-drop t:cor-drop
|
||||
Builtin curtask t:curtask def-queue t:def-queue def-stack t:def-stack done? t:done? dtor t:dtor err! t:err!
|
||||
Builtin err? t:err? errno? t:errno? extra t:extra getq t:getq handler t:handler handler@ t:handler@
|
||||
Builtin kill t:kill list t:list main t:main max-exceptions t:max-exceptions name! t:name! name@ t:name@
|
||||
Builtin notify t:notify parent t:parent pop t:pop priority t:priority push t:push push! t:push! q-notify t:q-notify
|
||||
Builtin q-wait t:q-wait qlen t:qlen result t:result set-affinity t:set-affinity setq t:setq start t:start
|
||||
Builtin task t:task task-n t:task-n task-stop t:task-stop ticks t:ticks wait t:wait yield t:yield yield! t:yield!
|
||||
Builtin add tree:add binary tree:binary bk tree:bk btree tree:btree cmp! tree:cmp! data tree:data del tree:del
|
||||
Builtin find tree:find iter tree:iter next tree:next nodes tree:nodes parent tree:parent parse tree:parse
|
||||
Builtin prev tree:prev root tree:root search tree:search trie tree:trie ! w:! (is) w:(is) @ w:@ alias: w:alias:
|
||||
Builtin cb w:cb deprecate w:deprecate dlcall w:dlcall dlopen w:dlopen dlsym w:dlsym exec w:exec exec? w:exec?
|
||||
Builtin ffifail w:ffifail find w:find forget w:forget is w:is name w:name undo w:undo close ws:close
|
||||
Builtin decode ws:decode encode ws:encode encode-nomask ws:encode-nomask gen-accept-header ws:gen-accept-header
|
||||
Builtin struct; struct:struct; word struct:word ! t:! @ t:@ by-name t:by-name curtask t:curtask def-queue t:def-queue
|
||||
Builtin def-stack t:def-stack done? t:done? dtor t:dtor err! t:err! err? t:err? errno? t:errno? extra t:extra
|
||||
Builtin getq t:getq handler t:handler handler@ t:handler@ kill t:kill list t:list main t:main max-exceptions t:max-exceptions
|
||||
Builtin name! t:name! name@ t:name@ notify t:notify parent t:parent pop t:pop priority t:priority push t:push
|
||||
Builtin push! t:push! q-notify t:q-notify q-wait t:q-wait qlen t:qlen result t:result set-affinity t:set-affinity
|
||||
Builtin setq t:setq task t:task task-n t:task-n task-stop t:task-stop ticks t:ticks wait t:wait add tree:add
|
||||
Builtin binary tree:binary bk tree:bk btree tree:btree cmp! tree:cmp! data tree:data del tree:del find tree:find
|
||||
Builtin iter tree:iter next tree:next nodes tree:nodes parent tree:parent parse tree:parse prev tree:prev
|
||||
Builtin root tree:root search tree:search trie tree:trie ! w:! (is) w:(is) @ w:@ alias: w:alias: cb w:cb
|
||||
Builtin deprecate w:deprecate dlcall w:dlcall dlopen w:dlopen dlsym w:dlsym exec w:exec exec? w:exec?
|
||||
Builtin ffifail w:ffifail find w:find forget w:forget is w:is name w:name undo w:undo xt w:xt xt> w:xt>
|
||||
Builtin close ws:close decode ws:decode encode ws:encode encode-nomask ws:encode-nomask gen-accept-header ws:gen-accept-header
|
||||
Builtin gen-accept-key ws:gen-accept-key opcodes ws:opcodes open ws:open >s xml:>s >txt xml:>txt md-init xml:md-init
|
||||
Builtin md-parse xml:md-parse parse xml:parse parse-html xml:parse-html parse-stream xml:parse-stream
|
||||
Builtin getmsg[] zmq:getmsg[] sendmsg[] zmq:sendmsg[]
|
||||
@@ -413,8 +426,9 @@ syn match eighthBuiltin /db:bind-exec\[]/
|
||||
syn match eighthBuiltin /db:exec\[]/
|
||||
syn match eighthBuiltin /db:col\[]/
|
||||
|
||||
" TODO
|
||||
syn region eighthComment start="\zs\\" end="$" contains=eighthTodo
|
||||
syn region eighthComment start="\zs\\" end="$" contains=eighthTodo,@Spell
|
||||
syn region eighthComment start="\zs--\s" end="$" contains=eighthTodo,@Spell
|
||||
syn region eighthComment start="\zs(\*\_[:space:]" end="\_[:space:]\*)\ze" contains=eightTodo,@Spell
|
||||
|
||||
" The default methods for highlighting. Can be overriden later.
|
||||
hi def link eighthTodo Todo
|
||||
@@ -452,6 +466,7 @@ hi def link jsonArray Special
|
||||
hi def link jsonNull Function
|
||||
hi def link jsonBool Boolean
|
||||
|
||||
delcommand Builtin
|
||||
let b:current_syntax = "8th"
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
" Language: Good old CFG files
|
||||
" Maintainer: Igor N. Prischepoff (igor@tyumbit.ru, pri_igor@mail.ru)
|
||||
" Last change: 2012 Aug 11
|
||||
" 2024 Nov 14 by Vim project: // only denotes a comment when starting a line (#16051)
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists ("b:current_syntax")
|
||||
@@ -27,17 +28,17 @@ syn match CfgSection "{.*}"
|
||||
syn match CfgString "\".*\"" contained
|
||||
syn match CfgString "'.*'" contained
|
||||
|
||||
" Comments (Everything before '#' or '//' or ';')
|
||||
" Comments (Everything before '#' or ';' or leading '//')
|
||||
syn match CfgComment "#.*"
|
||||
syn match CfgComment ";.*"
|
||||
syn match CfgComment "\/\/.*"
|
||||
syn match CfgComment "^\s*\/\/.*"
|
||||
|
||||
" Define the default highlighting.
|
||||
" Only when an item doesn't have highlighting yet
|
||||
hi def link CfgOnOff Label
|
||||
hi def link CfgComment Comment
|
||||
hi def link CfgSection Type
|
||||
hi def link CfgString String
|
||||
hi def link CfgComment Comment
|
||||
hi def link CfgSection Type
|
||||
hi def link CfgString String
|
||||
hi def link CfgParams Keyword
|
||||
hi def link CfgValues Constant
|
||||
hi def link CfgDirectory Directory
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Vim script
|
||||
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
|
||||
" Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2024 Oct 05
|
||||
" Last Change: 2024 Oct 08
|
||||
" Former Maintainer: Charles E. Campbell
|
||||
|
||||
" DO NOT CHANGE DIRECTLY.
|
||||
@@ -202,7 +202,7 @@ syn match vimNumber '\%(^\|\A\)\zs#\x\{6}' skipwhite nextgroup=vimGlobal,vimSub
|
||||
syn case match
|
||||
|
||||
" All vimCommands are contained by vimIsCommand. {{{2
|
||||
syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDef,vimDefFold,vimDelcommand,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimFor,vimFunction,vimFuncFold,vimGlobal,vimHighlight,vimLet,vimLoadkeymap,vimMap,vimMark,vimMatch,vimNotFunc,vimNorm,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList
|
||||
syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDef,vimDefFold,vimDelcommand,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimFor,vimFunction,vimFuncFold,vimGlobal,vimHighlight,vimLet,vimLoadkeymap,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList
|
||||
syn cluster vim9CmdList contains=vim9Class,vim9Const,vim9Enum,vim9Export,vim9Final,vim9For,vim9Interface,vim9Type,vim9Var
|
||||
syn match vimCmdSep "[:|]\+" skipwhite nextgroup=@vimCmdList,vimSubst1
|
||||
syn match vimIsCommand "\<\%(\h\w*\|[23]mat\%[ch]\)\>" contains=vimCommand
|
||||
@@ -214,6 +214,7 @@ syn match vimVar "\s\zs&t_\S[a-zA-Z0-9]\>"
|
||||
syn match vimVar "\s\zs&t_k;"
|
||||
syn match vimFBVar contained "\<[bwglstav]:\h[a-zA-Z0-9#_]*\>"
|
||||
syn keyword vimCommand contained in
|
||||
syn match vimBang contained "!"
|
||||
|
||||
syn cluster vimExprList contains=vimEnvvar,vimFunc,vimNumber,vimOper,vimOperParen,vimLetRegister,vimString,vimVar,@vim9ExprList
|
||||
syn cluster vim9ExprList contains=vim9Boolean,vim9Null
|
||||
@@ -811,10 +812,10 @@ syn keyword vimMatchNone contained none
|
||||
syn case match
|
||||
syn region vimMatchPattern contained matchgroup=Delimiter start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)" skip="\\\\\|\\\z1" end="\z1" contains=@vimSubstList oneline
|
||||
|
||||
" Norm: {{{2
|
||||
" ====
|
||||
syn match vimNorm "\<norm\%[al]!\=" skipwhite nextgroup=vimNormCmds
|
||||
syn match vimNormCmds contained ".*$"
|
||||
" Normal: {{{2
|
||||
" ======
|
||||
syn match vimNormal "\<norm\%[al]\>!\=" skipwhite nextgroup=vimNormalArg contains=vimBang
|
||||
syn region vimNormalArg contained start="\S" skip=+\n\s*\\\|\n\s*["#]\\ + end="$" contains=@vimContinue
|
||||
|
||||
" Sleep: {{{2
|
||||
" =====
|
||||
@@ -1371,7 +1372,7 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vimMenutranslateComment vimComment
|
||||
hi def link vim9MethodName vimFuncName
|
||||
hi def link vimMtchComment vimComment
|
||||
hi def link vimNorm vimCommand
|
||||
hi def link vimNormal vimCommand
|
||||
hi def link vimNotation Special
|
||||
hi def link vimNotFunc vimCommand
|
||||
hi def link vimNotPatSep vimString
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
" Vim syntax file
|
||||
" Language: Idris 2
|
||||
" Maintainer: Idris Hackers (https://github.com/edwinb/idris2-vim), Serhii Khoma <srghma@gmail.com>
|
||||
" Last Change: 2024 Nov 05
|
||||
" Original Author: raichoo (raichoo@googlemail.com)
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/ShinKage/idris2-nvim
|
||||
"
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syn match idris2TypeDecl "[a-zA-Z][a-zA-z0-9_']*\s\+:\s\+" contains=idris2Identifier,idris2Operators
|
||||
syn region idris2Parens matchgroup=idris2Delimiter start="(" end=")" contains=TOP,idris2TypeDecl
|
||||
syn region idris2Brackets matchgroup=idris2Delimiter start="\[" end="]" contains=TOP,idris2TypeDecl
|
||||
syn region idris2Block matchgroup=idris2Delimiter start="{" end="}" contains=TOP,idris2TypeDecl
|
||||
syn region idris2SnocBrackets matchgroup=idris2Delimiter start="\[<" end="]" contains=TOP
|
||||
syn region idris2ListBrackets matchgroup=idris2Delimiter start="\[>" end="]" contains=TOP
|
||||
syn keyword idris2Module module namespace
|
||||
syn keyword idris2Import import
|
||||
syn keyword idris2Structure data record interface implementation
|
||||
syn keyword idris2Where where
|
||||
syn keyword idris2Visibility public abstract private export
|
||||
syn keyword idris2Block parameters mutual using
|
||||
syn keyword idris2Totality total partial covering
|
||||
syn keyword idris2Annotation auto impossible default constructor
|
||||
syn keyword idris2Statement do case of rewrite with proof
|
||||
syn keyword idris2Let let in
|
||||
syn keyword idris2Forall forall
|
||||
syn keyword idris2DataOpt noHints uniqueSearch search external noNewtype containedin=idris2Brackets
|
||||
syn keyword idris2Conditional if then else
|
||||
syn match idris2Number "\<[0-9]\+\>\|\<0[xX][0-9a-fA-F]\+\>\|\<0[oO][0-7]\+\>"
|
||||
syn match idris2Float "\<[0-9]\+\.[0-9]\+\([eE][-+]\=[0-9]\+\)\=\>"
|
||||
syn match idris2Delimiter "[,;]"
|
||||
syn keyword idris2Infix prefix infix infixl infixr
|
||||
syn match idris2Operators "\([-!#$%&\*\+./<=>\?@\\^|~:]\|\<_\>\)"
|
||||
syn match idris2Type "\<[A-Z][a-zA-Z0-9_']*\>"
|
||||
syn keyword idris2Todo TODO FIXME XXX HACK contained
|
||||
syn match idris2LineComment "---*\([^-!#$%&\*\+./<=>\?@\\^|~].*\)\?$" contains=idris2Todo,@Spell
|
||||
syn match idris2DocComment "|||\([^-!#$%&\*\+./<=>\?@\\^|~].*\)\?$" contains=idris2Todo,@Spell
|
||||
syn match idris2MetaVar "?[a-zA-Z_][A-Za-z0-9_']*"
|
||||
syn match idris2Pragma "%\(hide\|logging\|auto_lazy\|unbound_implicits\|prefix_record_projections\|ambiguity_depth\|nf_metavar_threshold\|search_timeout\|pair\|rewrite\|integerLit\|stringLit\|charLit\|doubleLit\|name\|start\|allow_overloads\|language\|default\|transform\|hint\|globalhint\|defaulthint\|inline\|noinline\|extern\|macro\|spec\|foreign\|nomangle\|builtin\|MkWorld\|World\|search\|runElab\|tcinline\|auto_implicit_depth\)"
|
||||
syn match idris2Char "'[^'\\]'\|'\\.'\|'\\u[0-9a-fA-F]\{4}'"
|
||||
syn match idris2Backtick "`[A-Za-z][A-Za-z0-9_']*`"
|
||||
syn region idris2String start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell
|
||||
syn region idris2BlockComment start="{-" end="-}" contains=idris2BlockComment,idris2Todo,@Spell
|
||||
syn match idris2Identifier "[a-zA-Z][a-zA-z0-9_']*" contained
|
||||
|
||||
" Default Highlighting {{{1
|
||||
|
||||
highlight def link idris2Deprecated Error
|
||||
highlight def link idris2Identifier Identifier
|
||||
highlight def link idris2Import Structure
|
||||
highlight def link idris2Module Structure
|
||||
highlight def link idris2Structure Structure
|
||||
highlight def link idris2Statement Statement
|
||||
highlight def link idris2Forall Structure
|
||||
highlight def link idris2DataOpt Statement
|
||||
highlight def link idris2DSL Statement
|
||||
highlight def link idris2Block Statement
|
||||
highlight def link idris2Annotation Statement
|
||||
highlight def link idris2Where Structure
|
||||
highlight def link idris2Let Structure
|
||||
highlight def link idris2Totality Statement
|
||||
highlight def link idris2Visibility Statement
|
||||
highlight def link idris2Conditional Conditional
|
||||
highlight def link idris2Pragma Statement
|
||||
highlight def link idris2Number Number
|
||||
highlight def link idris2Float Float
|
||||
highlight def link idris2Delimiter Delimiter
|
||||
highlight def link idris2Infix PreProc
|
||||
highlight def link idris2Operators Operator
|
||||
highlight def link idris2Type Include
|
||||
highlight def link idris2DocComment Comment
|
||||
highlight def link idris2LineComment Comment
|
||||
highlight def link idris2BlockComment Comment
|
||||
highlight def link idris2Todo Todo
|
||||
highlight def link idris2MetaVar Macro
|
||||
highlight def link idris2String String
|
||||
highlight def link idris2Char String
|
||||
highlight def link idris2Backtick Operator
|
||||
|
||||
let b:current_syntax = "idris2"
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 noexpandtab ft=vim
|
||||
@@ -0,0 +1,66 @@
|
||||
" Vim syntax file
|
||||
" Language: Ipkg
|
||||
" Maintainer: Idris Hackers (https://github.com/edwinb/idris2-vim), Serhii Khoma <srghma@gmail.com>
|
||||
" Last Change: 2020 May 19
|
||||
" Version: 0.1
|
||||
" Author: ShinKage
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/ShinKage/idris2-nvim
|
||||
"
|
||||
" Syntax highlight for Idris 2 Package Descriptors (idris-lang.org)
|
||||
"
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" we want to use line continuations (\) BEGINNING
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn keyword ipkgKey
|
||||
\ package
|
||||
\ authors
|
||||
\ maintainers
|
||||
\ license
|
||||
\ brief
|
||||
\ readme
|
||||
\ homepage
|
||||
\ sourceloc
|
||||
\ bugtracker
|
||||
\ options
|
||||
\ opts
|
||||
\ sourcedir
|
||||
\ builddir
|
||||
\ outputdir
|
||||
\ prebuild
|
||||
\ postbuild
|
||||
\ preinstall
|
||||
\ postinstall
|
||||
\ preclean
|
||||
\ postclean
|
||||
\ version
|
||||
\ langversion
|
||||
\ modules
|
||||
\ main
|
||||
\ executable
|
||||
\ depends
|
||||
|
||||
" we want to use line continuations (\) END
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
syn region ipkgString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell
|
||||
syn match ipkgVersion "[0-9]*\([.][0-9]*\)*"
|
||||
syn match ipkgName "[a-zA-Z][a-zA-z0-9_']*\([.][a-zA-Z][a-zA-z0-9_']*\)*" contained
|
||||
syn match ipkgOperator "\(,\|&&\|<\|<=\|==\|>=\|>\)"
|
||||
syn match ipkgComment "---*\([^-!#$%&\*\+./<=>\?@\\^|~].*\)\?$" contains=@Spell
|
||||
|
||||
highlight def link ipkgKey Statement
|
||||
highlight def link ipkgString String
|
||||
highlight def link ipkgVersion Number
|
||||
highlight def link ipkgName Identifier
|
||||
highlight def link ipkgOperator Operator
|
||||
highlight def link ipkgComment Comment
|
||||
|
||||
let b:current_syntax = "ipkg"
|
||||
@@ -0,0 +1,25 @@
|
||||
" Vim syntax file
|
||||
" Language: Literate Idris 2
|
||||
" Maintainer: Idris Hackers (https://github.com/edwinb/idris2-vim), Serhii Khoma <srghma@gmail.com>
|
||||
" Last Change: 2020 May 19
|
||||
" Version: 0.1
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/ShinKage/idris2-nvim
|
||||
"
|
||||
" This is just a minimal adaption of the Literate Haskell syntax file.
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Read Idris highlighting.
|
||||
syntax include @idris2Top syntax/idris2.vim
|
||||
|
||||
" Recognize blocks of Bird tracks, highlight as Idris.
|
||||
syntax region lidris2BirdTrackBlock start="^>" end="\%(^[^>]\)\@=" contains=@idris2Top,lidris2BirdTrack
|
||||
syntax match lidris2BirdTrack "^>" contained
|
||||
|
||||
hi def link lidris2BirdTrack Comment
|
||||
|
||||
let b:current_syntax = "lidris2"
|
||||
@@ -0,0 +1,23 @@
|
||||
" Vim syntax file
|
||||
" Language: Vivado mss file
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2024 Oct 22
|
||||
" Document: https://docs.amd.com/r/2020.2-English/ug1400-vitis-embedded/Microprocessor-Software-Specification-MSS
|
||||
" Maintainer: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syn case ignore
|
||||
syn match mssComment "#.*$" contains=@Spell
|
||||
syn keyword mssKeyword BEGIN END PARAMETER
|
||||
syn keyword mssType OS PROCESSOR DRIVER LIBRARY
|
||||
syn keyword mssConstant VERSION PROC_INSTANCE HW_INSTANCE OS_NAME OS_VER DRIVER_NAME DRIVER_VER LIBRARY_NAME LIBRARY_VER STDIN STDOUT XMDSTUB_PERIPHERAL ARCHIVER COMPILER COMPILER_FLAGS EXTRA_COMPILER_FLAGS
|
||||
|
||||
hi def link mssComment Comment
|
||||
hi def link mssKeyword Keyword
|
||||
hi def link mssType Type
|
||||
hi def link mssConstant Constant
|
||||
|
||||
let b:current_syntax = "mss"
|
||||
@@ -0,0 +1,71 @@
|
||||
" Vim syntax file
|
||||
" Language: Org
|
||||
" Maintainer: Luca Saccarola <github.e41mv@aleeas.com>
|
||||
" Last Change: 2024 Nov 14
|
||||
"
|
||||
" Reference Specification: Org mode manual
|
||||
" GNU Info: `$ info Org`
|
||||
" Web: <https://orgmode.org/manual/index.html>
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
let b:current_syntax = 'org'
|
||||
|
||||
syn case ignore
|
||||
|
||||
" Bold
|
||||
syn region orgBold matchgroup=orgBoldDelimiter start="\(^\|[- '"({\]]\)\@<=\*\ze[^ ]" end="^\@!\*\([^\k\*]\|$\)\@=" keepend
|
||||
hi def link orgBold markdownBold
|
||||
hi def link orgBoldDelimiter orgBold
|
||||
|
||||
" Italic
|
||||
syn region orgItalic matchgroup=orgItalicDelimiter start="\(^\|[- '"({\]]\)\@<=\/\ze[^ ]" end="^\@!\/\([^\k\/]\|$\)\@=" keepend
|
||||
hi def link orgItalic markdownItalic
|
||||
hi def link orgItalicDelimiter orgItalic
|
||||
|
||||
" Strikethrogh
|
||||
syn region orgStrikethrough matchgroup=orgStrikethroughDelimiter start="\(^\|[ '"({\]]\)\@<=+\ze[^ ]" end="^\@!+\([^\k+]\|$\)\@=" keepend
|
||||
hi def link orgStrikethrough markdownStrike
|
||||
hi def link orgStrikethroughDelimiter orgStrikethrough
|
||||
|
||||
" Underline
|
||||
syn region orgUnderline matchgroup=orgUnderlineDelimiter start="\(^\|[- '"({\]]\)\@<=_\ze[^ ]" end="^\@!_\([^\k_]\|$\)\@=" keepend
|
||||
|
||||
" Headlines
|
||||
syn match orgHeadline "^\*\+\s\+.*$" keepend
|
||||
hi def link orgHeadline Title
|
||||
|
||||
" Line Comment
|
||||
syn match orgLineComment /^\s*#\s\+.*$/ keepend
|
||||
hi def link orgLineComment Comment
|
||||
|
||||
" Block Comment
|
||||
syn region orgBlockComment matchgroup=orgBlockCommentDelimiter start="\c^\s*#+BEGIN_COMMENT" end="\c^\s*#+END_COMMENT" keepend
|
||||
hi def link orgBlockComment Comment
|
||||
hi def link orgBlockCommentDelimiter Comment
|
||||
|
||||
" Lists
|
||||
syn match orgUnorderedListMarker "^\s*[-+]\s\+" keepend
|
||||
hi def link orgUnorderedListMarker markdownOrderedListMarker
|
||||
syn match orgOrderedListMarker "^\s*\(\d\|\a\)\+[.)]\s\+" keepend
|
||||
hi def link orgOrderedListMarker markdownOrderedListMarker
|
||||
"
|
||||
" Verbatim
|
||||
syn region orgVerbatimInline matchgroup=orgVerbatimInlineDelimiter start="\(^\|[- '"({\]]\)\@<==\ze[^ ]" end="^\@!=\([^\k=]\|$\)\@=" keepend
|
||||
hi def link orgVerbatimInline markdownCodeBlock
|
||||
hi def link orgVerbatimInlineDelimiter orgVerbatimInline
|
||||
syn region orgVerbatimBlock matchgroup=orgVerbatimBlockDelimiter start="\c^\s*#+BEGIN_.*" end="\c^\s*#+END_.*" keepend
|
||||
hi def link orgVerbatimBlock orgCode
|
||||
hi def link orgVerbatimBlockDelimiter orgVerbatimBlock
|
||||
|
||||
" Code
|
||||
syn region orgCodeInline matchgroup=orgCodeInlineDelimiter start="\(^\|[- '"({\]]\)\@<=\~\ze[^ ]" end="^\@!\~\([^\k\~]\|$\)\@=" keepend
|
||||
highlight def link orgCodeInline markdownCodeBlock
|
||||
highlight def link orgCodeInlineDelimiter orgCodeInline
|
||||
syn region orgCodeBlock matchgroup=orgCodeBlockDelimiter start="\c^\s*#+BEGIN_SRC.*" end="\c^\s*#+END_SRC" keepend
|
||||
highlight def link orgCodeBlock markdownCodeBlock
|
||||
highlight def link orgCodeBlockDelimiter orgCodeBlock
|
||||
|
||||
" vim: ts=8 sts=2 sw=2 et
|
||||
@@ -4,7 +4,7 @@
|
||||
" Previous Maintainer: Will Langstroth <will@langstroth.com>
|
||||
" URL: https://github.com/benknoble/vim-racket
|
||||
" Description: Contains all of the keywords in #lang racket
|
||||
" Last Change: 2023 Sep 22
|
||||
" Last Change: 2024 Apr 14
|
||||
|
||||
" Initializing:
|
||||
if exists("b:current_syntax")
|
||||
@@ -30,7 +30,7 @@ endif
|
||||
" http://docs.racket-lang.org/reference/index.html
|
||||
"
|
||||
syntax keyword racketSyntax module module* module+ require provide quote
|
||||
syntax keyword racketSyntax #%datum #%expression #%top #%variable-reference #%app
|
||||
syntax keyword racketSyntax #%module-begin #%datum #%expression #%top #%variable-reference #%app
|
||||
syntax keyword racketSyntax lambda case-lambda let let* letrec
|
||||
syntax keyword racketSyntax let-values let*-values let-syntax letrec-syntax
|
||||
syntax keyword racketSyntax let-syntaxes letrec-syntaxes letrec-syntaxes+values
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Debian version information
|
||||
" Maintainer: Debian Vim Maintainers
|
||||
" Last Change: 2024 Oct 31
|
||||
" Last Change: 2024 Nov 04
|
||||
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/syntax/shared/debversions.vim
|
||||
|
||||
let s:cpo = &cpo
|
||||
@@ -11,7 +11,7 @@ let g:debSharedSupportedVersions = [
|
||||
\ 'oldstable', 'stable', 'testing', 'unstable', 'experimental', 'sid', 'rc-buggy',
|
||||
\ 'bullseye', 'bookworm', 'trixie', 'forky',
|
||||
\
|
||||
\ 'focal', 'jammy', 'mantic', 'noble', 'oracular', 'plucky',
|
||||
\ 'focal', 'jammy', 'noble', 'oracular', 'plucky',
|
||||
\ 'devel'
|
||||
\ ]
|
||||
let g:debSharedUnsupportedVersions = [
|
||||
@@ -23,8 +23,8 @@ let g:debSharedUnsupportedVersions = [
|
||||
\ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
|
||||
\ 'maverick', 'natty', 'oneiric', 'precise', 'quantal', 'raring', 'saucy',
|
||||
\ 'trusty', 'utopic', 'vivid', 'wily', 'xenial', 'yakkety', 'zesty',
|
||||
\ 'artful', 'bionic', 'cosmic', 'disco', 'eoan', 'hirsute',
|
||||
\ 'impish', 'kinetic', 'lunar', 'groovy'
|
||||
\ 'artful', 'bionic', 'cosmic', 'disco', 'eoan', 'groovy',
|
||||
\ 'hirsute', 'impish', 'kinetic', 'lunar', 'mantic',
|
||||
\ ]
|
||||
|
||||
let &cpo=s:cpo
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Language: Structurizr DSL
|
||||
" Maintainer: Bastian Venthur <venthur@debian.org>
|
||||
" Last Change: 2022-05-22
|
||||
" Last Change: 2024-11-06
|
||||
" Remark: For a language reference, see
|
||||
" https://github.com/structurizr/dsl
|
||||
|
||||
" https://docs.structurizr.com/dsl/language
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -20,7 +19,11 @@ syn region scomment start="/\*" end="\*/"
|
||||
" keywords
|
||||
syn keyword skeyword animation
|
||||
syn keyword skeyword autoLayout
|
||||
syn keyword skeyword background
|
||||
syn keyword skeyword border
|
||||
syn keyword skeyword branding
|
||||
syn keyword skeyword color
|
||||
syn keyword skeyword colour
|
||||
syn keyword skeyword component
|
||||
syn keyword skeyword configuration
|
||||
syn keyword skeyword container
|
||||
@@ -37,48 +40,74 @@ syn keyword skeyword element
|
||||
syn keyword skeyword enterprise
|
||||
syn keyword skeyword exclude
|
||||
syn keyword skeyword filtered
|
||||
syn keyword skeyword font
|
||||
syn keyword skeyword fontsize
|
||||
syn keyword skeyword group
|
||||
syn keyword skeyword healthcheck
|
||||
syn keyword skeyword height
|
||||
syn keyword skeyword icon
|
||||
syn keyword skeyword image
|
||||
syn keyword skeyword include
|
||||
syn keyword skeyword infrastructurenode
|
||||
syn keyword skeyword instances
|
||||
syn keyword skeyword logo
|
||||
syn keyword skeyword metadata
|
||||
syn keyword skeyword model
|
||||
syn keyword skeyword opacity
|
||||
syn keyword skeyword person
|
||||
syn keyword skeyword perspectives
|
||||
syn keyword skeyword properties
|
||||
syn keyword skeyword relationship
|
||||
syn keyword skeyword routing
|
||||
syn keyword skeyword scope
|
||||
syn keyword skeyword shape
|
||||
syn keyword skeyword softwaresystem
|
||||
syn keyword skeyword softwaresysteminstance
|
||||
syn keyword skeyword stroke
|
||||
syn keyword skeyword strokewidth
|
||||
syn keyword skeyword styles
|
||||
syn keyword skeyword systemcontext
|
||||
syn keyword skeyword systemlandscape
|
||||
syn keyword skeyword tag
|
||||
syn keyword skeyword tags
|
||||
syn keyword skeyword technology
|
||||
syn keyword skeyword terminology
|
||||
syn keyword skeyword theme
|
||||
syn keyword skeyword themes
|
||||
syn keyword skeyword thickness
|
||||
syn keyword skeyword this
|
||||
syn keyword skeyword title
|
||||
syn keyword skeyword url
|
||||
syn keyword skeyword users
|
||||
syn keyword skeyword views
|
||||
syn keyword skeyword visibility
|
||||
syn keyword skeyword width
|
||||
syn keyword skeyword workspace
|
||||
|
||||
syn match skeyword "\!adrs\s\+"
|
||||
syn match skeyword "\!constant\s\+"
|
||||
syn match skeyword "\!components\s\+"
|
||||
syn match skeyword "\!docs\s\+"
|
||||
syn match skeyword "\!element\s\+"
|
||||
syn match skeyword "\!elements\s\+"
|
||||
syn match skeyword "\!extend\s\+"
|
||||
syn match skeyword "\!identifiers\s\+"
|
||||
syn match skeyword "\!impliedrelationships\s\+"
|
||||
syn match skeyword "\!include\s\+"
|
||||
syn match skeyword "\!plugin\s\+"
|
||||
syn match skeyword "\!ref\s\+"
|
||||
syn match skeyword "\!relationship\s\+"
|
||||
syn match skeyword "\!relationships\s\+"
|
||||
syn match skeyword "\!script\s\+"
|
||||
|
||||
syn region sstring oneline start='"' end='"'
|
||||
|
||||
syn region sblock start='{' end='}' fold transparent
|
||||
|
||||
syn match soperator "\->\s+"
|
||||
|
||||
hi def link sstring string
|
||||
hi def link scomment comment
|
||||
hi def link skeyword keyword
|
||||
hi def link soperator operator
|
||||
|
||||
let b:current_syntax = "structurizr"
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
>"+0#0000e05#ffffff0| |V|i|m| |:|n|o|r|m|a|l| |c|o|m@1|a|n|d| +0#0000000&@53
|
||||
@75
|
||||
|n+0#af5f00255&|o|r|m|a|l| +0#0000000&|j| @66
|
||||
|n+0#af5f00255&|o|r|m|a|l|!| +0#0000000&|j| @65
|
||||
|n+0#af5f00255&|o|r|m|a|l|!|j+0#0000000&| @66
|
||||
@75
|
||||
|"+0#0000e05&| |n|o| |t|r|a|i|l|i|n|g| |b|a|r| +0#0000000&@57
|
||||
|n+0#af5f00255&|o|r|m|a|l| +0#0000000&|j| |4|2|||e|c|h|o| |"|n|o|t| |e|c|h|o| |c|o|m@1|a|n|d|"| @39
|
||||
@75
|
||||
|"+0#0000e05&| |n|o| |t|r|a|i|l|i|n|g| |c|o|m@1|e|n|t| +0#0000000&@53
|
||||
|n+0#af5f00255&|o|r|m|a|l| +0#0000000&|j| |"|0|p| @62
|
||||
@75
|
||||
|"+0#0000e05&| |m|u|l|t|i|l|i|n|e| |a|r|g| +0#0000000&@59
|
||||
|n+0#af5f00255&|o|r|m|a|l| +0#0000000&|j| @66
|
||||
@6|\+0#e000e06&|k+0#0000000&| @66
|
||||
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
|
||||
@6|\+0#e000e06&|j+0#0000000&| @66
|
||||
@75
|
||||
|"+0#0000e05&| |w|o|r|d|-|b|o|u|n|d|a|r|y| |r|e|q|u|i|r|e|d| |a|f|t|e|r| |n|a|m|e| |(|o|l|d| |b|u|g|)| +0#0000000&@29
|
||||
@57|1|,|1| @10|T|o|p|
|
||||
@@ -0,0 +1,20 @@
|
||||
|n+0#af5f00255#ffffff0|o|r|m|a|l| +0#0000000&|j| @66
|
||||
@6|\+0#e000e06&|k+0#0000000&| @66
|
||||
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
|
||||
@6|\+0#e000e06&|j+0#0000000&| @66
|
||||
@75
|
||||
>"+0#0000e05&| |w|o|r|d|-|b|o|u|n|d|a|r|y| |r|e|q|u|i|r|e|d| |a|f|t|e|r| |n|a|m|e| |(|o|l|d| |b|u|g|)| +0#0000000&@29
|
||||
|n|o|r|m|a|l|j| @67
|
||||
|~+0#4040ff13&| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
| +0#0000000&@56|1|9|,|1| @9|B|o|t|
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user