mirror of
https://github.com/vim/vim
synced 2025-07-16 01:01:58 +00:00
Update runtime files
This commit is contained in:
@ -4,7 +4,7 @@
|
|||||||
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
|
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
|
||||||
" Website: https://github.com/vim/colorschemes
|
" Website: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Updated: Fri Aug 5 12:25:12 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:34 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ set background=dark
|
|||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'blue'
|
let g:colors_name = 'blue'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
" Maintainer: Original author Bohdan Vlasyuk <bohdan@vstu.edu.ua>
|
" Maintainer: Original author Bohdan Vlasyuk <bohdan@vstu.edu.ua>
|
||||||
" Website: https://github.com/vim/colorschemes
|
" Website: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Updated: Mon Aug 8 15:21:06 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:35 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ set background=dark
|
|||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'darkblue'
|
let g:colors_name = 'darkblue'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||||
let g:terminal_ansi_colors = ['#000000', '#8b0000', '#90f020', '#ffa500', '#00008b', '#8b008b', '#008b8b', '#c0c0c0', '#808080', '#ffa0a0', '#90f020', '#ffff60', '#0030ff', '#ff00ff', '#90fff0', '#ffffff']
|
let g:terminal_ansi_colors = ['#000000', '#8b0000', '#90f020', '#ffa500', '#00008b', '#8b008b', '#008b8b', '#c0c0c0', '#808080', '#ffa0a0', '#90f020', '#ffff60', '#0030ff', '#ff00ff', '#90fff0', '#ffffff']
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
" Maintainer: Original maintainer David Schweikert <david@schweikert.ch>
|
" Maintainer: Original maintainer David Schweikert <david@schweikert.ch>
|
||||||
" Website: https://github.com/vim/colorschemes
|
" Website: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Updated: Mon Aug 8 15:21:07 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:36 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ set background=light
|
|||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'delek'
|
let g:colors_name = 'delek'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||||
let g:terminal_ansi_colors = ['#ffffff', '#0000ff', '#00cd00', '#cd00cd', '#008b8b', '#0000ff', '#ff1493', '#bcbcbc', '#ee0000', '#0000ff', '#00cd00', '#cd00cd', '#008b8b', '#0000ff', '#ff1493', '#000000']
|
let g:terminal_ansi_colors = ['#ffffff', '#0000ff', '#00cd00', '#cd00cd', '#008b8b', '#0000ff', '#ff1493', '#bcbcbc', '#ee0000', '#0000ff', '#00cd00', '#cd00cd', '#008b8b', '#0000ff', '#ff1493', '#000000']
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
" Maintainer: Original maintainer Hans Fugal <hans@fugal.net>
|
" Maintainer: Original maintainer Hans Fugal <hans@fugal.net>
|
||||||
" Website: https://github.com/vim/colorschemes
|
" Website: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Updated: Mon Aug 8 15:21:08 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:37 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ set background=dark
|
|||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'desert'
|
let g:colors_name = 'desert'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||||
let g:terminal_ansi_colors = ['#7f7f8c', '#cd5c5c', '#9acd32', '#bdb76b', '#75a0ff', '#eeee00', '#cd853f', '#666666', '#8a7f7f', '#ff0000', '#89fb98', '#f0e68c', '#6dceeb', '#ffde9b', '#ffa0a0', '#c2bfa5']
|
let g:terminal_ansi_colors = ['#7f7f8c', '#cd5c5c', '#9acd32', '#bdb76b', '#75a0ff', '#eeee00', '#cd853f', '#666666', '#8a7f7f', '#ff0000', '#89fb98', '#f0e68c', '#6dceeb', '#ffde9b', '#ffa0a0', '#c2bfa5']
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
|
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
|
||||||
" Website: https://www.github.com/vim/colorschemes
|
" Website: https://www.github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Updated: Mon Aug 8 15:21:08 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:37 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
@ -12,7 +12,7 @@ set background=dark
|
|||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'elflord'
|
let g:colors_name = 'elflord'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
hi! link Terminal Normal
|
hi! link Terminal Normal
|
||||||
hi! link Boolean Constant
|
hi! link Boolean Constant
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
|
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
|
||||||
" Website: https://github.com/vim/colorschemes
|
" Website: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Updated: Mon Aug 8 15:21:09 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:38 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ set background=dark
|
|||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'evening'
|
let g:colors_name = 'evening'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||||
let g:terminal_ansi_colors = ['#000000', '#ffa500', '#2e8b57', '#ffff00', '#006faf', '#8b008b', '#008b8b', '#bebebe', '#4d4d4d', '#ff5f5f', '#00ff00', '#ffff60', '#0087ff', '#ff80ff', '#00ffff', '#ffffff']
|
let g:terminal_ansi_colors = ['#000000', '#ffa500', '#2e8b57', '#ffff00', '#006faf', '#8b008b', '#008b8b', '#bebebe', '#4d4d4d', '#ff5f5f', '#00ff00', '#ffff60', '#0087ff', '#ff80ff', '#00ffff', '#ffffff']
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
" Maintainer: Maxim Kim <habamax@gmail.com>
|
" Maintainer: Maxim Kim <habamax@gmail.com>
|
||||||
" Website: https://github.com/vim/colorschemes
|
" Website: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Updated: Mon Aug 8 15:21:10 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:38 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ set background=dark
|
|||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'habamax'
|
let g:colors_name = 'habamax'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||||
let g:terminal_ansi_colors = ['#1c1c1c', '#d75f5f', '#87af87', '#afaf87', '#5f87af', '#af87af', '#5f8787', '#9e9e9e', '#767676', '#d7875f', '#afd7af', '#d7d787', '#87afd7', '#d7afd7', '#87afaf', '#bcbcbc']
|
let g:terminal_ansi_colors = ['#1c1c1c', '#d75f5f', '#87af87', '#afaf87', '#5f87af', '#af87af', '#5f8787', '#9e9e9e', '#767676', '#d7875f', '#afd7af', '#d7d787', '#87afd7', '#d7afd7', '#87afaf', '#bcbcbc']
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
" Maintainer: Original maintainer Shian Lee.
|
" Maintainer: Original maintainer Shian Lee.
|
||||||
" Website: https://github.com/vim/colorschemes
|
" Website: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Updated: Mon Aug 8 15:21:11 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:39 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ set background=dark
|
|||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'industry'
|
let g:colors_name = 'industry'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||||
let g:terminal_ansi_colors = ['#303030', '#870000', '#5fd75f', '#afaf00', '#87afff', '#af00af', '#00afaf', '#6c6c6c', '#444444', '#ff0000', '#00ff00', '#ffff00', '#005fff', '#ff00ff', '#00ffff', '#ffffff']
|
let g:terminal_ansi_colors = ['#303030', '#870000', '#5fd75f', '#afaf00', '#87afff', '#af00af', '#00afaf', '#6c6c6c', '#444444', '#ff0000', '#00ff00', '#ffff00', '#005fff', '#ff00ff', '#00ffff', '#ffffff']
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
|
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
|
||||||
" Website: https://www.github.com/vim/colorschemes
|
" Website: https://www.github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Updated: Mon Aug 8 15:21:12 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:39 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
@ -12,7 +12,7 @@ set background=dark
|
|||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'koehler'
|
let g:colors_name = 'koehler'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
hi! link Terminal Normal
|
hi! link Terminal Normal
|
||||||
hi! link Boolean Constant
|
hi! link Boolean Constant
|
||||||
|
@ -4,14 +4,14 @@
|
|||||||
" Maintainer: Maxim Kim <habamax@gmail.com>
|
" Maintainer: Maxim Kim <habamax@gmail.com>
|
||||||
" Website: https://www.github.com/vim/colorschemes
|
" Website: https://www.github.com/vim/colorschemes
|
||||||
" License: Vim License (see `:help license`)
|
" License: Vim License (see `:help license`)
|
||||||
" Last Updated: Thu Aug 18 14:36:32 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:40 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'lunaperche'
|
let g:colors_name = 'lunaperche'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
hi! link helpVim Title
|
hi! link helpVim Title
|
||||||
hi! link helpHeader Title
|
hi! link helpHeader Title
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
" Maintainer: Original maintainer Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Original maintainer Bram Moolenaar <Bram@vim.org>
|
||||||
" Website: https://github.com/vim/colorschemes
|
" Website: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Updated: Mon Aug 8 15:21:13 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:41 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ set background=light
|
|||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'morning'
|
let g:colors_name = 'morning'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||||
let g:terminal_ansi_colors = ['#e4e4e4', '#a52a2a', '#ff00ff', '#6a0dad', '#008787', '#2e8b57', '#6a5acd', '#bcbcbc', '#0000ff', '#a52a2a', '#ff00ff', '#6a0dad', '#008787', '#2e8b57', '#6a5acd', '#000000']
|
let g:terminal_ansi_colors = ['#e4e4e4', '#a52a2a', '#ff00ff', '#6a0dad', '#008787', '#2e8b57', '#6a5acd', '#bcbcbc', '#0000ff', '#a52a2a', '#ff00ff', '#6a0dad', '#008787', '#2e8b57', '#6a5acd', '#000000']
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>.
|
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>.
|
||||||
" Website: https://github.com/vim/colorschemes
|
" Website: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Updated: Mon Aug 8 15:21:14 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:41 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ set background=dark
|
|||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'murphy'
|
let g:colors_name = 'murphy'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||||
let g:terminal_ansi_colors = ['#303030', '#ffa700', '#005f00', '#ffd7af', '#87afff', '#ffafaf', '#00afaf', '#bcbcbc', '#444444', '#ff0000', '#00875f', '#ffff00', '#005fff', '#ff00ff', '#00ffff', '#ffffff']
|
let g:terminal_ansi_colors = ['#303030', '#ffa700', '#005f00', '#ffd7af', '#87afff', '#ffafaf', '#00afaf', '#bcbcbc', '#444444', '#ff0000', '#00875f', '#ffff00', '#005fff', '#ff00ff', '#00ffff', '#ffffff']
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
" Maintainer: Original maintainerRon Aaron <ron@ronware.org>
|
" Maintainer: Original maintainerRon Aaron <ron@ronware.org>
|
||||||
" Website: https://github.com/vim/colorschemes
|
" Website: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Updated: Mon Aug 8 15:21:15 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:42 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
@ -12,7 +12,7 @@ set background=dark
|
|||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'pablo'
|
let g:colors_name = 'pablo'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
" Maintainer: Original maintainer David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
|
" Maintainer: Original maintainer David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
|
||||||
" Website: https://github.com/vim/colorschemes
|
" Website: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Updated: Mon Aug 8 15:21:16 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:42 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ set background=light
|
|||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'peachpuff'
|
let g:colors_name = 'peachpuff'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||||
let g:terminal_ansi_colors = ['#ffdab9', '#a52a2a', '#c00058', '#cd00cd', '#008b8b', '#2e8b57', '#6a5acd', '#737373', '#406090', '#a52a2a', '#c00058', '#cd00cd', '#008b8b', '#2e8b57', '#6a5acd', '#000000']
|
let g:terminal_ansi_colors = ['#ffdab9', '#a52a2a', '#c00058', '#cd00cd', '#008b8b', '#2e8b57', '#6a5acd', '#737373', '#406090', '#a52a2a', '#c00058', '#cd00cd', '#008b8b', '#2e8b57', '#6a5acd', '#000000']
|
||||||
|
@ -4,14 +4,14 @@
|
|||||||
" Maintainer: neutaaaaan <neutaaaaan-gh@protonmail.com>
|
" Maintainer: neutaaaaan <neutaaaaan-gh@protonmail.com>
|
||||||
" Website: https://github.com/vim/colorschemes
|
" Website: https://github.com/vim/colorschemes
|
||||||
" License: Vim License (see `:help license`)`
|
" License: Vim License (see `:help license`)`
|
||||||
" Last Updated: 2022-08-14 15:17:11
|
" Last Updated: Tue 23 Aug 2022 16:50:43 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'quiet'
|
let g:colors_name = 'quiet'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
hi! link Terminal Normal
|
hi! link Terminal Normal
|
||||||
hi! link StatusLineTerm StatusLine
|
hi! link StatusLineTerm StatusLine
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
|
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
|
||||||
" Website: https://www.github.com/vim/colorschemes
|
" Website: https://www.github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Updated: Mon Aug 8 15:21:18 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:45 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
@ -12,7 +12,7 @@ set background=dark
|
|||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'ron'
|
let g:colors_name = 'ron'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
hi! link Terminal Normal
|
hi! link Terminal Normal
|
||||||
hi! link Boolean Constant
|
hi! link Boolean Constant
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
" Maintainer: Original maintainer is Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>
|
" Maintainer: Original maintainer is Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>
|
||||||
" Website: https://github.com/vim/colorschemes
|
" Website: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Updated: Mon Aug 8 15:21:19 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:46 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ set background=light
|
|||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'shine'
|
let g:colors_name = 'shine'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||||
let g:terminal_ansi_colors = ['#000000', '#8b0000', '#006400', '#ffff00', '#00008b', '#6a0dad', '#008b8b', '#dadada', '#767676', '#ffafaf', '#90ee90', '#ffff60', '#add8e6', '#ff00ff', '#00ffff', '#ffffff']
|
let g:terminal_ansi_colors = ['#000000', '#8b0000', '#006400', '#ffff00', '#00008b', '#6a0dad', '#008b8b', '#dadada', '#767676', '#ffafaf', '#90ee90', '#ffff60', '#add8e6', '#ff00ff', '#00ffff', '#ffffff']
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
" Maintainer: Original maintainer Ralph Amissah <ralph@amissah.com>
|
" Maintainer: Original maintainer Ralph Amissah <ralph@amissah.com>
|
||||||
" Website: https://github.com/vim/colorschemes
|
" Website: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Updated: Tue Aug 16 08:11:08 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:46 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ set background=dark
|
|||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'slate'
|
let g:colors_name = 'slate'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
" Maintainer: Original maintainer Thorsten Maerz <info@netztorte.de>
|
" Maintainer: Original maintainer Thorsten Maerz <info@netztorte.de>
|
||||||
" Website: https://github.com/vim/colorschemes
|
" Website: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Updated: Mon Aug 8 15:21:22 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:47 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ set background=dark
|
|||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'torte'
|
let g:colors_name = 'torte'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||||
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>
|
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>
|
||||||
" Website: https://github.com/vim/colorschemes
|
" Website: https://github.com/vim/colorschemes
|
||||||
" License: Same as Vim
|
" License: Same as Vim
|
||||||
" Last Updated: Mon Aug 8 15:21:23 2022
|
" Last Updated: Tue 23 Aug 2022 16:50:48 MSK
|
||||||
|
|
||||||
" Generated by Colortemplate v2.2.0
|
" Generated by Colortemplate v2.2.0
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ set background=light
|
|||||||
hi clear
|
hi clear
|
||||||
let g:colors_name = 'zellner'
|
let g:colors_name = 'zellner'
|
||||||
|
|
||||||
let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
|
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
|
||||||
|
|
||||||
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
if (has('termguicolors') && &termguicolors) || has('gui_running')
|
||||||
let g:terminal_ansi_colors = ['#ffffff', '#a52a2a', '#ff00ff', '#a020f0', '#0000ff', '#0000ff', '#ff00ff', '#a9a9a9', '#ff0000', '#a52a2a', '#ff00ff', '#a020f0', '#0000ff', '#0000ff', '#ff00ff', '#000000']
|
let g:terminal_ansi_colors = ['#ffffff', '#a52a2a', '#ff00ff', '#a020f0', '#0000ff', '#0000ff', '#ff00ff', '#a9a9a9', '#ff0000', '#a52a2a', '#ff00ff', '#a020f0', '#0000ff', '#0000ff', '#ff00ff', '#000000']
|
||||||
|
@ -31,6 +31,8 @@ DOCS = \
|
|||||||
filetype.txt \
|
filetype.txt \
|
||||||
fold.txt \
|
fold.txt \
|
||||||
ft_ada.txt \
|
ft_ada.txt \
|
||||||
|
ft_context.txt \
|
||||||
|
ft_mp.txt \
|
||||||
ft_ps1.txt \
|
ft_ps1.txt \
|
||||||
ft_raku.txt \
|
ft_raku.txt \
|
||||||
ft_rust.txt \
|
ft_rust.txt \
|
||||||
@ -180,6 +182,8 @@ HTMLS = \
|
|||||||
filetype.html \
|
filetype.html \
|
||||||
fold.html \
|
fold.html \
|
||||||
ft_ada.html \
|
ft_ada.html \
|
||||||
|
ft_context.html \
|
||||||
|
ft_mp.html \
|
||||||
ft_ps1.html \
|
ft_ps1.html \
|
||||||
ft_raku.html \
|
ft_raku.html \
|
||||||
ft_rust.html \
|
ft_rust.html \
|
||||||
|
152
runtime/doc/ft_context.txt
Normal file
152
runtime/doc/ft_context.txt
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
*ft_context.txt* For Vim version 9.0. Last change: 2022 Aug 12
|
||||||
|
|
||||||
|
This is the documentation for the ConTeXt filetype plugin.
|
||||||
|
|
||||||
|
NOTE: the plugin requires +vim9script.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
CONTENTS *context.vim* *ft-context*
|
||||||
|
|
||||||
|
1. Introduction |ft-context-intro|
|
||||||
|
2. Commands |ft-context-commands|
|
||||||
|
3. Settings |ft-context-settings|
|
||||||
|
4. Mappings |ft-context-mappings|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
*ft-context-intro*
|
||||||
|
Introduction ~
|
||||||
|
|
||||||
|
ConTeXt, similarly to LaTeX, is a macro-based typesetting system built on TeX:
|
||||||
|
>
|
||||||
|
https://wiki.contextgarden.net
|
||||||
|
https://wiki.contextgarden.net/Vim
|
||||||
|
<
|
||||||
|
The ConTeXt plugin provides syntax highlighting, completion and support for
|
||||||
|
typesetting ConTeXt documents. The recommended way to typeset a document is to
|
||||||
|
use |:ConTeXt|. This will invoke the `mtxrun` script that is found in $PATH.
|
||||||
|
|
||||||
|
For more fine grained control over the command and its environment, you may
|
||||||
|
invoke `context.Typeset()` directly (or `context#Typeset()` from legacy Vim
|
||||||
|
script). For instance, if you have installed a version of ConTeXt in
|
||||||
|
`~/context`, you may define a function to use it (you may put the following
|
||||||
|
code in `~/.vim/after/ftplugin/context.vim`) similar to the following:
|
||||||
|
>
|
||||||
|
import autoload 'context.vim'
|
||||||
|
|
||||||
|
def MyConTeXt()
|
||||||
|
const env = {'PATH':
|
||||||
|
printf("%s/context/tex/texmf-<os>-<arch>/bin:%s", $HOME, $PATH)}
|
||||||
|
context.Typeset("%", env)
|
||||||
|
enddef
|
||||||
|
<
|
||||||
|
and perhaps use it with a mapping:
|
||||||
|
>
|
||||||
|
nnoremap <silent><buffer><leader>t <scriptcmd>MyConTeXt()<cr>
|
||||||
|
<
|
||||||
|
`context.Typeset()` accepts a third optional argument to specify a custom
|
||||||
|
typesetting command. Such argument must be a function that takes a path and
|
||||||
|
returns the command as a List. For example:
|
||||||
|
>
|
||||||
|
def ConTeXtCustomCommand(path: string): list<string>
|
||||||
|
return ['mtxrun', '--script', 'context', '--nonstopmode, path]
|
||||||
|
enddef
|
||||||
|
|
||||||
|
context.ConTeXtTypeset("%", v:none, ConTeXtCustomCommand)
|
||||||
|
<
|
||||||
|
Large projects are often organized as a root document and various chapter
|
||||||
|
files. When editing a chapter file, it is convenient to invoke |:ConTeXt|
|
||||||
|
directly on it, rather than having to switch to the root file. A "magic line"
|
||||||
|
can be added at the beginning of each chapter file, which specifies the
|
||||||
|
relative path to the root file. For instance:
|
||||||
|
>
|
||||||
|
% !TEX root = ../MyRoot.tex
|
||||||
|
<
|
||||||
|
Vim searches for the magic line in the first ten lines of the current buffer:
|
||||||
|
if it is found, the document specified by that line is typeset rather than the
|
||||||
|
one in the current buffer. The root document does not have to be opened in
|
||||||
|
Vim.
|
||||||
|
|
||||||
|
To extend completion and syntax highlighting, you may generate supporting
|
||||||
|
files using ConTeXt and add them to your configuration. If you configuration
|
||||||
|
resides in `~/.vim`, you may use these commands:
|
||||||
|
>
|
||||||
|
mkdir -p ~/.vim/syntax/shared
|
||||||
|
cd ~/.vim/syntax/shared
|
||||||
|
mtxrun --script interface --vim
|
||||||
|
<
|
||||||
|
The last command will create the following syntax files:
|
||||||
|
|
||||||
|
- `context-data-context.vim`;
|
||||||
|
- `context-data-interfaces.vim`;
|
||||||
|
- `context-data-metafun.vim`;
|
||||||
|
- `context-data-tex.vim`.
|
||||||
|
|
||||||
|
The same command can be used to update those syntax files.
|
||||||
|
|
||||||
|
*ft-context-commands*
|
||||||
|
Commands ~
|
||||||
|
*:ConTeXt*
|
||||||
|
Start a background |job| to typeset the document in the current buffer. The
|
||||||
|
command accepts an optional buffer's name, if you want to typeset a document
|
||||||
|
that is in a different buffer.
|
||||||
|
|
||||||
|
*:ConTeXtLog*
|
||||||
|
Edit the log file corresponding to the source in the current buffer.
|
||||||
|
|
||||||
|
*:ConTeXtJobsStatus*
|
||||||
|
Echo the number of jobs currently running in the background.
|
||||||
|
|
||||||
|
*:ConTeXtStopJobs*
|
||||||
|
Stop all the ConTeXt jobs currently running in the background.
|
||||||
|
|
||||||
|
*ft-context-settings*
|
||||||
|
Settings ~
|
||||||
|
*'b:context_ignore_makefile'*
|
||||||
|
*'g:context_ignore_makefile'*
|
||||||
|
`make` can be used to (synchronously) typeset a document. If a Makefile exists
|
||||||
|
and this option is not set, standard `make` is used. If this option is set,
|
||||||
|
`mtxrun` is invoked instead, even if a Makefile exists.
|
||||||
|
>
|
||||||
|
g:context_ignore_makefile = 0
|
||||||
|
<
|
||||||
|
NOTE: before using `make`, set the working directory of the buffer to the
|
||||||
|
directory of the file to be typeset.
|
||||||
|
*'b:context_include'*
|
||||||
|
*'g:context_include'*
|
||||||
|
Dictionary of filetype/GROUP pairs for which syntax highlighting should be
|
||||||
|
activated between \startGROUP and \stopGROUP. The default is to highlight XML
|
||||||
|
between `\startXML` and `\stopXML`.
|
||||||
|
>
|
||||||
|
g:context_include = {'xml': 'XML'}
|
||||||
|
|
||||||
|
NOTE: Lua and MetaPost are always highlighted within the respective blocks.
|
||||||
|
|
||||||
|
*'g:no_context_maps'*
|
||||||
|
When set, do not define any mappings.
|
||||||
|
>
|
||||||
|
g:no_context_maps = 0
|
||||||
|
<
|
||||||
|
*ft-context-mappings*
|
||||||
|
Mappings ~
|
||||||
|
|
||||||
|
tp "reflow TeX paragraph".
|
||||||
|
|
||||||
|
i$ "inside inline math block".
|
||||||
|
|
||||||
|
a$ "around inline math block".
|
||||||
|
|
||||||
|
]] [count] start of sections forward.
|
||||||
|
|
||||||
|
[[ [count] start of sections backward.
|
||||||
|
|
||||||
|
][ [count] end sections forward.
|
||||||
|
|
||||||
|
[] [count] end of sections backward.
|
||||||
|
|
||||||
|
]} [count] end of blocks (\stop..., \setup...,
|
||||||
|
\define...) forward.
|
||||||
|
|
||||||
|
[{ [count] begin of blocks (\start..., \setup...,
|
||||||
|
\define...) backward.
|
||||||
|
|
||||||
|
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
151
runtime/doc/ft_mp.txt
Normal file
151
runtime/doc/ft_mp.txt
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
*ft_mp.txt* For Vim version 9.0. Last change: 2022 Aug 12
|
||||||
|
|
||||||
|
This is the documentation for the METAFONT and MetaPost filetype plugins.
|
||||||
|
Unless otherwise specified, the commands, settings and mappings defined below
|
||||||
|
apply equally to both filetypes.
|
||||||
|
|
||||||
|
NOTE: the plugin requires +vim9script.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
CONTENTS *mp.vim* *ft-metapost*
|
||||||
|
*mf.vim* *ft-metafont*
|
||||||
|
|
||||||
|
1. Introduction |ft-metapost-intro|
|
||||||
|
2. Commands |ft-metapost-commands|
|
||||||
|
3. Settings |ft-metapost-settings|
|
||||||
|
4. Mappings |ft-metapost-mappings|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
*ft-metapost-intro*
|
||||||
|
*ft-metafont-intro*
|
||||||
|
Introduction ~
|
||||||
|
This filetype plugin provides extensive support for editing METAFONT and
|
||||||
|
MetaPost documents, including syntax coloring, indentation, and completion.
|
||||||
|
|
||||||
|
Defining indentation rules for METAFONT and MetaPost code is tricky and
|
||||||
|
somewhat subjective, because the syntax is quite liberal. The plugin uses some
|
||||||
|
heuristics that work well most of the time, but in particular cases you may
|
||||||
|
want to to override the automatic rules, so that the manually defined
|
||||||
|
indentation is preserved by commands like `gg=G`.
|
||||||
|
|
||||||
|
This can be achieved by appending `%>`, `%<`, `%=` or `%!` to a line to
|
||||||
|
explicitly control the indentation of the next line. The `<` and `>` symbols
|
||||||
|
may be repeated many times: for instance, `%>>` will cause the next line to be
|
||||||
|
indented twice. Of course, `%<` means that the next line should be
|
||||||
|
de-indented; `%=` sets the indentation of the next line to be equal to the
|
||||||
|
indentation of the current line; and `%!` means that the indentation of the
|
||||||
|
next line should not change from whatever it has been manually set.
|
||||||
|
|
||||||
|
For example, this is the default indentation of a simple macro:
|
||||||
|
>
|
||||||
|
def foo =
|
||||||
|
makepen(
|
||||||
|
subpath(T-n,t) of r
|
||||||
|
shifted .5down
|
||||||
|
--subpath(t,T) of r shifted .5up -- cycle
|
||||||
|
)
|
||||||
|
withcolor black
|
||||||
|
enddef
|
||||||
|
<
|
||||||
|
By adding the special comments, the indentation can be adjusted arbitrarily:
|
||||||
|
>
|
||||||
|
def foo =
|
||||||
|
makepen(
|
||||||
|
subpath(T-n,t) of r %>
|
||||||
|
shifted .5down %>
|
||||||
|
--subpath(t,T) of r shifted .5up -- cycle %<<<
|
||||||
|
)
|
||||||
|
withcolor black
|
||||||
|
enddef
|
||||||
|
<
|
||||||
|
*ft-metapost-commands*
|
||||||
|
Commands ~
|
||||||
|
*:FixBeginfigs*
|
||||||
|
Renumber beginfig() blocks in the current buffer so that the n-th figure has
|
||||||
|
number n. MetaPost only.
|
||||||
|
|
||||||
|
*ft-metapost-settings*
|
||||||
|
*ft-metafont-settings*
|
||||||
|
Settings ~
|
||||||
|
*'g:mf_other_macros'*
|
||||||
|
Highlight some other basic macro names, e.g., from cmbase, logo, etc. This is
|
||||||
|
set to 1 by default in METAFONT buffers, and it is set to 0 by default in
|
||||||
|
MetaPost buffers.
|
||||||
|
|
||||||
|
*'g:mf_plain_macros'*
|
||||||
|
Highlight keywords defined by plain.mf. This is set to 1 by default in
|
||||||
|
METAFONT buffers, and it is set to 0 by default in MetaPost buffers.
|
||||||
|
|
||||||
|
*'g:mf_plain_modes'*
|
||||||
|
Highlight keywords defined by modes.mf. This is set to 1 by default in
|
||||||
|
METAFONT buffers, and it is set to 0 by default in MetaPost buffers.
|
||||||
|
|
||||||
|
*'g:mp_close_tag'*
|
||||||
|
Define additional keywords that end indented blocks. For instance, if you
|
||||||
|
define:
|
||||||
|
>
|
||||||
|
g:mp_end_tag = ['\<endfoo\>']
|
||||||
|
<
|
||||||
|
any line starting with `endfoo` will be de-indented compared to its previous
|
||||||
|
line.
|
||||||
|
>
|
||||||
|
g:mp_close_tag = []
|
||||||
|
<
|
||||||
|
*'b:mp_metafun'*
|
||||||
|
*'g:mp_metafun'*
|
||||||
|
If set to 1, highlight ConTeXt's MetaFun keywords. MetaPost only.
|
||||||
|
>
|
||||||
|
g:mp_metafun = 0
|
||||||
|
<
|
||||||
|
*'g:mp_mfplain_macros'*
|
||||||
|
Highlight keywords defined by mfplain.mp. MetaPost only.
|
||||||
|
>
|
||||||
|
g:mp_mfplain_macros = 1
|
||||||
|
<
|
||||||
|
*'g:mp_open_tag'*
|
||||||
|
Define additional keywords that start indented blocks. For instance, if you
|
||||||
|
define:
|
||||||
|
>
|
||||||
|
g:mp_open_tag = ['\<beginfoo\>']
|
||||||
|
<
|
||||||
|
the line following `beginfoo` will be indented.
|
||||||
|
>
|
||||||
|
g:mp_open_tag = []
|
||||||
|
<
|
||||||
|
*'g:mp_other_macros'*
|
||||||
|
Highlight keywords defined by all base macro packages (boxes, rboxes, format,
|
||||||
|
graph, marith, sarith, string, TEX). This option affects only MetaPost
|
||||||
|
buffers.
|
||||||
|
>
|
||||||
|
g:mp_other_macros = 1
|
||||||
|
<
|
||||||
|
*'g:mp_plain_macros'*
|
||||||
|
Highlight keywords defined by plain.mp. MetaPost only.
|
||||||
|
>
|
||||||
|
g:mp_plain_macros = 1
|
||||||
|
<
|
||||||
|
*'g:no_mp_maps'*
|
||||||
|
*'g:no_mf_maps'*
|
||||||
|
When set, do not define any mapping in buffers with the corresponding
|
||||||
|
filetype.
|
||||||
|
>
|
||||||
|
g:no_mp_maps = 0
|
||||||
|
g:no_mf_maps = 0
|
||||||
|
<
|
||||||
|
*ft-metapost-mappings*
|
||||||
|
*ft-metafont-mappings*
|
||||||
|
Mappings ~
|
||||||
|
|
||||||
|
]] [count] vardefs, macros or figures forward.
|
||||||
|
|
||||||
|
[[ [count] vardefs, macros or figures backward.
|
||||||
|
|
||||||
|
][ [count] end of vardefs, macros or figures forward.
|
||||||
|
|
||||||
|
[] [count] end of vardefs, macros or figures backward.
|
||||||
|
|
||||||
|
]} [count] end of blocks (fi, endfor, endgroup) forward.
|
||||||
|
|
||||||
|
[{ [count] begin of blocks (if, for, begingroup) backward.
|
||||||
|
|
||||||
|
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
@ -69,6 +69,9 @@ $quote eval.txt /*$quote*
|
|||||||
'autowriteall' options.txt /*'autowriteall'*
|
'autowriteall' options.txt /*'autowriteall'*
|
||||||
'aw' options.txt /*'aw'*
|
'aw' options.txt /*'aw'*
|
||||||
'awa' options.txt /*'awa'*
|
'awa' options.txt /*'awa'*
|
||||||
|
'b:context_ignore_makefile' ft_context.txt /*'b:context_ignore_makefile'*
|
||||||
|
'b:context_include' ft_context.txt /*'b:context_include'*
|
||||||
|
'b:mp_metafun' ft_mp.txt /*'b:mp_metafun'*
|
||||||
'background' options.txt /*'background'*
|
'background' options.txt /*'background'*
|
||||||
'backspace' options.txt /*'backspace'*
|
'backspace' options.txt /*'backspace'*
|
||||||
'backup' options.txt /*'backup'*
|
'backup' options.txt /*'backup'*
|
||||||
@ -299,6 +302,20 @@ $quote eval.txt /*$quote*
|
|||||||
'fs' options.txt /*'fs'*
|
'fs' options.txt /*'fs'*
|
||||||
'fsync' options.txt /*'fsync'*
|
'fsync' options.txt /*'fsync'*
|
||||||
'ft' options.txt /*'ft'*
|
'ft' options.txt /*'ft'*
|
||||||
|
'g:context_ignore_makefile' ft_context.txt /*'g:context_ignore_makefile'*
|
||||||
|
'g:context_include' ft_context.txt /*'g:context_include'*
|
||||||
|
'g:mf_other_macros' ft_mp.txt /*'g:mf_other_macros'*
|
||||||
|
'g:mf_plain_macros' ft_mp.txt /*'g:mf_plain_macros'*
|
||||||
|
'g:mf_plain_modes' ft_mp.txt /*'g:mf_plain_modes'*
|
||||||
|
'g:mp_close_tag' ft_mp.txt /*'g:mp_close_tag'*
|
||||||
|
'g:mp_metafun' ft_mp.txt /*'g:mp_metafun'*
|
||||||
|
'g:mp_mfplain_macros' ft_mp.txt /*'g:mp_mfplain_macros'*
|
||||||
|
'g:mp_open_tag' ft_mp.txt /*'g:mp_open_tag'*
|
||||||
|
'g:mp_other_macros' ft_mp.txt /*'g:mp_other_macros'*
|
||||||
|
'g:mp_plain_macros' ft_mp.txt /*'g:mp_plain_macros'*
|
||||||
|
'g:no_context_maps' ft_context.txt /*'g:no_context_maps'*
|
||||||
|
'g:no_mf_maps' ft_mp.txt /*'g:no_mf_maps'*
|
||||||
|
'g:no_mp_maps' ft_mp.txt /*'g:no_mp_maps'*
|
||||||
'gcr' options.txt /*'gcr'*
|
'gcr' options.txt /*'gcr'*
|
||||||
'gd' options.txt /*'gd'*
|
'gd' options.txt /*'gd'*
|
||||||
'gdefault' options.txt /*'gdefault'*
|
'gdefault' options.txt /*'gdefault'*
|
||||||
@ -1301,7 +1318,6 @@ $quote eval.txt /*$quote*
|
|||||||
+balloon_eval various.txt /*+balloon_eval*
|
+balloon_eval various.txt /*+balloon_eval*
|
||||||
+balloon_eval_term various.txt /*+balloon_eval_term*
|
+balloon_eval_term various.txt /*+balloon_eval_term*
|
||||||
+browse various.txt /*+browse*
|
+browse various.txt /*+browse*
|
||||||
+builtin_terms various.txt /*+builtin_terms*
|
|
||||||
+byte_offset various.txt /*+byte_offset*
|
+byte_offset various.txt /*+byte_offset*
|
||||||
+channel various.txt /*+channel*
|
+channel various.txt /*+channel*
|
||||||
+cindent various.txt /*+cindent*
|
+cindent various.txt /*+cindent*
|
||||||
@ -2036,12 +2052,17 @@ $quote eval.txt /*$quote*
|
|||||||
:Cfilter quickfix.txt /*:Cfilter*
|
:Cfilter quickfix.txt /*:Cfilter*
|
||||||
:Clear terminal.txt /*:Clear*
|
:Clear terminal.txt /*:Clear*
|
||||||
:CompilerSet usr_51.txt /*:CompilerSet*
|
:CompilerSet usr_51.txt /*:CompilerSet*
|
||||||
|
:ConTeXt ft_context.txt /*:ConTeXt*
|
||||||
|
:ConTeXtJobsStatus ft_context.txt /*:ConTeXtJobsStatus*
|
||||||
|
:ConTeXtLog ft_context.txt /*:ConTeXtLog*
|
||||||
|
:ConTeXtStopJobs ft_context.txt /*:ConTeXtStopJobs*
|
||||||
:Continue terminal.txt /*:Continue*
|
:Continue terminal.txt /*:Continue*
|
||||||
:DiffOrig diff.txt /*:DiffOrig*
|
:DiffOrig diff.txt /*:DiffOrig*
|
||||||
:DoMatchParen pi_paren.txt /*:DoMatchParen*
|
:DoMatchParen pi_paren.txt /*:DoMatchParen*
|
||||||
:Evaluate terminal.txt /*:Evaluate*
|
:Evaluate terminal.txt /*:Evaluate*
|
||||||
:Explore pi_netrw.txt /*:Explore*
|
:Explore pi_netrw.txt /*:Explore*
|
||||||
:Finish terminal.txt /*:Finish*
|
:Finish terminal.txt /*:Finish*
|
||||||
|
:FixBeginfigs ft_mp.txt /*:FixBeginfigs*
|
||||||
:GLVS pi_getscript.txt /*:GLVS*
|
:GLVS pi_getscript.txt /*:GLVS*
|
||||||
:Gdb terminal.txt /*:Gdb*
|
:Gdb terminal.txt /*:Gdb*
|
||||||
:GetLatestVimScripts_dat pi_getscript.txt /*:GetLatestVimScripts_dat*
|
:GetLatestVimScripts_dat pi_getscript.txt /*:GetLatestVimScripts_dat*
|
||||||
@ -6293,6 +6314,7 @@ conceal syntax.txt /*conceal*
|
|||||||
confirm() builtin.txt /*confirm()*
|
confirm() builtin.txt /*confirm()*
|
||||||
connection-refused message.txt /*connection-refused*
|
connection-refused message.txt /*connection-refused*
|
||||||
console-menus gui.txt /*console-menus*
|
console-menus gui.txt /*console-menus*
|
||||||
|
context.vim ft_context.txt /*context.vim*
|
||||||
control intro.txt /*control*
|
control intro.txt /*control*
|
||||||
conversion-server mbyte.txt /*conversion-server*
|
conversion-server mbyte.txt /*conversion-server*
|
||||||
convert-to-HTML syntax.txt /*convert-to-HTML*
|
convert-to-HTML syntax.txt /*convert-to-HTML*
|
||||||
@ -6937,6 +6959,11 @@ ft-clojure-indent indent.txt /*ft-clojure-indent*
|
|||||||
ft-clojure-syntax syntax.txt /*ft-clojure-syntax*
|
ft-clojure-syntax syntax.txt /*ft-clojure-syntax*
|
||||||
ft-cobol-syntax syntax.txt /*ft-cobol-syntax*
|
ft-cobol-syntax syntax.txt /*ft-cobol-syntax*
|
||||||
ft-coldfusion-syntax syntax.txt /*ft-coldfusion-syntax*
|
ft-coldfusion-syntax syntax.txt /*ft-coldfusion-syntax*
|
||||||
|
ft-context ft_context.txt /*ft-context*
|
||||||
|
ft-context-commands ft_context.txt /*ft-context-commands*
|
||||||
|
ft-context-intro ft_context.txt /*ft-context-intro*
|
||||||
|
ft-context-mappings ft_context.txt /*ft-context-mappings*
|
||||||
|
ft-context-settings ft_context.txt /*ft-context-settings*
|
||||||
ft-cpp-syntax syntax.txt /*ft-cpp-syntax*
|
ft-cpp-syntax syntax.txt /*ft-cpp-syntax*
|
||||||
ft-csh-syntax syntax.txt /*ft-csh-syntax*
|
ft-csh-syntax syntax.txt /*ft-csh-syntax*
|
||||||
ft-css-omni insert.txt /*ft-css-omni*
|
ft-css-omni insert.txt /*ft-css-omni*
|
||||||
@ -6996,6 +7023,15 @@ ft-markdown-syntax syntax.txt /*ft-markdown-syntax*
|
|||||||
ft-masm-syntax syntax.txt /*ft-masm-syntax*
|
ft-masm-syntax syntax.txt /*ft-masm-syntax*
|
||||||
ft-mathematica-syntax syntax.txt /*ft-mathematica-syntax*
|
ft-mathematica-syntax syntax.txt /*ft-mathematica-syntax*
|
||||||
ft-matlab-indent indent.txt /*ft-matlab-indent*
|
ft-matlab-indent indent.txt /*ft-matlab-indent*
|
||||||
|
ft-metafont ft_mp.txt /*ft-metafont*
|
||||||
|
ft-metafont-intro ft_mp.txt /*ft-metafont-intro*
|
||||||
|
ft-metafont-mappings ft_mp.txt /*ft-metafont-mappings*
|
||||||
|
ft-metafont-settings ft_mp.txt /*ft-metafont-settings*
|
||||||
|
ft-metapost ft_mp.txt /*ft-metapost*
|
||||||
|
ft-metapost-commands ft_mp.txt /*ft-metapost-commands*
|
||||||
|
ft-metapost-intro ft_mp.txt /*ft-metapost-intro*
|
||||||
|
ft-metapost-mappings ft_mp.txt /*ft-metapost-mappings*
|
||||||
|
ft-metapost-settings ft_mp.txt /*ft-metapost-settings*
|
||||||
ft-mma-syntax syntax.txt /*ft-mma-syntax*
|
ft-mma-syntax syntax.txt /*ft-mma-syntax*
|
||||||
ft-moo-syntax syntax.txt /*ft-moo-syntax*
|
ft-moo-syntax syntax.txt /*ft-moo-syntax*
|
||||||
ft-msql-syntax syntax.txt /*ft-msql-syntax*
|
ft-msql-syntax syntax.txt /*ft-msql-syntax*
|
||||||
@ -7074,6 +7110,8 @@ ft-yaml-syntax syntax.txt /*ft-yaml-syntax*
|
|||||||
ft-zimbu-plugin filetype.txt /*ft-zimbu-plugin*
|
ft-zimbu-plugin filetype.txt /*ft-zimbu-plugin*
|
||||||
ft-zsh-syntax syntax.txt /*ft-zsh-syntax*
|
ft-zsh-syntax syntax.txt /*ft-zsh-syntax*
|
||||||
ft_ada.txt ft_ada.txt /*ft_ada.txt*
|
ft_ada.txt ft_ada.txt /*ft_ada.txt*
|
||||||
|
ft_context.txt ft_context.txt /*ft_context.txt*
|
||||||
|
ft_mp.txt ft_mp.txt /*ft_mp.txt*
|
||||||
ft_ps1.txt ft_ps1.txt /*ft_ps1.txt*
|
ft_ps1.txt ft_ps1.txt /*ft_ps1.txt*
|
||||||
ft_raku.txt ft_raku.txt /*ft_raku.txt*
|
ft_raku.txt ft_raku.txt /*ft_raku.txt*
|
||||||
ft_rust.txt ft_rust.txt /*ft_rust.txt*
|
ft_rust.txt ft_rust.txt /*ft_rust.txt*
|
||||||
@ -8320,6 +8358,7 @@ message.txt message.txt /*message.txt*
|
|||||||
messages message.txt /*messages*
|
messages message.txt /*messages*
|
||||||
meta intro.txt /*meta*
|
meta intro.txt /*meta*
|
||||||
method eval.txt /*method*
|
method eval.txt /*method*
|
||||||
|
mf.vim ft_mp.txt /*mf.vim*
|
||||||
min() builtin.txt /*min()*
|
min() builtin.txt /*min()*
|
||||||
missing-options vi_diff.txt /*missing-options*
|
missing-options vi_diff.txt /*missing-options*
|
||||||
mkdir() builtin.txt /*mkdir()*
|
mkdir() builtin.txt /*mkdir()*
|
||||||
@ -8353,6 +8392,7 @@ mouse_lnum-variable eval.txt /*mouse_lnum-variable*
|
|||||||
mouse_win-variable eval.txt /*mouse_win-variable*
|
mouse_win-variable eval.txt /*mouse_win-variable*
|
||||||
mouse_winid-variable eval.txt /*mouse_winid-variable*
|
mouse_winid-variable eval.txt /*mouse_winid-variable*
|
||||||
movement intro.txt /*movement*
|
movement intro.txt /*movement*
|
||||||
|
mp.vim ft_mp.txt /*mp.vim*
|
||||||
ms-dos os_msdos.txt /*ms-dos*
|
ms-dos os_msdos.txt /*ms-dos*
|
||||||
msdos os_msdos.txt /*msdos*
|
msdos os_msdos.txt /*msdos*
|
||||||
msql.vim syntax.txt /*msql.vim*
|
msql.vim syntax.txt /*msql.vim*
|
||||||
|
@ -46,7 +46,7 @@ TERMCAP defined.
|
|||||||
A number of builtin terminals are available. Since patch 9.0.0280 there is no
|
A number of builtin terminals are available. Since patch 9.0.0280 there is no
|
||||||
difference between Vim versions. You can see a list of available builtin
|
difference between Vim versions. You can see a list of available builtin
|
||||||
terminals in the error message you get for `:set term=xxx` (when not running
|
terminals in the error message you get for `:set term=xxx` (when not running
|
||||||
the GUI). Also see |+builtin_terms|.
|
the GUI). Also see |++builtin_terms|.
|
||||||
|
|
||||||
If the termcap code is included Vim will try to get the strings for the
|
If the termcap code is included Vim will try to get the strings for the
|
||||||
terminal you are using from the termcap file and the builtin termcaps. Both
|
terminal you are using from the termcap file and the builtin termcaps. Both
|
||||||
|
@ -38,6 +38,8 @@ browser use: https://github.com/vim/vim/issues/1234
|
|||||||
*known-bugs*
|
*known-bugs*
|
||||||
-------------------- Known bugs and current work -----------------------
|
-------------------- Known bugs and current work -----------------------
|
||||||
|
|
||||||
|
*.sil detection with FTsil() (lacygoill, Aug 25)
|
||||||
|
|
||||||
Further Vim9 improvements, possibly after launch:
|
Further Vim9 improvements, possibly after launch:
|
||||||
- Use Vim9 for more runtime files.
|
- Use Vim9 for more runtime files.
|
||||||
- Check performance with callgrind and kcachegrind.
|
- Check performance with callgrind and kcachegrind.
|
||||||
@ -182,6 +184,10 @@ Patches considered for including:
|
|||||||
- allow for nesting of timeout, sketch in #10595
|
- allow for nesting of timeout, sketch in #10595
|
||||||
- Add setcmdline() #10869
|
- Add setcmdline() #10869
|
||||||
|
|
||||||
|
Cleanup:
|
||||||
|
- Remove OLD_DIGRAPHS ?
|
||||||
|
- Remove FEAT_FOOTER ?
|
||||||
|
|
||||||
Add 'splitscroll' #10682 Useful? Any trouble? Null Chilly says it's OK.
|
Add 'splitscroll' #10682 Useful? Any trouble? Null Chilly says it's OK.
|
||||||
suggestion: names instead of numbers for the option value
|
suggestion: names instead of numbers for the option value
|
||||||
problem depending on whether window is focused or not
|
problem depending on whether window is focused or not
|
||||||
|
@ -374,7 +374,8 @@ N *+eval* expression evaluation |eval.txt|
|
|||||||
T *+ex_extra* always on now, used to be for Vim's extra Ex commands
|
T *+ex_extra* always on now, used to be for Vim's extra Ex commands
|
||||||
N *+extra_search* |'hlsearch'| and |'incsearch'| options.
|
N *+extra_search* |'hlsearch'| and |'incsearch'| options.
|
||||||
- *+farsi* Removed: |farsi| language
|
- *+farsi* Removed: |farsi| language
|
||||||
N *+file_in_path* |gf|, |CTRL-W_f| and |<cfile>|
|
T *+file_in_path* |gf|, |CTRL-W_f| and |<cfile>| Always enabled since
|
||||||
|
9.0.265
|
||||||
N *+find_in_path* include file searches: |[I|, |:isearch|,
|
N *+find_in_path* include file searches: |[I|, |:isearch|,
|
||||||
|CTRL-W_CTRL-I|, |:checkpath|, etc.
|
|CTRL-W_CTRL-I|, |:checkpath|, etc.
|
||||||
N *+folding* |folding|
|
N *+folding* |folding|
|
||||||
|
@ -1,36 +1,65 @@
|
|||||||
" ConTeXt indent file
|
vim9script
|
||||||
" Language: ConTeXt typesetting engine
|
|
||||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
# Language: ConTeXt typesetting engine
|
||||||
" Last Change: 2016 Oct 15
|
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
|
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||||
|
# Latest Revision: 2022 Aug 12
|
||||||
|
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if !get(b:, 'context_metapost', get(g:, 'context_metapost', 1))
|
# Load MetaPost indentation script (this will also set b:did_indent)
|
||||||
finish
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Load MetaPost indentation script
|
|
||||||
runtime! indent/mp.vim
|
runtime! indent/mp.vim
|
||||||
|
|
||||||
let s:keepcpo= &cpo
|
setlocal indentexpr=ConTeXtIndent()
|
||||||
set cpo&vim
|
|
||||||
|
|
||||||
setlocal indentexpr=GetConTeXtIndent()
|
b:undo_indent = "setl indentexpr<"
|
||||||
|
|
||||||
let b:undo_indent = "setl indentexpr<"
|
def PrevNotComment(l: number): number
|
||||||
|
var prevlnum = prevnonblank(l)
|
||||||
|
|
||||||
function! GetConTeXtIndent()
|
while prevlnum > 0 && getline(prevlnum) =~# '^\s*%'
|
||||||
" Use MetaPost rules inside MetaPost graphic environments
|
prevlnum = prevnonblank(prevlnum - 1)
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
return prevlnum
|
||||||
|
enddef
|
||||||
|
|
||||||
|
def FindPair(pstart: string, pmid: string, pend: string): number
|
||||||
|
cursor(v:lnum, 1)
|
||||||
|
return indent(searchpair(pstart, pmid, pend, 'bWn',
|
||||||
|
'synIDattr(synID(line("."), col("."), 0), "name") =~? "string\\|comment"'))
|
||||||
|
enddef
|
||||||
|
|
||||||
|
def ConTeXtIndent(): number
|
||||||
|
# Use MetaPost rules inside MetaPost graphic environments
|
||||||
if len(synstack(v:lnum, 1)) > 0 &&
|
if len(synstack(v:lnum, 1)) > 0 &&
|
||||||
\ synIDattr(synstack(v:lnum, 1)[0], "name") ==# 'contextMPGraphic'
|
synIDattr(synstack(v:lnum, 1)[0], "name") ==# 'contextMPGraphic'
|
||||||
return GetMetaPostIndent()
|
return g:MetaPostIndent()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
const prevlnum = PrevNotComment(v:lnum - 1)
|
||||||
|
const prevind = indent(prevlnum)
|
||||||
|
const prevline = getline(prevlnum)
|
||||||
|
const currline = getline(v:lnum)
|
||||||
|
|
||||||
|
# If the current line starts with ], match indentation.
|
||||||
|
if currline =~# '^\s*\]'
|
||||||
|
return FindPair('\[', '', '\]')
|
||||||
|
endif
|
||||||
|
|
||||||
|
# If the current line starts with }, match indentation.
|
||||||
|
if currline =~# '^\s*}'
|
||||||
|
return FindPair('{', '', '}')
|
||||||
|
endif
|
||||||
|
|
||||||
|
# If the previous line ends with [ or { (possibly followed by a comment) then indent.
|
||||||
|
if prevline =~# '[{[]\s*\%(%.*\)\=$'
|
||||||
|
return prevind + shiftwidth()
|
||||||
|
endif
|
||||||
|
|
||||||
return -1
|
return -1
|
||||||
endfunc
|
enddef
|
||||||
|
|
||||||
let &cpo = s:keepcpo
|
# vim: sw=2 fdm=marker
|
||||||
unlet s:keepcpo
|
|
||||||
|
|
||||||
" vim:sw=2
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
" METAFONT indent file
|
" METAFONT indent file
|
||||||
" Language: METAFONT
|
" Language: METAFONT
|
||||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
" Last Change: 2016 Oct 1
|
" Latest Revision: 2022 Aug 12
|
||||||
|
|
||||||
runtime! indent/mp.vim
|
runtime! indent/mp.vim
|
||||||
|
@ -1,360 +1,320 @@
|
|||||||
" MetaPost indent file
|
vim9script
|
||||||
" Language: MetaPost
|
|
||||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
# MetaPost indent file
|
||||||
" Former Maintainers: Eugene Minkovskii <emin@mccme.ru>
|
# Language: MetaPost
|
||||||
" Last Change: 2016 Oct 2, 4:13pm
|
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||||
" Version: 0.2
|
# Former Maintainers: Eugene Minkovskii <emin@mccme.ru>
|
||||||
|
# Latest Revision: 2022 Aug 12
|
||||||
|
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let b:did_indent = 1
|
|
||||||
|
|
||||||
setlocal indentexpr=GetMetaPostIndent()
|
b:did_indent = 1
|
||||||
|
|
||||||
|
setlocal indentexpr=g:MetaPostIndent()
|
||||||
setlocal indentkeys+==end,=else,=fi,=fill,0),0]
|
setlocal indentkeys+==end,=else,=fi,=fill,0),0]
|
||||||
|
setlocal nolisp
|
||||||
|
setlocal nosmartindent
|
||||||
|
|
||||||
let b:undo_indent = "setl indentkeys< indentexpr<"
|
b:undo_indent = "setl indentexpr< indentkeys< lisp< smartindent<"
|
||||||
|
|
||||||
" Only define the function once.
|
# Regexps {{{
|
||||||
if exists("*GetMetaPostIndent")
|
# Expressions starting indented blocks
|
||||||
finish
|
const MP_OPEN_TAG = [
|
||||||
endif
|
'\<if\>',
|
||||||
let s:keepcpo= &cpo
|
'\<else\%[if]\>',
|
||||||
set cpo&vim
|
'\<for\%(\|ever\|suffixes\)\>',
|
||||||
|
'\<begingroup\>',
|
||||||
|
'\<\%(\|var\|primary\|secondary\|tertiary\)def\>',
|
||||||
|
'^\s*\<begin\%(fig\|graph\|glyph\|char\|logochar\)\>',
|
||||||
|
'[([{]',
|
||||||
|
]->extend(get(g:, "mp_open_tag", []))->join('\|')
|
||||||
|
|
||||||
function GetMetaPostIndent()
|
# Expressions ending indented blocks
|
||||||
let ignorecase_save = &ignorecase
|
const MP_CLOSE_TAG = [
|
||||||
try
|
'\<fi\>',
|
||||||
let &ignorecase = 0
|
'\<else\%[if]\>',
|
||||||
return GetMetaPostIndentIntern()
|
'\<end\%(\|for\|group\|def\|fig\|char\|glyph\|graph\)\>',
|
||||||
finally
|
'[)\]}]'
|
||||||
let &ignorecase = ignorecase_save
|
]->extend(get(g:, "mp_close_tag", []))->join('\|')
|
||||||
endtry
|
|
||||||
endfunc
|
|
||||||
|
|
||||||
" Regexps {{{
|
# Statements that may span multiple lines and are ended by a semicolon. To
|
||||||
" Note: the next three variables are made global so that a user may add
|
# keep this list short, statements that are unlikely to be very long or are
|
||||||
" further keywords.
|
# not very common (e.g., keywords like `interim` or `showtoken`) are not
|
||||||
"
|
# included.
|
||||||
" Example:
|
#
|
||||||
"
|
# The regex for assignments and equations (the last branch) is tricky, because
|
||||||
" Put these in ~/.vim/after/indent/mp.vim
|
# it must not match things like `for i :=`, `if a=b`, `def...=`, etc... It is
|
||||||
"
|
# not perfect, but it works reasonably well.
|
||||||
" let g:mp_open_tag .= '\|\<begintest\>'
|
const MP_STATEMENT = [
|
||||||
" let g:mp_close_tag .= '\|\<endtest\>'
|
'\<\%(\|un\|cut\)draw\%(dot\)\=\>',
|
||||||
|
'\<\%(\|un\)fill\%[draw]\>',
|
||||||
|
'\<draw\%(dbl\)\=arrow\>',
|
||||||
|
'\<clip\>',
|
||||||
|
'\<addto\>',
|
||||||
|
'\<save\>',
|
||||||
|
'\<setbounds\>',
|
||||||
|
'\<message\>',
|
||||||
|
'\<errmessage\>',
|
||||||
|
'\<errhelp\>',
|
||||||
|
'\<fontmapline\>',
|
||||||
|
'\<pickup\>',
|
||||||
|
'\<show\>',
|
||||||
|
'\<special\>',
|
||||||
|
'\<write\>',
|
||||||
|
'\%(^\|;\)\%([^;=]*\%(' .. MP_OPEN_TAG .. '\)\)\@!.\{-}:\==',
|
||||||
|
]->join('\|')
|
||||||
|
|
||||||
" Expressions starting indented blocks
|
# A line ends with zero or more spaces, possibly followed by a comment.
|
||||||
let g:mp_open_tag = ''
|
const EOL = '\s*\%($\|%\)'
|
||||||
\ . '\<if\>'
|
# }}}
|
||||||
\ . '\|\<else\%[if]\>'
|
|
||||||
\ . '\|\<for\%(\|ever\|suffixes\)\>'
|
|
||||||
\ . '\|\<begingroup\>'
|
|
||||||
\ . '\|\<\%(\|var\|primary\|secondary\|tertiary\)def\>'
|
|
||||||
\ . '\|^\s*\<begin\%(fig\|graph\|glyph\|char\|logochar\)\>'
|
|
||||||
\ . '\|[([{]'
|
|
||||||
|
|
||||||
" Expressions ending indented blocks
|
# Auxiliary functions {{{
|
||||||
let g:mp_close_tag = ''
|
# Returns true if (0-based) position immediately preceding `pos` in `line` is
|
||||||
\ . '\<fi\>'
|
# inside a string or a comment; returns false otherwise.
|
||||||
\ . '\|\<else\%[if]\>'
|
|
||||||
\ . '\|\<end\%(\|for\|group\|def\|fig\|char\|glyph\|graph\)\>'
|
|
||||||
\ . '\|[)\]}]'
|
|
||||||
|
|
||||||
" Statements that may span multiple lines and are ended by a semicolon. To
|
# This is the function that is called more often when indenting, so it is
|
||||||
" keep this list short, statements that are unlikely to be very long or are
|
# critical that it is efficient. The method we use is significantly faster
|
||||||
" not very common (e.g., keywords like `interim` or `showtoken`) are not
|
# than using syntax attributes, and more general (it does not require
|
||||||
" included.
|
# syntax_items). It is also faster than using a single regex matching an even
|
||||||
"
|
# number of quotes. It helps that MetaPost strings cannot span more than one
|
||||||
" The regex for assignments and equations (the last branch) is tricky, because
|
# line and cannot contain escaped quotes.
|
||||||
" it must not match things like `for i :=`, `if a=b`, `def...=`, etc... It is
|
def IsCommentOrString(line: string, pos: number): bool
|
||||||
" not perfect, but it works reasonably well.
|
var in_string = 0
|
||||||
let g:mp_statement = ''
|
var q = stridx(line, '"')
|
||||||
\ . '\<\%(\|un\|cut\)draw\>'
|
var c = stridx(line, '%')
|
||||||
\ . '\|\<\%(\|un\)fill\%[draw]\>'
|
|
||||||
\ . '\|\<draw\%(dbl\)\=arrow\>'
|
|
||||||
\ . '\|\<clip\>'
|
|
||||||
\ . '\|\<addto\>'
|
|
||||||
\ . '\|\<save\>'
|
|
||||||
\ . '\|\<setbounds\>'
|
|
||||||
\ . '\|\<message\>'
|
|
||||||
\ . '\|\<errmessage\>'
|
|
||||||
\ . '\|\<errhelp\>'
|
|
||||||
\ . '\|\<fontmapline\>'
|
|
||||||
\ . '\|\<pickup\>'
|
|
||||||
\ . '\|\<show\>'
|
|
||||||
\ . '\|\<special\>'
|
|
||||||
\ . '\|\<write\>'
|
|
||||||
\ . '\|\%(^\|;\)\%([^;=]*\%('.g:mp_open_tag.'\)\)\@!.\{-}:\=='
|
|
||||||
|
|
||||||
" A line ends with zero or more spaces, possibly followed by a comment.
|
while q >= 0 && q < pos
|
||||||
let s:eol = '\s*\%($\|%\)'
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" Auxiliary functions {{{
|
|
||||||
" Returns 1 if (0-based) position immediately preceding `pos` in `line` is
|
|
||||||
" inside a string or a comment; returns 0 otherwise.
|
|
||||||
|
|
||||||
" This is the function that is called more often when indenting, so it is
|
|
||||||
" critical that it is efficient. The method we use is significantly faster
|
|
||||||
" than using syntax attributes, and more general (it does not require
|
|
||||||
" syntax_items). It is also faster than using a single regex matching an even
|
|
||||||
" number of quotes. It helps that MetaPost strings cannot span more than one
|
|
||||||
" line and cannot contain escaped quotes.
|
|
||||||
function! s:CommentOrString(line, pos)
|
|
||||||
let in_string = 0
|
|
||||||
let q = stridx(a:line, '"')
|
|
||||||
let c = stridx(a:line, '%')
|
|
||||||
while q >= 0 && q < a:pos
|
|
||||||
if c >= 0 && c < q
|
if c >= 0 && c < q
|
||||||
if in_string " Find next percent symbol
|
if in_string # Find next percent symbol
|
||||||
let c = stridx(a:line, '%', q + 1)
|
c = stridx(line, '%', q + 1)
|
||||||
else " Inside comment
|
else # Inside comment
|
||||||
return 1
|
return true
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
let in_string = 1 - in_string
|
in_string = 1 - in_string
|
||||||
let q = stridx(a:line, '"', q + 1) " Find next quote
|
q = stridx(line, '"', q + 1) # Find next quote
|
||||||
endwhile
|
endwhile
|
||||||
return in_string || (c >= 0 && c <= a:pos)
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" Find the first non-comment non-blank line before the current line.
|
return in_string || (c >= 0 && c <= pos)
|
||||||
function! s:PrevNonBlankNonComment(lnum)
|
enddef
|
||||||
let l:lnum = prevnonblank(a:lnum - 1)
|
|
||||||
while getline(l:lnum) =~# '^\s*%'
|
# Find the first non-comment non-blank line before the given line.
|
||||||
let l:lnum = prevnonblank(l:lnum - 1)
|
def PrevNonBlankNonComment(lnum: number): number
|
||||||
|
var nr = prevnonblank(lnum - 1)
|
||||||
|
while getline(nr) =~# '^\s*%'
|
||||||
|
nr = prevnonblank(nr - 1)
|
||||||
endwhile
|
endwhile
|
||||||
return l:lnum
|
return nr
|
||||||
endfunction
|
enddef
|
||||||
|
|
||||||
" Returns true if the last tag appearing in the line is an open tag; returns
|
# Returns true if the last tag appearing in the line is an open tag; returns
|
||||||
" false otherwise.
|
# false otherwise.
|
||||||
function! s:LastTagIsOpen(line)
|
def LastTagIsOpen(line: string): bool
|
||||||
let o = s:LastValidMatchEnd(a:line, g:mp_open_tag, 0)
|
var o = LastValidMatchEnd(line, MP_OPEN_TAG, 0)
|
||||||
if o == - 1 | return v:false | endif
|
if o == - 1
|
||||||
return s:LastValidMatchEnd(a:line, g:mp_close_tag, o) < 0
|
return false
|
||||||
endfunction
|
endif
|
||||||
|
return LastValidMatchEnd(line, MP_CLOSE_TAG, o) < 0
|
||||||
|
enddef
|
||||||
|
|
||||||
" A simple, efficient and quite effective heuristics is used to test whether
|
# A simple, efficient and quite effective heuristics is used to test whether
|
||||||
" a line should cause the next line to be indented: count the "opening tags"
|
# a line should cause the next line to be indented: count the "opening tags"
|
||||||
" (if, for, def, ...) in the line, count the "closing tags" (endif, endfor,
|
# (if, for, def, ...) in the line, count the "closing tags" (endif, endfor,
|
||||||
" ...) in the line, and compute the difference. We call the result the
|
# ...) in the line, and compute the difference. We call the result the
|
||||||
" "weight" of the line. If the weight is positive, then the next line should
|
# "weight" of the line. If the weight is positive, then the next line should
|
||||||
" most likely be indented. Note that `else` and `elseif` are both opening and
|
# most likely be indented. Note that `else` and `elseif` are both opening and
|
||||||
" closing tags, so they "cancel out" in almost all cases, the only exception
|
# closing tags, so they "cancel out" in almost all cases, the only exception
|
||||||
" being a leading `else[if]`, which is counted as an opening tag, but not as
|
# being a leading `else[if]`, which is counted as an opening tag, but not as
|
||||||
" a closing tag (so that, for instance, a line containing a single `else:`
|
# a closing tag (so that, for instance, a line containing a single `else:`
|
||||||
" will have weight equal to one, not zero). We do not treat a trailing
|
# will have weight equal to one, not zero). We do not treat a trailing
|
||||||
" `else[if]` in any special way, because lines ending with an open tag are
|
# `else[if]` in any special way, because lines ending with an open tag are
|
||||||
" dealt with separately before this function is called (see
|
# dealt with separately before this function is called (see MetaPostIndent()).
|
||||||
" GetMetaPostIndentIntern()).
|
#
|
||||||
"
|
# Example:
|
||||||
" Example:
|
#
|
||||||
"
|
# forsuffixes $=a,b: if x.$ = y.$ : draw else: fill fi
|
||||||
" forsuffixes $=a,b: if x.$ = y.$ : draw else: fill fi
|
# % This line will be indented because |{forsuffixes,if,else}| > |{else,fi}| (3 > 2)
|
||||||
" % This line will be indented because |{forsuffixes,if,else}| > |{else,fi}| (3 > 2)
|
# endfor
|
||||||
" endfor
|
def Weight(line: string): number
|
||||||
|
var o = 0
|
||||||
function! s:Weight(line)
|
var i = ValidMatchEnd(line, MP_OPEN_TAG, 0)
|
||||||
let [o, i] = [0, s:ValidMatchEnd(a:line, g:mp_open_tag, 0)]
|
|
||||||
while i > 0
|
while i > 0
|
||||||
let o += 1
|
o += 1
|
||||||
let i = s:ValidMatchEnd(a:line, g:mp_open_tag, i)
|
i = ValidMatchEnd(line, MP_OPEN_TAG, i)
|
||||||
endwhile
|
endwhile
|
||||||
let [c, i] = [0, matchend(a:line, '^\s*\<else\%[if]\>')] " Skip a leading else[if]
|
var c = 0
|
||||||
let i = s:ValidMatchEnd(a:line, g:mp_close_tag, i)
|
i = matchend(line, '^\s*\<else\%[if]\>') # Skip a leading else[if]
|
||||||
|
i = ValidMatchEnd(line, MP_CLOSE_TAG, i)
|
||||||
while i > 0
|
while i > 0
|
||||||
let c += 1
|
c += 1
|
||||||
let i = s:ValidMatchEnd(a:line, g:mp_close_tag, i)
|
i = ValidMatchEnd(line, MP_CLOSE_TAG, i)
|
||||||
endwhile
|
endwhile
|
||||||
return o - c
|
return o - c
|
||||||
endfunction
|
enddef
|
||||||
|
|
||||||
" Similar to matchend(), but skips strings and comments.
|
# Similar to matchend(), but skips strings and comments.
|
||||||
" line: a String
|
# line: a String
|
||||||
function! s:ValidMatchEnd(line, pat, start)
|
def ValidMatchEnd(line: string, pat: string, start: number): number
|
||||||
let i = matchend(a:line, a:pat, a:start)
|
var i = matchend(line, pat, start)
|
||||||
while i > 0 && s:CommentOrString(a:line, i)
|
while i > 0 && IsCommentOrString(line, i)
|
||||||
let i = matchend(a:line, a:pat, i)
|
i = matchend(line, pat, i)
|
||||||
endwhile
|
endwhile
|
||||||
return i
|
return i
|
||||||
endfunction
|
enddef
|
||||||
|
|
||||||
" Like s:ValidMatchEnd(), but returns the end position of the last (i.e.,
|
# Like s:ValidMatchEnd(), but returns the end position of the last (i.e.,
|
||||||
" rightmost) match.
|
# rightmost) match.
|
||||||
function! s:LastValidMatchEnd(line, pat, start)
|
def LastValidMatchEnd(line: string, pat: string, start: number): number
|
||||||
let last_found = -1
|
var last_found = -1
|
||||||
let i = matchend(a:line, a:pat, a:start)
|
var i = matchend(line, pat, start)
|
||||||
while i > 0
|
while i > 0
|
||||||
if !s:CommentOrString(a:line, i)
|
if !IsCommentOrString(line, i)
|
||||||
let last_found = i
|
last_found = i
|
||||||
endif
|
endif
|
||||||
let i = matchend(a:line, a:pat, i)
|
i = matchend(line, pat, i)
|
||||||
endwhile
|
endwhile
|
||||||
return last_found
|
return last_found
|
||||||
endfunction
|
enddef
|
||||||
|
|
||||||
function! s:DecreaseIndentOnClosingTag(curr_indent)
|
def DecreaseIndentOnClosingTag(curr_indent: number): number
|
||||||
let cur_text = getline(v:lnum)
|
var cur_text = getline(v:lnum)
|
||||||
if cur_text =~# '^\s*\%('.g:mp_close_tag.'\)'
|
if cur_text =~# '^\s*\%(' .. MP_CLOSE_TAG .. '\)'
|
||||||
return max([a:curr_indent - shiftwidth(), 0])
|
return max([curr_indent - shiftwidth(), 0])
|
||||||
endif
|
endif
|
||||||
return a:curr_indent
|
return curr_indent
|
||||||
endfunction
|
enddef
|
||||||
" }}}
|
# }}}
|
||||||
|
|
||||||
" Main function {{{
|
# Main function {{{
|
||||||
"
|
def g:MetaPostIndent(): number
|
||||||
" Note: Every rule of indentation in MetaPost is very subjective. We might get
|
# Do not touch indentation inside verbatimtex/btex.. etex blocks.
|
||||||
" creative, but things get murky very soon (there are too many corner cases).
|
|
||||||
" So, we provide a means for the user to decide what to do when this script
|
|
||||||
" doesn't get it. We use a simple idea: use '%>', '%<' and '%=' to explicitly
|
|
||||||
" control indentation. The '<' and '>' symbols may be repeated many times
|
|
||||||
" (e.g., '%>>' will cause the next line to be indented twice).
|
|
||||||
"
|
|
||||||
" By using '%>...', '%<...' and '%=', the indentation the user wants is
|
|
||||||
" preserved by commands like gg=G, even if it does not follow the rules of
|
|
||||||
" this script.
|
|
||||||
"
|
|
||||||
" Example:
|
|
||||||
"
|
|
||||||
" def foo =
|
|
||||||
" makepen(
|
|
||||||
" subpath(T-n,t) of r %>
|
|
||||||
" shifted .5down %>
|
|
||||||
" --subpath(t,T) of r shifted .5up -- cycle %<<<
|
|
||||||
" )
|
|
||||||
" withcolor black
|
|
||||||
" enddef
|
|
||||||
"
|
|
||||||
" The default indentation of the previous example would be:
|
|
||||||
"
|
|
||||||
" def foo =
|
|
||||||
" makepen(
|
|
||||||
" subpath(T-n,t) of r
|
|
||||||
" shifted .5down
|
|
||||||
" --subpath(t,T) of r shifted .5up -- cycle
|
|
||||||
" )
|
|
||||||
" withcolor black
|
|
||||||
" enddef
|
|
||||||
"
|
|
||||||
" Personally, I prefer the latter, but anyway...
|
|
||||||
function! GetMetaPostIndentIntern()
|
|
||||||
" Do not touch indentation inside verbatimtex/btex.. etex blocks.
|
|
||||||
if synIDattr(synID(v:lnum, 1, 1), "name") =~# '^mpTeXinsert$\|^tex\|^Delimiter'
|
if synIDattr(synID(v:lnum, 1, 1), "name") =~# '^mpTeXinsert$\|^tex\|^Delimiter'
|
||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" This is the reference line relative to which the current line is indented
|
# At the start of a MetaPost block inside ConTeXt, do not touch indentation
|
||||||
" (but see below).
|
if synIDattr(synID(prevnonblank(v:lnum - 1), 1, 1), "name") == "contextBlockDelim"
|
||||||
let lnum = s:PrevNonBlankNonComment(v:lnum)
|
return -1
|
||||||
|
endif
|
||||||
|
|
||||||
" At the start of the file use zero indent.
|
var lnum = PrevNonBlankNonComment(v:lnum)
|
||||||
|
|
||||||
|
# At the start of the file use zero indent.
|
||||||
if lnum == 0
|
if lnum == 0
|
||||||
return 0
|
return 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let prev_text = getline(lnum)
|
var prev_text = getline(lnum)
|
||||||
|
|
||||||
" User-defined overrides take precedence over anything else.
|
# Every rule of indentation in MetaPost is very subjective. We might get
|
||||||
" See above for an example.
|
# creative, but things get murky very soon (there are too many corner
|
||||||
let j = match(prev_text, '%[<>=]')
|
# cases). So, we provide a means for the user to decide what to do when this
|
||||||
|
# script doesn't get it. We use a simple idea: use '%>', '%<', '%=', and
|
||||||
|
# '%!', to explicitly control indentation. The '<' and '>' symbols may be
|
||||||
|
# repeated many times (e.g., '%>>' will cause the next line to be indented
|
||||||
|
# twice).
|
||||||
|
#
|
||||||
|
# User-defined overrides take precedence over anything else.
|
||||||
|
var j = match(prev_text, '%[<>=!]')
|
||||||
if j > 0
|
if j > 0
|
||||||
let i = strlen(matchstr(prev_text, '%>\+', j)) - 1
|
var i = strlen(matchstr(prev_text, '%>\+', j)) - 1
|
||||||
if i > 0
|
if i > 0
|
||||||
return indent(lnum) + i * shiftwidth()
|
return indent(lnum) + i * shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let i = strlen(matchstr(prev_text, '%<\+', j)) - 1
|
i = strlen(matchstr(prev_text, '%<\+', j)) - 1
|
||||||
if i > 0
|
if i > 0
|
||||||
return max([indent(lnum) - i * shiftwidth(), 0])
|
return max([indent(lnum) - i * shiftwidth(), 0])
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if match(prev_text, '%=', j)
|
if match(prev_text, '%=', j) > -1
|
||||||
return indent(lnum)
|
return indent(lnum)
|
||||||
endif
|
endif
|
||||||
endif
|
|
||||||
|
|
||||||
" If the reference line ends with an open tag, indent.
|
if match(prev_text, '%!', j) > -1
|
||||||
"
|
return -1
|
||||||
" Example:
|
|
||||||
"
|
|
||||||
" if c:
|
|
||||||
" 0
|
|
||||||
" else:
|
|
||||||
" 1
|
|
||||||
" fi if c2: % Note that this line has weight equal to zero.
|
|
||||||
" ... % This line will be indented
|
|
||||||
if s:LastTagIsOpen(prev_text)
|
|
||||||
return s:DecreaseIndentOnClosingTag(indent(lnum) + shiftwidth())
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Lines with a positive weight are unbalanced and should likely be indented.
|
|
||||||
"
|
|
||||||
" Example:
|
|
||||||
"
|
|
||||||
" def f = enddef for i = 1 upto 5: if x[i] > 0: 1 else: 2 fi
|
|
||||||
" ... % This line will be indented (because of the unterminated `for`)
|
|
||||||
if s:Weight(prev_text) > 0
|
|
||||||
return s:DecreaseIndentOnClosingTag(indent(lnum) + shiftwidth())
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Unterminated statements cause indentation to kick in.
|
|
||||||
"
|
|
||||||
" Example:
|
|
||||||
"
|
|
||||||
" draw unitsquare
|
|
||||||
" withcolor black; % This line is indented because of `draw`.
|
|
||||||
" x := a + b + c
|
|
||||||
" + d + e; % This line is indented because of `:=`.
|
|
||||||
"
|
|
||||||
let i = s:LastValidMatchEnd(prev_text, g:mp_statement, 0)
|
|
||||||
if i >= 0 " Does the line contain a statement?
|
|
||||||
if s:ValidMatchEnd(prev_text, ';', i) < 0 " Is the statement unterminated?
|
|
||||||
return indent(lnum) + shiftwidth()
|
|
||||||
else
|
|
||||||
return s:DecreaseIndentOnClosingTag(indent(lnum))
|
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Deal with the special case of a statement spanning multiple lines. If the
|
# If the reference line ends with an open tag, indent.
|
||||||
" current reference line L ends with a semicolon, search backwards for
|
#
|
||||||
" another semicolon or a statement keyword. If the latter is found first,
|
# Example:
|
||||||
" its line is used as the reference line for indenting the current line
|
#
|
||||||
" instead of L.
|
# if c:
|
||||||
"
|
# 0
|
||||||
" Example:
|
# else:
|
||||||
"
|
# 1
|
||||||
" if cond:
|
# fi if c2: % Note that this line has weight equal to zero.
|
||||||
" draw if a: z0 else: z1 fi
|
# ... % This line will be indented
|
||||||
" shifted S
|
if LastTagIsOpen(prev_text)
|
||||||
" scaled T; % L
|
return DecreaseIndentOnClosingTag(indent(lnum) + shiftwidth())
|
||||||
"
|
endif
|
||||||
" for i = 1 upto 3: % <-- Current line: this gets the same indent as `draw ...`
|
|
||||||
"
|
# Lines with a positive weight are unbalanced and should likely be indented.
|
||||||
" NOTE: we get here only if L does not contain a statement (among those
|
#
|
||||||
" listed in g:mp_statement).
|
# Example:
|
||||||
if s:ValidMatchEnd(prev_text, ';'.s:eol, 0) >= 0 " L ends with a semicolon
|
#
|
||||||
let stm_lnum = s:PrevNonBlankNonComment(lnum)
|
# def f = enddef for i = 1 upto 5: if x[i] > 0: 1 else: 2 fi
|
||||||
|
# ... % This line will be indented (because of the unterminated `for`)
|
||||||
|
if Weight(prev_text) > 0
|
||||||
|
return DecreaseIndentOnClosingTag(indent(lnum) + shiftwidth())
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Unterminated statements cause indentation to kick in.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
#
|
||||||
|
# draw unitsquare
|
||||||
|
# withcolor black; % This line is indented because of `draw`.
|
||||||
|
# x := a + b + c
|
||||||
|
# + d + e; % This line is indented because of `:=`.
|
||||||
|
#
|
||||||
|
var i = LastValidMatchEnd(prev_text, MP_STATEMENT, 0)
|
||||||
|
if i >= 0 # Does the line contain a statement?
|
||||||
|
if ValidMatchEnd(prev_text, ';', i) < 0 # Is the statement unterminated?
|
||||||
|
return indent(lnum) + shiftwidth()
|
||||||
|
else
|
||||||
|
return DecreaseIndentOnClosingTag(indent(lnum))
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Deal with the special case of a statement spanning multiple lines. If the
|
||||||
|
# current reference line L ends with a semicolon, search backwards for
|
||||||
|
# another semicolon or a statement keyword. If the latter is found first,
|
||||||
|
# its line is used as the reference line for indenting the current line
|
||||||
|
# instead of L.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
#
|
||||||
|
# if cond:
|
||||||
|
# draw if a: z0 else: z1 fi
|
||||||
|
# shifted S
|
||||||
|
# scaled T; % L
|
||||||
|
#
|
||||||
|
# for i = 1 upto 3: % <-- Current line: this gets the same indent as `draw ...`
|
||||||
|
#
|
||||||
|
# NOTE: we get here only if L does not contain a statement (among those
|
||||||
|
# listed in g:MP_STATEMENT).
|
||||||
|
if ValidMatchEnd(prev_text, ';' .. EOL, 0) >= 0 # L ends with a semicolon
|
||||||
|
var stm_lnum = PrevNonBlankNonComment(lnum)
|
||||||
while stm_lnum > 0
|
while stm_lnum > 0
|
||||||
let prev_text = getline(stm_lnum)
|
prev_text = getline(stm_lnum)
|
||||||
let sc_pos = s:LastValidMatchEnd(prev_text, ';', 0)
|
var sc_pos = LastValidMatchEnd(prev_text, ';', 0)
|
||||||
let stm_pos = s:ValidMatchEnd(prev_text, g:mp_statement, sc_pos)
|
var stm_pos = ValidMatchEnd(prev_text, MP_STATEMENT, sc_pos)
|
||||||
if stm_pos > sc_pos
|
if stm_pos > sc_pos
|
||||||
let lnum = stm_lnum
|
lnum = stm_lnum
|
||||||
break
|
break
|
||||||
elseif sc_pos > stm_pos
|
elseif sc_pos > stm_pos
|
||||||
break
|
break
|
||||||
endif
|
endif
|
||||||
let stm_lnum = s:PrevNonBlankNonComment(stm_lnum)
|
stm_lnum = PrevNonBlankNonComment(stm_lnum)
|
||||||
endwhile
|
endwhile
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return s:DecreaseIndentOnClosingTag(indent(lnum))
|
return DecreaseIndentOnClosingTag(indent(lnum))
|
||||||
endfunction
|
enddef
|
||||||
" }}}
|
# }}}
|
||||||
|
|
||||||
let &cpo = s:keepcpo
|
# vim: sw=2 fdm=marker
|
||||||
unlet s:keepcpo
|
|
||||||
|
|
||||||
" vim:sw=2:fdm=marker
|
|
||||||
|
48
src/po/it.po
48
src/po/it.po
@ -14,8 +14,8 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-06-16 21:37+0200\n"
|
"POT-Creation-Date: 2022-08-25 09:28+0200\n"
|
||||||
"PO-Revision-Date: 2022-06-16 23:00+0100\n"
|
"PO-Revision-Date: 2022-08-25 10:10+0100\n"
|
||||||
"Last-Translator: Antonio Colombo <azc100@gmail.com>\n"
|
"Last-Translator: Antonio Colombo <azc100@gmail.com>\n"
|
||||||
"Language-Team: Italian\n"
|
"Language-Team: Italian\n"
|
||||||
"Language: it\n"
|
"Language: it\n"
|
||||||
@ -384,7 +384,6 @@ msgstr ""
|
|||||||
"\n"
|
"\n"
|
||||||
"\tImpostata l'ultima volta da "
|
"\tImpostata l'ultima volta da "
|
||||||
|
|
||||||
#.
|
|
||||||
msgid "&Ok"
|
msgid "&Ok"
|
||||||
msgstr "&OK"
|
msgstr "&OK"
|
||||||
|
|
||||||
@ -2841,7 +2840,6 @@ msgstr "Compressi %s: %ld di %ld nodi; ne restano %ld (%ld%%)"
|
|||||||
msgid "Reading back spell file..."
|
msgid "Reading back spell file..."
|
||||||
msgstr "Rilettura file ortografico..."
|
msgstr "Rilettura file ortografico..."
|
||||||
|
|
||||||
#.
|
|
||||||
msgid "Performing soundfolding..."
|
msgid "Performing soundfolding..."
|
||||||
msgstr "Eseguo soundfolding..."
|
msgstr "Eseguo soundfolding..."
|
||||||
|
|
||||||
@ -5088,6 +5086,9 @@ msgstr "E486: Espressione non trovata: %s"
|
|||||||
msgid "E487: Argument must be positive"
|
msgid "E487: Argument must be positive"
|
||||||
msgstr "E487: L'argomento dev'essere positivo"
|
msgstr "E487: L'argomento dev'essere positivo"
|
||||||
|
|
||||||
|
msgid "E487: Argument must be positive: %s"
|
||||||
|
msgstr "E487: L'argomento dev'essere positivo: %s"
|
||||||
|
|
||||||
msgid "E488: Trailing characters"
|
msgid "E488: Trailing characters"
|
||||||
msgstr "E488: Caratteri in più alla fine"
|
msgstr "E488: Caratteri in più alla fine"
|
||||||
|
|
||||||
@ -6168,8 +6169,8 @@ msgid "E859: Failed to convert returned python object to a Vim value"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"E859: Conversione non riuscita dell'oggetto python risultato a un valore vim"
|
"E859: Conversione non riuscita dell'oggetto python risultato a un valore vim"
|
||||||
|
|
||||||
msgid "E860: Need 'id' and 'type' with 'both'"
|
msgid "E860: Need 'id' and 'type' or 'types' with 'both'"
|
||||||
msgstr "E860: Servono 'id' e 'type' specificando 'both'"
|
msgstr "E860: Servono 'id' e 'type' o 'types' specificando 'both'"
|
||||||
|
|
||||||
msgid "E861: Cannot open a second popup with a terminal"
|
msgid "E861: Cannot open a second popup with a terminal"
|
||||||
msgstr "E861: Non posso aprire una seconda finestra dinamica con un terminale"
|
msgstr "E861: Non posso aprire una seconda finestra dinamica con un terminale"
|
||||||
@ -6667,11 +6668,11 @@ msgstr "E1006: %s è usato come argomento"
|
|||||||
msgid "E1007: Mandatory argument after optional argument"
|
msgid "E1007: Mandatory argument after optional argument"
|
||||||
msgstr "E1007: Argomento obbligatorio dopo un argomento opzionale"
|
msgstr "E1007: Argomento obbligatorio dopo un argomento opzionale"
|
||||||
|
|
||||||
msgid "E1008: Missing <type>"
|
msgid "E1008: Missing <type> after %s"
|
||||||
msgstr "E1008: Manca <type>"
|
msgstr "E1008: Manca <type> dopo %s"
|
||||||
|
|
||||||
msgid "E1009: Missing > after type"
|
msgid "E1009: Missing > after type: %s"
|
||||||
msgstr "E1009: Manca > dopo tipo"
|
msgstr "E1009: Manca > dopo 'type': %s"
|
||||||
|
|
||||||
msgid "E1010: Type not recognized: %s"
|
msgid "E1010: Type not recognized: %s"
|
||||||
msgstr "E1010: Tipo non riconosciuto: %s"
|
msgstr "E1010: Tipo non riconosciuto: %s"
|
||||||
@ -7556,10 +7557,32 @@ msgstr "E1288: Non riesco ad annullare il gestore del timeout: %s"
|
|||||||
msgid "E1289: Could not check for pending SIGALRM: %s"
|
msgid "E1289: Could not check for pending SIGALRM: %s"
|
||||||
msgstr "E1289: Non riesco a controllare se in attesa di SIGALRM: %s"
|
msgstr "E1289: Non riesco a controllare se in attesa di SIGALRM: %s"
|
||||||
|
|
||||||
|
msgid "E1290: substitute nesting too deep"
|
||||||
|
msgstr "E1290: nidificazione della sostituzione troppo estesa"
|
||||||
|
|
||||||
|
msgid "E1291: Invalid argument: %ld"
|
||||||
|
msgstr "E1291: Argomento non valido: %ld"
|
||||||
|
|
||||||
|
msgid "E1292: Command-line window is already open"
|
||||||
|
msgstr "E1292: Finestra della riga-di-comando già aperta"
|
||||||
|
|
||||||
|
msgid "E1293: Cannot use a negative id after adding a textprop with text"
|
||||||
|
msgstr "E1293: Non posso usare un id negativo dopo aver aggiunto del testo "
|
||||||
|
"a una 'textprop'"
|
||||||
|
|
||||||
|
msgid "E1294: Can only use text_align when column is zero"
|
||||||
|
msgstr "E1294: Si può usare 'text_align' solo quando la colonna è zero"
|
||||||
|
|
||||||
|
msgid "E1295: Cannot specify both 'type' and 'types'"
|
||||||
|
msgstr "E1295: Non si può specificare sia 'type' che 'types'"
|
||||||
|
|
||||||
|
msgid "E1296: Can only use left padding when column is zero"
|
||||||
|
msgstr "E1296: Si può usare il riempimento a sinistra solo quando la colonna "
|
||||||
|
"è zero"
|
||||||
|
|
||||||
msgid "--No lines in buffer--"
|
msgid "--No lines in buffer--"
|
||||||
msgstr "--File vuoto--"
|
msgstr "--File vuoto--"
|
||||||
|
|
||||||
#.
|
|
||||||
msgid "search hit TOP, continuing at BOTTOM"
|
msgid "search hit TOP, continuing at BOTTOM"
|
||||||
msgstr "raggiunta la CIMA nella ricerca, continuo dal FONDO"
|
msgstr "raggiunta la CIMA nella ricerca, continuo dal FONDO"
|
||||||
|
|
||||||
@ -7858,9 +7881,6 @@ msgstr "Edita file di testo"
|
|||||||
msgid "Text;editor;"
|
msgid "Text;editor;"
|
||||||
msgstr "Testo;editor;"
|
msgstr "Testo;editor;"
|
||||||
|
|
||||||
msgid "gvim"
|
|
||||||
msgstr "gvim"
|
|
||||||
|
|
||||||
msgid "Vim"
|
msgid "Vim"
|
||||||
msgstr "Vim"
|
msgstr "Vim"
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user