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:
@@ -169,6 +169,7 @@ runtime/plugin/vimballPlugin.vim @cecamp
|
||||
runtime/plugin/zipPlugin.vim @cecamp
|
||||
runtime/syntax/aidl.vim @dpelle
|
||||
runtime/syntax/amiga.vim @cecamp
|
||||
runtime/syntax/arduino.vim @johshoff
|
||||
runtime/syntax/asm.vim @dkearns
|
||||
runtime/syntax/asmh8300.vim @dkearns
|
||||
runtime/syntax/asterisk.vim @jaunis
|
||||
|
||||
@@ -798,6 +798,7 @@ RT_SCRIPTS = \
|
||||
runtime/autoload/xml/*.vim \
|
||||
runtime/colors/*.vim \
|
||||
runtime/colors/README.txt \
|
||||
runtime/colors/lists/*.vim \
|
||||
runtime/colors/tools/*.vim \
|
||||
runtime/compiler/*.vim \
|
||||
runtime/compiler/README.txt \
|
||||
@@ -850,7 +851,6 @@ RT_AMI_DOS = \
|
||||
# DOS runtime (also in the extra archive)
|
||||
RT_DOS = \
|
||||
README_dos.txt \
|
||||
runtime/rgb.txt \
|
||||
vimtutor.bat \
|
||||
|
||||
# DOS runtime without CR-LF translation (also in the extra archive)
|
||||
|
||||
@@ -28,7 +28,6 @@ src/os_win32.* Files for the Win32 port.
|
||||
src/gui_w32.* Files for the Win32 GUI.
|
||||
src/gui_w48.* Files for the Win32 and Win16 GUI.
|
||||
src/Make_mvc.mak MS Visual C++ makefile for the Win32 GUI.
|
||||
runtime/rgb.txt File with color definitions for the Win32 GUI.
|
||||
|
||||
src/if_ole.* OLE automation interface, for MS Windows 95 and NT.
|
||||
|
||||
|
||||
+2
-1
@@ -357,7 +357,6 @@ Section "$(str_section_exe)" id_section_exe
|
||||
File ..\README.txt
|
||||
File ..\uninstall.txt
|
||||
File ${VIMRT}\*.vim
|
||||
File ${VIMRT}\rgb.txt
|
||||
|
||||
File ${VIMTOOLS}\diff.exe
|
||||
File ${VIMTOOLS}\winpty${BIT}.dll
|
||||
@@ -367,6 +366,8 @@ Section "$(str_section_exe)" id_section_exe
|
||||
File ${VIMRT}\colors\*.*
|
||||
SetOutPath $0\colors\tools
|
||||
File ${VIMRT}\colors\tools\*.*
|
||||
SetOutPath $0\colors\lists
|
||||
File ${VIMRT}\colors\lists\*.*
|
||||
|
||||
SetOutPath $0\compiler
|
||||
File ${VIMRT}\compiler\*.*
|
||||
|
||||
@@ -87,4 +87,5 @@ please check the following items:
|
||||
- In the GUI, is it easy to find the cursor, also in a file with lots of
|
||||
syntax highlighting?
|
||||
- Do not use hard coded escape sequences, these will not work in other
|
||||
terminals. Always use color names or #RRGGBB for the GUI.
|
||||
terminals. Always use color names or #RRGGBB for the GUI. See v:colornames
|
||||
for details on how to define your own color names.
|
||||
|
||||
@@ -0,0 +1,166 @@
|
||||
" Maintainer: Drew Vogel <dvogel@sidejump.org>
|
||||
" Last Change: 2021 Jul 25
|
||||
|
||||
" Similar in spirit to rgb.txt, this plugin establishes a human-friendly name
|
||||
" for every color listed in the CSS standard:
|
||||
"
|
||||
" https://www.w3.org/TR/css-color-3/
|
||||
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
call extend(v:colornames, {
|
||||
\ 'css_black': '#000000',
|
||||
\ 'css_silver': '#c0c0c0',
|
||||
\ 'css_gray': '#808080',
|
||||
\ 'css_white': '#FFFFFF',
|
||||
\ 'css_maroon': '#800000',
|
||||
\ 'css_red': '#FF0000',
|
||||
\ 'css_purple': '#800080',
|
||||
\ 'css_fuchsia': '#FF00FF',
|
||||
\ 'css_green': '#008000',
|
||||
\ 'css_lime': '#00FF00',
|
||||
\ 'css_olive': '#808000',
|
||||
\ 'css_yellow': '#FFFF00',
|
||||
\ 'css_navy': '#000080',
|
||||
\ 'css_blue': '#0000FF',
|
||||
\ 'css_teal': '#008080',
|
||||
\ 'css_aqua': '#00FFFF',
|
||||
\
|
||||
\ 'css_aliceblue': '#f0f8ff',
|
||||
\ 'css_antiquewhite': '#faebd7',
|
||||
\ 'css_aquamarine': '#7fffd4',
|
||||
\ 'css_azure': '#f0ffff',
|
||||
\ 'css_beige': '#f5f5dc',
|
||||
\ 'css_bisque': '#ffe4c4',
|
||||
\ 'css_blanchedalmond': '#ffebcd',
|
||||
\ 'css_blueviolet': '#8a2be2',
|
||||
\ 'css_brown': '#a52a2a',
|
||||
\ 'css_burlywood': '#deb887',
|
||||
\ 'css_cadetblue': '#5f9ea0',
|
||||
\ 'css_chartreuse': '#7fff00',
|
||||
\ 'css_chocolate': '#d2691e',
|
||||
\ 'css_coral': '#ff7f50',
|
||||
\ 'css_cornflowerblue': '#6495ed',
|
||||
\ 'css_cornsilk': '#fff8dc',
|
||||
\ 'css_crimson': '#dc143c',
|
||||
\ 'css_cyan': '#00ffff',
|
||||
\ 'css_darkblue': '#00008b',
|
||||
\ 'css_darkcyan': '#008b8b',
|
||||
\ 'css_darkgoldenrod': '#b8860b',
|
||||
\ 'css_darkgray': '#a9a9a9',
|
||||
\ 'css_darkgreen': '#006400',
|
||||
\ 'css_darkgrey': '#a9a9a9',
|
||||
\ 'css_darkkhaki': '#bdb76b',
|
||||
\ 'css_darkmagenta': '#8b008b',
|
||||
\ 'css_darkolivegreen': '#556b2f',
|
||||
\ 'css_darkorange': '#ff8c00',
|
||||
\ 'css_darkorchid': '#9932cc',
|
||||
\ 'css_darkred': '#8b0000',
|
||||
\ 'css_darksalmon': '#e9967a',
|
||||
\ 'css_darkseagreen': '#8fbc8f',
|
||||
\ 'css_darkslateblue': '#483d8b',
|
||||
\ 'css_darkslategray': '#2f4f4f',
|
||||
\ 'css_darkslategrey': '#2f4f4f',
|
||||
\ 'css_darkturquoise': '#00ced1',
|
||||
\ 'css_darkviolet': '#9400d3',
|
||||
\ 'css_deeppink': '#ff1493',
|
||||
\ 'css_deepskyblue': '#00bfff',
|
||||
\ 'css_dimgray': '#696969',
|
||||
\ 'css_dimgrey': '#696969',
|
||||
\ 'css_dodgerblue': '#1e90ff',
|
||||
\ 'css_firebrick': '#b22222',
|
||||
\ 'css_floralwhite': '#fffaf0',
|
||||
\ 'css_forestgreen': '#228b22',
|
||||
\ 'css_gainsboro': '#dcdcdc',
|
||||
\ 'css_ghostwhite': '#f8f8ff',
|
||||
\ 'css_gold': '#ffd700',
|
||||
\ 'css_goldenrod': '#daa520',
|
||||
\ 'css_greenyellow': '#adff2f',
|
||||
\ 'css_grey': '#808080',
|
||||
\ 'css_honeydew': '#f0fff0',
|
||||
\ 'css_hotpink': '#ff69b4',
|
||||
\ 'css_indianred': '#cd5c5c',
|
||||
\ 'css_indigo': '#4b0082',
|
||||
\ 'css_ivory': '#fffff0',
|
||||
\ 'css_khaki': '#f0e68c',
|
||||
\ 'css_lavender': '#e6e6fa',
|
||||
\ 'css_lavenderblush': '#fff0f5',
|
||||
\ 'css_lawngreen': '#7cfc00',
|
||||
\ 'css_lemonchiffon': '#fffacd',
|
||||
\ 'css_lightblue': '#add8e6',
|
||||
\ 'css_lightcoral': '#f08080',
|
||||
\ 'css_lightcyan': '#e0ffff',
|
||||
\ 'css_lightgoldenrodyellow': '#fafad2',
|
||||
\ 'css_lightgray': '#d3d3d3',
|
||||
\ 'css_lightgreen': '#90ee90',
|
||||
\ 'css_lightgrey': '#d3d3d3',
|
||||
\ 'css_lightpink': '#ffb6c1',
|
||||
\ 'css_lightsalmon': '#ffa07a',
|
||||
\ 'css_lightseagreen': '#20b2aa',
|
||||
\ 'css_lightskyblue': '#87cefa',
|
||||
\ 'css_lightslategray': '#778899',
|
||||
\ 'css_lightslategrey': '#778899',
|
||||
\ 'css_lightsteelblue': '#b0c4de',
|
||||
\ 'css_lightyellow': '#ffffe0',
|
||||
\ 'css_limegreen': '#32cd32',
|
||||
\ 'css_linen': '#faf0e6',
|
||||
\ 'css_magenta': '#ff00ff',
|
||||
\ 'css_mediumaquamarine': '#66cdaa',
|
||||
\ 'css_mediumblue': '#0000cd',
|
||||
\ 'css_mediumorchid': '#ba55d3',
|
||||
\ 'css_mediumpurple': '#9370db',
|
||||
\ 'css_mediumseagreen': '#3cb371',
|
||||
\ 'css_mediumslateblue': '#7b68ee',
|
||||
\ 'css_mediumspringgreen': '#00fa9a',
|
||||
\ 'css_mediumturquoise': '#48d1cc',
|
||||
\ 'css_mediumvioletred': '#c71585',
|
||||
\ 'css_midnightblue': '#191970',
|
||||
\ 'css_mintcream': '#f5fffa',
|
||||
\ 'css_mistyrose': '#ffe4e1',
|
||||
\ 'css_moccasin': '#ffe4b5',
|
||||
\ 'css_navajowhite': '#ffdead',
|
||||
\ 'css_oldlace': '#fdf5e6',
|
||||
\ 'css_olivedrab': '#6b8e23',
|
||||
\ 'css_orange': '#ffa500',
|
||||
\ 'css_orangered': '#ff4500',
|
||||
\ 'css_orchid': '#da70d6',
|
||||
\ 'css_palegoldenrod': '#eee8aa',
|
||||
\ 'css_palegreen': '#98fb98',
|
||||
\ 'css_paleturquoise': '#afeeee',
|
||||
\ 'css_palevioletred': '#db7093',
|
||||
\ 'css_papayawhip': '#ffefd5',
|
||||
\ 'css_peachpuff': '#ffdab9',
|
||||
\ 'css_peru': '#cd853f',
|
||||
\ 'css_pink': '#ffc0cb',
|
||||
\ 'css_plum': '#dda0dd',
|
||||
\ 'css_powderblue': '#b0e0e6',
|
||||
\ 'css_rosybrown': '#bc8f8f',
|
||||
\ 'css_royalblue': '#4169e1',
|
||||
\ 'css_saddlebrown': '#8b4513',
|
||||
\ 'css_salmon': '#fa8072',
|
||||
\ 'css_sandybrown': '#f4a460',
|
||||
\ 'css_seagreen': '#2e8b57',
|
||||
\ 'css_seashell': '#fff5ee',
|
||||
\ 'css_sienna': '#a0522d',
|
||||
\ 'css_skyblue': '#87ceeb',
|
||||
\ 'css_slateblue': '#6a5acd',
|
||||
\ 'css_slategray': '#708090',
|
||||
\ 'css_slategrey': '#708090',
|
||||
\ 'css_snow': '#fffafa',
|
||||
\ 'css_springgreen': '#00ff7f',
|
||||
\ 'css_steelblue': '#4682b4',
|
||||
\ 'css_tan': '#d2b48c',
|
||||
\ 'css_thistle': '#d8bfd8',
|
||||
\ 'css_tomato': '#ff6347',
|
||||
\ 'css_turquoise': '#40e0d0',
|
||||
\ 'css_violet': '#ee82ee',
|
||||
\ 'css_wheat': '#f5deb3',
|
||||
\ 'css_whitesmoke': '#f5f5f5',
|
||||
\ 'css_yellowgreen': '#9acd32',
|
||||
\ }, 'keep')
|
||||
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
"vim: sw=4
|
||||
@@ -0,0 +1,801 @@
|
||||
" Maintainer: Drew Vogel <dvogel@sidejump.org>
|
||||
" Last Change: 2021 Jul 25
|
||||
"
|
||||
" Replaced rgb.txt as the source of de facto standard color names. This is
|
||||
" sourced each time the colorscheme command is run. It is also sourced each
|
||||
" time the highlight command fails to recognize a gui color. You can override
|
||||
" these colors by introducing a new colors/lists/default.vim file earlier in
|
||||
" the runtimepath.
|
||||
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
call extend(v:colornames, {
|
||||
\ 'snow': '#fffafa',
|
||||
\ 'ghost white': '#f8f8ff',
|
||||
\ 'ghostwhite': '#f8f8ff',
|
||||
\ 'white smoke': '#f5f5f5',
|
||||
\ 'whitesmoke': '#f5f5f5',
|
||||
\ 'gainsboro': '#dcdcdc',
|
||||
\ 'floral white': '#fffaf0',
|
||||
\ 'floralwhite': '#fffaf0',
|
||||
\ 'old lace': '#fdf5e6',
|
||||
\ 'oldlace': '#fdf5e6',
|
||||
\ 'linen': '#faf0e6',
|
||||
\ 'antique white': '#faebd7',
|
||||
\ 'antiquewhite': '#faebd7',
|
||||
\ 'papaya whip': '#ffefd5',
|
||||
\ 'papayawhip': '#ffefd5',
|
||||
\ 'blanched almond': '#ffebcd',
|
||||
\ 'blanchedalmond': '#ffebcd',
|
||||
\ 'bisque': '#ffe4c4',
|
||||
\ 'peach puff': '#ffdab9',
|
||||
\ 'peachpuff': '#ffdab9',
|
||||
\ 'navajo white': '#ffdead',
|
||||
\ 'navajowhite': '#ffdead',
|
||||
\ 'moccasin': '#ffe4b5',
|
||||
\ 'cornsilk': '#fff8dc',
|
||||
\ 'ivory': '#fffff0',
|
||||
\ 'lemon chiffon': '#fffacd',
|
||||
\ 'lemonchiffon': '#fffacd',
|
||||
\ 'seashell': '#fff5ee',
|
||||
\ 'honeydew': '#f0fff0',
|
||||
\ 'mint cream': '#f5fffa',
|
||||
\ 'mintcream': '#f5fffa',
|
||||
\ 'azure': '#f0ffff',
|
||||
\ 'alice blue': '#f0f8ff',
|
||||
\ 'aliceblue': '#f0f8ff',
|
||||
\ 'lavender': '#e6e6fa',
|
||||
\ 'lavender blush': '#fff0f5',
|
||||
\ 'lavenderblush': '#fff0f5',
|
||||
\ 'misty rose': '#ffe4e1',
|
||||
\ 'mistyrose': '#ffe4e1',
|
||||
\ 'white': '#ffffff',
|
||||
\ 'black': '#000000',
|
||||
\ 'dark slate gray': '#2f4f4f',
|
||||
\ 'darkslategray': '#2f4f4f',
|
||||
\ 'dark slate grey': '#2f4f4f',
|
||||
\ 'darkslategrey': '#2f4f4f',
|
||||
\ 'dim gray': '#696969',
|
||||
\ 'dimgray': '#696969',
|
||||
\ 'dim grey': '#696969',
|
||||
\ 'dimgrey': '#696969',
|
||||
\ 'slate gray': '#708090',
|
||||
\ 'slategray': '#708090',
|
||||
\ 'slate grey': '#708090',
|
||||
\ 'slategrey': '#708090',
|
||||
\ 'light slate gray': '#778899',
|
||||
\ 'lightslategray': '#778899',
|
||||
\ 'light slate grey': '#778899',
|
||||
\ 'lightslategrey': '#778899',
|
||||
\ 'gray': '#bebebe',
|
||||
\ 'grey': '#bebebe',
|
||||
\ 'x11 gray': '#bebebe',
|
||||
\ 'x11gray': '#bebebe',
|
||||
\ 'x11 grey': '#bebebe',
|
||||
\ 'x11grey': '#bebebe',
|
||||
\ 'web gray': '#808080',
|
||||
\ 'webgray': '#808080',
|
||||
\ 'web grey': '#808080',
|
||||
\ 'webgrey': '#808080',
|
||||
\ 'light grey': '#d3d3d3',
|
||||
\ 'lightgrey': '#d3d3d3',
|
||||
\ 'light gray': '#d3d3d3',
|
||||
\ 'lightgray': '#d3d3d3',
|
||||
\ 'midnight blue': '#191970',
|
||||
\ 'midnightblue': '#191970',
|
||||
\ 'navy': '#000080',
|
||||
\ 'navy blue': '#000080',
|
||||
\ 'navyblue': '#000080',
|
||||
\ 'cornflower blue': '#6495ed',
|
||||
\ 'cornflowerblue': '#6495ed',
|
||||
\ 'dark slate blue': '#483d8b',
|
||||
\ 'darkslateblue': '#483d8b',
|
||||
\ 'slate blue': '#6a5acd',
|
||||
\ 'slateblue': '#6a5acd',
|
||||
\ 'medium slate blue': '#7b68ee',
|
||||
\ 'mediumslateblue': '#7b68ee',
|
||||
\ 'light slate blue': '#8470ff',
|
||||
\ 'lightslateblue': '#8470ff',
|
||||
\ 'medium blue': '#0000cd',
|
||||
\ 'mediumblue': '#0000cd',
|
||||
\ 'royal blue': '#4169e1',
|
||||
\ 'royalblue': '#4169e1',
|
||||
\ 'blue': '#0000ff',
|
||||
\ 'dodger blue': '#1e90ff',
|
||||
\ 'dodgerblue': '#1e90ff',
|
||||
\ 'deep sky blue': '#00bfff',
|
||||
\ 'deepskyblue': '#00bfff',
|
||||
\ 'sky blue': '#87ceeb',
|
||||
\ 'skyblue': '#87ceeb',
|
||||
\ 'light sky blue': '#87cefa',
|
||||
\ 'lightskyblue': '#87cefa',
|
||||
\ 'steel blue': '#4682b4',
|
||||
\ 'steelblue': '#4682b4',
|
||||
\ 'light steel blue': '#b0c4de',
|
||||
\ 'lightsteelblue': '#b0c4de',
|
||||
\ 'light blue': '#add8e6',
|
||||
\ 'lightblue': '#add8e6',
|
||||
\ 'powder blue': '#b0e0e6',
|
||||
\ 'powderblue': '#b0e0e6',
|
||||
\ 'pale turquoise': '#afeeee',
|
||||
\ 'paleturquoise': '#afeeee',
|
||||
\ 'dark turquoise': '#00ced1',
|
||||
\ 'darkturquoise': '#00ced1',
|
||||
\ 'medium turquoise': '#48d1cc',
|
||||
\ 'mediumturquoise': '#48d1cc',
|
||||
\ 'turquoise': '#40e0d0',
|
||||
\ 'cyan': '#00ffff',
|
||||
\ 'aqua': '#00ffff',
|
||||
\ 'light cyan': '#e0ffff',
|
||||
\ 'lightcyan': '#e0ffff',
|
||||
\ 'cadet blue': '#5f9ea0',
|
||||
\ 'cadetblue': '#5f9ea0',
|
||||
\ 'medium aquamarine': '#66cdaa',
|
||||
\ 'mediumaquamarine': '#66cdaa',
|
||||
\ 'aquamarine': '#7fffd4',
|
||||
\ 'dark green': '#006400',
|
||||
\ 'darkgreen': '#006400',
|
||||
\ 'dark olive green': '#556b2f',
|
||||
\ 'darkolivegreen': '#556b2f',
|
||||
\ 'dark sea green': '#8fbc8f',
|
||||
\ 'darkseagreen': '#8fbc8f',
|
||||
\ 'sea green': '#2e8b57',
|
||||
\ 'seagreen': '#2e8b57',
|
||||
\ 'medium sea green': '#3cb371',
|
||||
\ 'mediumseagreen': '#3cb371',
|
||||
\ 'light sea green': '#20b2aa',
|
||||
\ 'lightseagreen': '#20b2aa',
|
||||
\ 'pale green': '#98fb98',
|
||||
\ 'palegreen': '#98fb98',
|
||||
\ 'spring green': '#00ff7f',
|
||||
\ 'springgreen': '#00ff7f',
|
||||
\ 'lawn green': '#7cfc00',
|
||||
\ 'lawngreen': '#7cfc00',
|
||||
\ 'green': '#00ff00',
|
||||
\ 'lime': '#00ff00',
|
||||
\ 'x11 green': '#00ff00',
|
||||
\ 'x11green': '#00ff00',
|
||||
\ 'web green': '#008000',
|
||||
\ 'webgreen': '#008000',
|
||||
\ 'chartreuse': '#7fff00',
|
||||
\ 'medium spring green': '#00fa9a',
|
||||
\ 'mediumspringgreen': '#00fa9a',
|
||||
\ 'green yellow': '#adff2f',
|
||||
\ 'greenyellow': '#adff2f',
|
||||
\ 'lime green': '#32cd32',
|
||||
\ 'limegreen': '#32cd32',
|
||||
\ 'yellow green': '#9acd32',
|
||||
\ 'yellowgreen': '#9acd32',
|
||||
\ 'forest green': '#228b22',
|
||||
\ 'forestgreen': '#228b22',
|
||||
\ 'olive drab': '#6b8e23',
|
||||
\ 'olivedrab': '#6b8e23',
|
||||
\ 'dark khaki': '#bdb76b',
|
||||
\ 'darkkhaki': '#bdb76b',
|
||||
\ 'khaki': '#f0e68c',
|
||||
\ 'pale goldenrod': '#eee8aa',
|
||||
\ 'palegoldenrod': '#eee8aa',
|
||||
\ 'light goldenrod yellow': '#fafad2',
|
||||
\ 'lightgoldenrodyellow': '#fafad2',
|
||||
\ 'light yellow': '#ffffe0',
|
||||
\ 'lightyellow': '#ffffe0',
|
||||
\ 'yellow': '#ffff00',
|
||||
\ 'gold': '#ffd700',
|
||||
\ 'light goldenrod': '#eedd82',
|
||||
\ 'lightgoldenrod': '#eedd82',
|
||||
\ 'goldenrod': '#daa520',
|
||||
\ 'dark goldenrod': '#b8860b',
|
||||
\ 'darkgoldenrod': '#b8860b',
|
||||
\ 'rosy brown': '#bc8f8f',
|
||||
\ 'rosybrown': '#bc8f8f',
|
||||
\ 'indian red': '#cd5c5c',
|
||||
\ 'indianred': '#cd5c5c',
|
||||
\ 'saddle brown': '#8b4513',
|
||||
\ 'saddlebrown': '#8b4513',
|
||||
\ 'sienna': '#a0522d',
|
||||
\ 'peru': '#cd853f',
|
||||
\ 'burlywood': '#deb887',
|
||||
\ 'beige': '#f5f5dc',
|
||||
\ 'wheat': '#f5deb3',
|
||||
\ 'sandy brown': '#f4a460',
|
||||
\ 'sandybrown': '#f4a460',
|
||||
\ 'tan': '#d2b48c',
|
||||
\ 'chocolate': '#d2691e',
|
||||
\ 'firebrick': '#b22222',
|
||||
\ 'brown': '#a52a2a',
|
||||
\ 'dark salmon': '#e9967a',
|
||||
\ 'darksalmon': '#e9967a',
|
||||
\ 'salmon': '#fa8072',
|
||||
\ 'light salmon': '#ffa07a',
|
||||
\ 'lightsalmon': '#ffa07a',
|
||||
\ 'orange': '#ffa500',
|
||||
\ 'dark orange': '#ff8c00',
|
||||
\ 'darkorange': '#ff8c00',
|
||||
\ 'coral': '#ff7f50',
|
||||
\ 'light coral': '#f08080',
|
||||
\ 'lightcoral': '#f08080',
|
||||
\ 'tomato': '#ff6347',
|
||||
\ 'orange red': '#ff4500',
|
||||
\ 'orangered': '#ff4500',
|
||||
\ 'red': '#ff0000',
|
||||
\ 'hot pink': '#ff69b4',
|
||||
\ 'hotpink': '#ff69b4',
|
||||
\ 'deep pink': '#ff1493',
|
||||
\ 'deeppink': '#ff1493',
|
||||
\ 'pink': '#ffc0cb',
|
||||
\ 'light pink': '#ffb6c1',
|
||||
\ 'lightpink': '#ffb6c1',
|
||||
\ 'pale violet red': '#db7093',
|
||||
\ 'palevioletred': '#db7093',
|
||||
\ 'maroon': '#b03060',
|
||||
\ 'x11 maroon': '#b03060',
|
||||
\ 'x11maroon': '#b03060',
|
||||
\ 'web maroon': '#800000',
|
||||
\ 'webmaroon': '#800000',
|
||||
\ 'medium violet red': '#c71585',
|
||||
\ 'mediumvioletred': '#c71585',
|
||||
\ 'violet red': '#d02090',
|
||||
\ 'violetred': '#d02090',
|
||||
\ 'magenta': '#ff00ff',
|
||||
\ 'fuchsia': '#ff00ff',
|
||||
\ 'violet': '#ee82ee',
|
||||
\ 'plum': '#dda0dd',
|
||||
\ 'orchid': '#da70d6',
|
||||
\ 'medium orchid': '#ba55d3',
|
||||
\ 'mediumorchid': '#ba55d3',
|
||||
\ 'dark orchid': '#9932cc',
|
||||
\ 'darkorchid': '#9932cc',
|
||||
\ 'dark violet': '#9400d3',
|
||||
\ 'darkviolet': '#9400d3',
|
||||
\ 'blue violet': '#8a2be2',
|
||||
\ 'blueviolet': '#8a2be2',
|
||||
\ 'purple': '#a020f0',
|
||||
\ 'x11 purple': '#a020f0',
|
||||
\ 'x11purple': '#a020f0',
|
||||
\ 'web purple': '#800080',
|
||||
\ 'webpurple': '#800080',
|
||||
\ 'medium purple': '#9370db',
|
||||
\ 'mediumpurple': '#9370db',
|
||||
\ 'thistle': '#d8bfd8',
|
||||
\ 'snow1': '#fffafa',
|
||||
\ 'snow2': '#eee9e9',
|
||||
\ 'snow3': '#cdc9c9',
|
||||
\ 'snow4': '#8b8989',
|
||||
\ 'seashell1': '#fff5ee',
|
||||
\ 'seashell2': '#eee5de',
|
||||
\ 'seashell3': '#cdc5bf',
|
||||
\ 'seashell4': '#8b8682',
|
||||
\ 'antiquewhite1': '#ffefdb',
|
||||
\ 'antiquewhite2': '#eedfcc',
|
||||
\ 'antiquewhite3': '#cdc0b0',
|
||||
\ 'antiquewhite4': '#8b8378',
|
||||
\ 'bisque1': '#ffe4c4',
|
||||
\ 'bisque2': '#eed5b7',
|
||||
\ 'bisque3': '#cdb79e',
|
||||
\ 'bisque4': '#8b7d6b',
|
||||
\ 'peachpuff1': '#ffdab9',
|
||||
\ 'peachpuff2': '#eecbad',
|
||||
\ 'peachpuff3': '#cdaf95',
|
||||
\ 'peachpuff4': '#8b7765',
|
||||
\ 'navajowhite1': '#ffdead',
|
||||
\ 'navajowhite2': '#eecfa1',
|
||||
\ 'navajowhite3': '#cdb38b',
|
||||
\ 'navajowhite4': '#8b795e',
|
||||
\ 'lemonchiffon1': '#fffacd',
|
||||
\ 'lemonchiffon2': '#eee9bf',
|
||||
\ 'lemonchiffon3': '#cdc9a5',
|
||||
\ 'lemonchiffon4': '#8b8970',
|
||||
\ 'cornsilk1': '#fff8dc',
|
||||
\ 'cornsilk2': '#eee8cd',
|
||||
\ 'cornsilk3': '#cdc8b1',
|
||||
\ 'cornsilk4': '#8b8878',
|
||||
\ 'ivory1': '#fffff0',
|
||||
\ 'ivory2': '#eeeee0',
|
||||
\ 'ivory3': '#cdcdc1',
|
||||
\ 'ivory4': '#8b8b83',
|
||||
\ 'honeydew1': '#f0fff0',
|
||||
\ 'honeydew2': '#e0eee0',
|
||||
\ 'honeydew3': '#c1cdc1',
|
||||
\ 'honeydew4': '#838b83',
|
||||
\ 'lavenderblush1': '#fff0f5',
|
||||
\ 'lavenderblush2': '#eee0e5',
|
||||
\ 'lavenderblush3': '#cdc1c5',
|
||||
\ 'lavenderblush4': '#8b8386',
|
||||
\ 'mistyrose1': '#ffe4e1',
|
||||
\ 'mistyrose2': '#eed5d2',
|
||||
\ 'mistyrose3': '#cdb7b5',
|
||||
\ 'mistyrose4': '#8b7d7b',
|
||||
\ 'azure1': '#f0ffff',
|
||||
\ 'azure2': '#e0eeee',
|
||||
\ 'azure3': '#c1cdcd',
|
||||
\ 'azure4': '#838b8b',
|
||||
\ 'slateblue1': '#836fff',
|
||||
\ 'slateblue2': '#7a67ee',
|
||||
\ 'slateblue3': '#6959cd',
|
||||
\ 'slateblue4': '#473c8b',
|
||||
\ 'royalblue1': '#4876ff',
|
||||
\ 'royalblue2': '#436eee',
|
||||
\ 'royalblue3': '#3a5fcd',
|
||||
\ 'royalblue4': '#27408b',
|
||||
\ 'blue1': '#0000ff',
|
||||
\ 'blue2': '#0000ee',
|
||||
\ 'blue3': '#0000cd',
|
||||
\ 'blue4': '#00008b',
|
||||
\ 'dodgerblue1': '#1e90ff',
|
||||
\ 'dodgerblue2': '#1c86ee',
|
||||
\ 'dodgerblue3': '#1874cd',
|
||||
\ 'dodgerblue4': '#104e8b',
|
||||
\ 'steelblue1': '#63b8ff',
|
||||
\ 'steelblue2': '#5cacee',
|
||||
\ 'steelblue3': '#4f94cd',
|
||||
\ 'steelblue4': '#36648b',
|
||||
\ 'deepskyblue1': '#00bfff',
|
||||
\ 'deepskyblue2': '#00b2ee',
|
||||
\ 'deepskyblue3': '#009acd',
|
||||
\ 'deepskyblue4': '#00688b',
|
||||
\ 'skyblue1': '#87ceff',
|
||||
\ 'skyblue2': '#7ec0ee',
|
||||
\ 'skyblue3': '#6ca6cd',
|
||||
\ 'skyblue4': '#4a708b',
|
||||
\ 'lightskyblue1': '#b0e2ff',
|
||||
\ 'lightskyblue2': '#a4d3ee',
|
||||
\ 'lightskyblue3': '#8db6cd',
|
||||
\ 'lightskyblue4': '#607b8b',
|
||||
\ 'slategray1': '#c6e2ff',
|
||||
\ 'slategray2': '#b9d3ee',
|
||||
\ 'slategray3': '#9fb6cd',
|
||||
\ 'slategray4': '#6c7b8b',
|
||||
\ 'lightsteelblue1': '#cae1ff',
|
||||
\ 'lightsteelblue2': '#bcd2ee',
|
||||
\ 'lightsteelblue3': '#a2b5cd',
|
||||
\ 'lightsteelblue4': '#6e7b8b',
|
||||
\ 'lightblue1': '#bfefff',
|
||||
\ 'lightblue2': '#b2dfee',
|
||||
\ 'lightblue3': '#9ac0cd',
|
||||
\ 'lightblue4': '#68838b',
|
||||
\ 'lightcyan1': '#e0ffff',
|
||||
\ 'lightcyan2': '#d1eeee',
|
||||
\ 'lightcyan3': '#b4cdcd',
|
||||
\ 'lightcyan4': '#7a8b8b',
|
||||
\ 'paleturquoise1': '#bbffff',
|
||||
\ 'paleturquoise2': '#aeeeee',
|
||||
\ 'paleturquoise3': '#96cdcd',
|
||||
\ 'paleturquoise4': '#668b8b',
|
||||
\ 'cadetblue1': '#98f5ff',
|
||||
\ 'cadetblue2': '#8ee5ee',
|
||||
\ 'cadetblue3': '#7ac5cd',
|
||||
\ 'cadetblue4': '#53868b',
|
||||
\ 'turquoise1': '#00f5ff',
|
||||
\ 'turquoise2': '#00e5ee',
|
||||
\ 'turquoise3': '#00c5cd',
|
||||
\ 'turquoise4': '#00868b',
|
||||
\ 'cyan1': '#00ffff',
|
||||
\ 'cyan2': '#00eeee',
|
||||
\ 'cyan3': '#00cdcd',
|
||||
\ 'cyan4': '#008b8b',
|
||||
\ 'darkslategray1': '#97ffff',
|
||||
\ 'darkslategray2': '#8deeee',
|
||||
\ 'darkslategray3': '#79cdcd',
|
||||
\ 'darkslategray4': '#528b8b',
|
||||
\ 'aquamarine1': '#7fffd4',
|
||||
\ 'aquamarine2': '#76eec6',
|
||||
\ 'aquamarine3': '#66cdaa',
|
||||
\ 'aquamarine4': '#458b74',
|
||||
\ 'darkseagreen1': '#c1ffc1',
|
||||
\ 'darkseagreen2': '#b4eeb4',
|
||||
\ 'darkseagreen3': '#9bcd9b',
|
||||
\ 'darkseagreen4': '#698b69',
|
||||
\ 'seagreen1': '#54ff9f',
|
||||
\ 'seagreen2': '#4eee94',
|
||||
\ 'seagreen3': '#43cd80',
|
||||
\ 'seagreen4': '#2e8b57',
|
||||
\ 'palegreen1': '#9aff9a',
|
||||
\ 'palegreen2': '#90ee90',
|
||||
\ 'palegreen3': '#7ccd7c',
|
||||
\ 'palegreen4': '#548b54',
|
||||
\ 'springgreen1': '#00ff7f',
|
||||
\ 'springgreen2': '#00ee76',
|
||||
\ 'springgreen3': '#00cd66',
|
||||
\ 'springgreen4': '#008b45',
|
||||
\ 'green1': '#00ff00',
|
||||
\ 'green2': '#00ee00',
|
||||
\ 'green3': '#00cd00',
|
||||
\ 'green4': '#008b00',
|
||||
\ 'chartreuse1': '#7fff00',
|
||||
\ 'chartreuse2': '#76ee00',
|
||||
\ 'chartreuse3': '#66cd00',
|
||||
\ 'chartreuse4': '#458b00',
|
||||
\ 'olivedrab1': '#c0ff3e',
|
||||
\ 'olivedrab2': '#b3ee3a',
|
||||
\ 'olivedrab3': '#9acd32',
|
||||
\ 'olivedrab4': '#698b22',
|
||||
\ 'darkolivegreen1': '#caff70',
|
||||
\ 'darkolivegreen2': '#bcee68',
|
||||
\ 'darkolivegreen3': '#a2cd5a',
|
||||
\ 'darkolivegreen4': '#6e8b3d',
|
||||
\ 'khaki1': '#fff68f',
|
||||
\ 'khaki2': '#eee685',
|
||||
\ 'khaki3': '#cdc673',
|
||||
\ 'khaki4': '#8b864e',
|
||||
\ 'lightgoldenrod1': '#ffec8b',
|
||||
\ 'lightgoldenrod2': '#eedc82',
|
||||
\ 'lightgoldenrod3': '#cdbe70',
|
||||
\ 'lightgoldenrod4': '#8b814c',
|
||||
\ 'lightyellow1': '#ffffe0',
|
||||
\ 'lightyellow2': '#eeeed1',
|
||||
\ 'lightyellow3': '#cdcdb4',
|
||||
\ 'lightyellow4': '#8b8b7a',
|
||||
\ 'yellow1': '#ffff00',
|
||||
\ 'yellow2': '#eeee00',
|
||||
\ 'yellow3': '#cdcd00',
|
||||
\ 'yellow4': '#8b8b00',
|
||||
\ 'gold1': '#ffd700',
|
||||
\ 'gold2': '#eec900',
|
||||
\ 'gold3': '#cdad00',
|
||||
\ 'gold4': '#8b7500',
|
||||
\ 'goldenrod1': '#ffc125',
|
||||
\ 'goldenrod2': '#eeb422',
|
||||
\ 'goldenrod3': '#cd9b1d',
|
||||
\ 'goldenrod4': '#8b6914',
|
||||
\ 'darkgoldenrod1': '#ffb90f',
|
||||
\ 'darkgoldenrod2': '#eead0e',
|
||||
\ 'darkgoldenrod3': '#cd950c',
|
||||
\ 'darkgoldenrod4': '#8b6508',
|
||||
\ 'rosybrown1': '#ffc1c1',
|
||||
\ 'rosybrown2': '#eeb4b4',
|
||||
\ 'rosybrown3': '#cd9b9b',
|
||||
\ 'rosybrown4': '#8b6969',
|
||||
\ 'indianred1': '#ff6a6a',
|
||||
\ 'indianred2': '#ee6363',
|
||||
\ 'indianred3': '#cd5555',
|
||||
\ 'indianred4': '#8b3a3a',
|
||||
\ 'sienna1': '#ff8247',
|
||||
\ 'sienna2': '#ee7942',
|
||||
\ 'sienna3': '#cd6839',
|
||||
\ 'sienna4': '#8b4726',
|
||||
\ 'burlywood1': '#ffd39b',
|
||||
\ 'burlywood2': '#eec591',
|
||||
\ 'burlywood3': '#cdaa7d',
|
||||
\ 'burlywood4': '#8b7355',
|
||||
\ 'wheat1': '#ffe7ba',
|
||||
\ 'wheat2': '#eed8ae',
|
||||
\ 'wheat3': '#cdba96',
|
||||
\ 'wheat4': '#8b7e66',
|
||||
\ 'tan1': '#ffa54f',
|
||||
\ 'tan2': '#ee9a49',
|
||||
\ 'tan3': '#cd853f',
|
||||
\ 'tan4': '#8b5a2b',
|
||||
\ 'chocolate1': '#ff7f24',
|
||||
\ 'chocolate2': '#ee7621',
|
||||
\ 'chocolate3': '#cd661d',
|
||||
\ 'chocolate4': '#8b4513',
|
||||
\ 'firebrick1': '#ff3030',
|
||||
\ 'firebrick2': '#ee2c2c',
|
||||
\ 'firebrick3': '#cd2626',
|
||||
\ 'firebrick4': '#8b1a1a',
|
||||
\ 'brown1': '#ff4040',
|
||||
\ 'brown2': '#ee3b3b',
|
||||
\ 'brown3': '#cd3333',
|
||||
\ 'brown4': '#8b2323',
|
||||
\ 'salmon1': '#ff8c69',
|
||||
\ 'salmon2': '#ee8262',
|
||||
\ 'salmon3': '#cd7054',
|
||||
\ 'salmon4': '#8b4c39',
|
||||
\ 'lightsalmon1': '#ffa07a',
|
||||
\ 'lightsalmon2': '#ee9572',
|
||||
\ 'lightsalmon3': '#cd8162',
|
||||
\ 'lightsalmon4': '#8b5742',
|
||||
\ 'orange1': '#ffa500',
|
||||
\ 'orange2': '#ee9a00',
|
||||
\ 'orange3': '#cd8500',
|
||||
\ 'orange4': '#8b5a00',
|
||||
\ 'darkorange1': '#ff7f00',
|
||||
\ 'darkorange2': '#ee7600',
|
||||
\ 'darkorange3': '#cd6600',
|
||||
\ 'darkorange4': '#8b4500',
|
||||
\ 'coral1': '#ff7256',
|
||||
\ 'coral2': '#ee6a50',
|
||||
\ 'coral3': '#cd5b45',
|
||||
\ 'coral4': '#8b3e2f',
|
||||
\ 'tomato1': '#ff6347',
|
||||
\ 'tomato2': '#ee5c42',
|
||||
\ 'tomato3': '#cd4f39',
|
||||
\ 'tomato4': '#8b3626',
|
||||
\ 'orangered1': '#ff4500',
|
||||
\ 'orangered2': '#ee4000',
|
||||
\ 'orangered3': '#cd3700',
|
||||
\ 'orangered4': '#8b2500',
|
||||
\ 'red1': '#ff0000',
|
||||
\ 'red2': '#ee0000',
|
||||
\ 'red3': '#cd0000',
|
||||
\ 'red4': '#8b0000',
|
||||
\ 'deeppink1': '#ff1493',
|
||||
\ 'deeppink2': '#ee1289',
|
||||
\ 'deeppink3': '#cd1076',
|
||||
\ 'deeppink4': '#8b0a50',
|
||||
\ 'hotpink1': '#ff6eb4',
|
||||
\ 'hotpink2': '#ee6aa7',
|
||||
\ 'hotpink3': '#cd6090',
|
||||
\ 'hotpink4': '#8b3a62',
|
||||
\ 'pink1': '#ffb5c5',
|
||||
\ 'pink2': '#eea9b8',
|
||||
\ 'pink3': '#cd919e',
|
||||
\ 'pink4': '#8b636c',
|
||||
\ 'lightpink1': '#ffaeb9',
|
||||
\ 'lightpink2': '#eea2ad',
|
||||
\ 'lightpink3': '#cd8c95',
|
||||
\ 'lightpink4': '#8b5f65',
|
||||
\ 'palevioletred1': '#ff82ab',
|
||||
\ 'palevioletred2': '#ee799f',
|
||||
\ 'palevioletred3': '#cd6889',
|
||||
\ 'palevioletred4': '#8b475d',
|
||||
\ 'maroon1': '#ff34b3',
|
||||
\ 'maroon2': '#ee30a7',
|
||||
\ 'maroon3': '#cd2990',
|
||||
\ 'maroon4': '#8b1c62',
|
||||
\ 'violetred1': '#ff3e96',
|
||||
\ 'violetred2': '#ee3a8c',
|
||||
\ 'violetred3': '#cd3278',
|
||||
\ 'violetred4': '#8b2252',
|
||||
\ 'magenta1': '#ff00ff',
|
||||
\ 'magenta2': '#ee00ee',
|
||||
\ 'magenta3': '#cd00cd',
|
||||
\ 'magenta4': '#8b008b',
|
||||
\ 'orchid1': '#ff83fa',
|
||||
\ 'orchid2': '#ee7ae9',
|
||||
\ 'orchid3': '#cd69c9',
|
||||
\ 'orchid4': '#8b4789',
|
||||
\ 'plum1': '#ffbbff',
|
||||
\ 'plum2': '#eeaeee',
|
||||
\ 'plum3': '#cd96cd',
|
||||
\ 'plum4': '#8b668b',
|
||||
\ 'mediumorchid1': '#e066ff',
|
||||
\ 'mediumorchid2': '#d15fee',
|
||||
\ 'mediumorchid3': '#b452cd',
|
||||
\ 'mediumorchid4': '#7a378b',
|
||||
\ 'darkorchid1': '#bf3eff',
|
||||
\ 'darkorchid2': '#b23aee',
|
||||
\ 'darkorchid3': '#9a32cd',
|
||||
\ 'darkorchid4': '#68228b',
|
||||
\ 'purple1': '#9b30ff',
|
||||
\ 'purple2': '#912cee',
|
||||
\ 'purple3': '#7d26cd',
|
||||
\ 'purple4': '#551a8b',
|
||||
\ 'mediumpurple1': '#ab82ff',
|
||||
\ 'mediumpurple2': '#9f79ee',
|
||||
\ 'mediumpurple3': '#8968cd',
|
||||
\ 'mediumpurple4': '#5d478b',
|
||||
\ 'thistle1': '#ffe1ff',
|
||||
\ 'thistle2': '#eed2ee',
|
||||
\ 'thistle3': '#cdb5cd',
|
||||
\ 'thistle4': '#8b7b8b',
|
||||
\ 'gray0': '#000000',
|
||||
\ 'grey0': '#000000',
|
||||
\ 'gray1': '#030303',
|
||||
\ 'grey1': '#030303',
|
||||
\ 'gray2': '#050505',
|
||||
\ 'grey2': '#050505',
|
||||
\ 'gray3': '#080808',
|
||||
\ 'grey3': '#080808',
|
||||
\ 'gray4': '#0a0a0a',
|
||||
\ 'grey4': '#0a0a0a',
|
||||
\ 'gray5': '#0d0d0d',
|
||||
\ 'grey5': '#0d0d0d',
|
||||
\ 'gray6': '#0f0f0f',
|
||||
\ 'grey6': '#0f0f0f',
|
||||
\ 'gray7': '#121212',
|
||||
\ 'grey7': '#121212',
|
||||
\ 'gray8': '#141414',
|
||||
\ 'grey8': '#141414',
|
||||
\ 'gray9': '#171717',
|
||||
\ 'grey9': '#171717',
|
||||
\ 'gray10': '#1a1a1a',
|
||||
\ 'grey10': '#1a1a1a',
|
||||
\ 'gray11': '#1c1c1c',
|
||||
\ 'grey11': '#1c1c1c',
|
||||
\ 'gray12': '#1f1f1f',
|
||||
\ 'grey12': '#1f1f1f',
|
||||
\ 'gray13': '#212121',
|
||||
\ 'grey13': '#212121',
|
||||
\ 'gray14': '#242424',
|
||||
\ 'grey14': '#242424',
|
||||
\ 'gray15': '#262626',
|
||||
\ 'grey15': '#262626',
|
||||
\ 'gray16': '#292929',
|
||||
\ 'grey16': '#292929',
|
||||
\ 'gray17': '#2b2b2b',
|
||||
\ 'grey17': '#2b2b2b',
|
||||
\ 'gray18': '#2e2e2e',
|
||||
\ 'grey18': '#2e2e2e',
|
||||
\ 'gray19': '#303030',
|
||||
\ 'grey19': '#303030',
|
||||
\ 'gray20': '#333333',
|
||||
\ 'grey20': '#333333',
|
||||
\ 'gray21': '#363636',
|
||||
\ 'grey21': '#363636',
|
||||
\ 'gray22': '#383838',
|
||||
\ 'grey22': '#383838',
|
||||
\ 'gray23': '#3b3b3b',
|
||||
\ 'grey23': '#3b3b3b',
|
||||
\ 'gray24': '#3d3d3d',
|
||||
\ 'grey24': '#3d3d3d',
|
||||
\ 'gray25': '#404040',
|
||||
\ 'grey25': '#404040',
|
||||
\ 'gray26': '#424242',
|
||||
\ 'grey26': '#424242',
|
||||
\ 'gray27': '#454545',
|
||||
\ 'grey27': '#454545',
|
||||
\ 'gray28': '#474747',
|
||||
\ 'grey28': '#474747',
|
||||
\ 'gray29': '#4a4a4a',
|
||||
\ 'grey29': '#4a4a4a',
|
||||
\ 'gray30': '#4d4d4d',
|
||||
\ 'grey30': '#4d4d4d',
|
||||
\ 'gray31': '#4f4f4f',
|
||||
\ 'grey31': '#4f4f4f',
|
||||
\ 'gray32': '#525252',
|
||||
\ 'grey32': '#525252',
|
||||
\ 'gray33': '#545454',
|
||||
\ 'grey33': '#545454',
|
||||
\ 'gray34': '#575757',
|
||||
\ 'grey34': '#575757',
|
||||
\ 'gray35': '#595959',
|
||||
\ 'grey35': '#595959',
|
||||
\ 'gray36': '#5c5c5c',
|
||||
\ 'grey36': '#5c5c5c',
|
||||
\ 'gray37': '#5e5e5e',
|
||||
\ 'grey37': '#5e5e5e',
|
||||
\ 'gray38': '#616161',
|
||||
\ 'grey38': '#616161',
|
||||
\ 'gray39': '#636363',
|
||||
\ 'grey39': '#636363',
|
||||
\ 'gray40': '#666666',
|
||||
\ 'grey40': '#666666',
|
||||
\ 'gray41': '#696969',
|
||||
\ 'grey41': '#696969',
|
||||
\ 'gray42': '#6b6b6b',
|
||||
\ 'grey42': '#6b6b6b',
|
||||
\ 'gray43': '#6e6e6e',
|
||||
\ 'grey43': '#6e6e6e',
|
||||
\ 'gray44': '#707070',
|
||||
\ 'grey44': '#707070',
|
||||
\ 'gray45': '#737373',
|
||||
\ 'grey45': '#737373',
|
||||
\ 'gray46': '#757575',
|
||||
\ 'grey46': '#757575',
|
||||
\ 'gray47': '#787878',
|
||||
\ 'grey47': '#787878',
|
||||
\ 'gray48': '#7a7a7a',
|
||||
\ 'grey48': '#7a7a7a',
|
||||
\ 'gray49': '#7d7d7d',
|
||||
\ 'grey49': '#7d7d7d',
|
||||
\ 'gray50': '#7f7f7f',
|
||||
\ 'grey50': '#7f7f7f',
|
||||
\ 'gray51': '#828282',
|
||||
\ 'grey51': '#828282',
|
||||
\ 'gray52': '#858585',
|
||||
\ 'grey52': '#858585',
|
||||
\ 'gray53': '#878787',
|
||||
\ 'grey53': '#878787',
|
||||
\ 'gray54': '#8a8a8a',
|
||||
\ 'grey54': '#8a8a8a',
|
||||
\ 'gray55': '#8c8c8c',
|
||||
\ 'grey55': '#8c8c8c',
|
||||
\ 'gray56': '#8f8f8f',
|
||||
\ 'grey56': '#8f8f8f',
|
||||
\ 'gray57': '#919191',
|
||||
\ 'grey57': '#919191',
|
||||
\ 'gray58': '#949494',
|
||||
\ 'grey58': '#949494',
|
||||
\ 'gray59': '#969696',
|
||||
\ 'grey59': '#969696',
|
||||
\ 'gray60': '#999999',
|
||||
\ 'grey60': '#999999',
|
||||
\ 'gray61': '#9c9c9c',
|
||||
\ 'grey61': '#9c9c9c',
|
||||
\ 'gray62': '#9e9e9e',
|
||||
\ 'grey62': '#9e9e9e',
|
||||
\ 'gray63': '#a1a1a1',
|
||||
\ 'grey63': '#a1a1a1',
|
||||
\ 'gray64': '#a3a3a3',
|
||||
\ 'grey64': '#a3a3a3',
|
||||
\ 'gray65': '#a6a6a6',
|
||||
\ 'grey65': '#a6a6a6',
|
||||
\ 'gray66': '#a8a8a8',
|
||||
\ 'grey66': '#a8a8a8',
|
||||
\ 'gray67': '#ababab',
|
||||
\ 'grey67': '#ababab',
|
||||
\ 'gray68': '#adadad',
|
||||
\ 'grey68': '#adadad',
|
||||
\ 'gray69': '#b0b0b0',
|
||||
\ 'grey69': '#b0b0b0',
|
||||
\ 'gray70': '#b3b3b3',
|
||||
\ 'grey70': '#b3b3b3',
|
||||
\ 'gray71': '#b5b5b5',
|
||||
\ 'grey71': '#b5b5b5',
|
||||
\ 'gray72': '#b8b8b8',
|
||||
\ 'grey72': '#b8b8b8',
|
||||
\ 'gray73': '#bababa',
|
||||
\ 'grey73': '#bababa',
|
||||
\ 'gray74': '#bdbdbd',
|
||||
\ 'grey74': '#bdbdbd',
|
||||
\ 'gray75': '#bfbfbf',
|
||||
\ 'grey75': '#bfbfbf',
|
||||
\ 'gray76': '#c2c2c2',
|
||||
\ 'grey76': '#c2c2c2',
|
||||
\ 'gray77': '#c4c4c4',
|
||||
\ 'grey77': '#c4c4c4',
|
||||
\ 'gray78': '#c7c7c7',
|
||||
\ 'grey78': '#c7c7c7',
|
||||
\ 'gray79': '#c9c9c9',
|
||||
\ 'grey79': '#c9c9c9',
|
||||
\ 'gray80': '#cccccc',
|
||||
\ 'grey80': '#cccccc',
|
||||
\ 'gray81': '#cfcfcf',
|
||||
\ 'grey81': '#cfcfcf',
|
||||
\ 'gray82': '#d1d1d1',
|
||||
\ 'grey82': '#d1d1d1',
|
||||
\ 'gray83': '#d4d4d4',
|
||||
\ 'grey83': '#d4d4d4',
|
||||
\ 'gray84': '#d6d6d6',
|
||||
\ 'grey84': '#d6d6d6',
|
||||
\ 'gray85': '#d9d9d9',
|
||||
\ 'grey85': '#d9d9d9',
|
||||
\ 'gray86': '#dbdbdb',
|
||||
\ 'grey86': '#dbdbdb',
|
||||
\ 'gray87': '#dedede',
|
||||
\ 'grey87': '#dedede',
|
||||
\ 'gray88': '#e0e0e0',
|
||||
\ 'grey88': '#e0e0e0',
|
||||
\ 'gray89': '#e3e3e3',
|
||||
\ 'grey89': '#e3e3e3',
|
||||
\ 'gray90': '#e5e5e5',
|
||||
\ 'grey90': '#e5e5e5',
|
||||
\ 'gray91': '#e8e8e8',
|
||||
\ 'grey91': '#e8e8e8',
|
||||
\ 'gray92': '#ebebeb',
|
||||
\ 'grey92': '#ebebeb',
|
||||
\ 'gray93': '#ededed',
|
||||
\ 'grey93': '#ededed',
|
||||
\ 'gray94': '#f0f0f0',
|
||||
\ 'grey94': '#f0f0f0',
|
||||
\ 'gray95': '#f2f2f2',
|
||||
\ 'grey95': '#f2f2f2',
|
||||
\ 'gray96': '#f5f5f5',
|
||||
\ 'grey96': '#f5f5f5',
|
||||
\ 'gray97': '#f7f7f7',
|
||||
\ 'grey97': '#f7f7f7',
|
||||
\ 'gray98': '#fafafa',
|
||||
\ 'grey98': '#fafafa',
|
||||
\ 'gray99': '#fcfcfc',
|
||||
\ 'grey99': '#fcfcfc',
|
||||
\ 'gray100': '#ffffff',
|
||||
\ 'grey100': '#ffffff',
|
||||
\ 'dark grey': '#a9a9a9',
|
||||
\ 'darkgrey': '#a9a9a9',
|
||||
\ 'dark gray': '#a9a9a9',
|
||||
\ 'darkgray': '#a9a9a9',
|
||||
\ 'dark blue': '#00008b',
|
||||
\ 'darkblue': '#00008b',
|
||||
\ 'dark cyan': '#008b8b',
|
||||
\ 'darkcyan': '#008b8b',
|
||||
\ 'dark magenta': '#8b008b',
|
||||
\ 'darkmagenta': '#8b008b',
|
||||
\ 'dark red': '#8b0000',
|
||||
\ 'darkred': '#8b0000',
|
||||
\ 'light green': '#90ee90',
|
||||
\ 'lightgreen': '#90ee90',
|
||||
\ 'crimson': '#dc143c',
|
||||
\ 'indigo': '#4b0082',
|
||||
\ 'olive': '#808000',
|
||||
\ 'rebecca purple': '#663399',
|
||||
\ 'rebeccapurple': '#663399',
|
||||
\ 'silver': '#c0c0c0',
|
||||
\ 'teal': '#008080'
|
||||
\ }, 'keep')
|
||||
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
"vim: sw=4
|
||||
@@ -932,18 +932,23 @@ MenuPopup Just before showing the popup menu (under the
|
||||
*ModeChanged*
|
||||
ModeChanged After changing the mode. The pattern is
|
||||
matched against `'old_mode:new_mode'`, for
|
||||
example match against `i:*` to simulate
|
||||
|InsertLeave|.
|
||||
example match against `*:c*` to simulate
|
||||
|CmdlineEnter|.
|
||||
The following values of |v:event| are set:
|
||||
old_mode The mode before it changed.
|
||||
new_mode The new mode as also returned
|
||||
by |mode()|.
|
||||
by |mode()| called with a
|
||||
non-zero argument.
|
||||
When ModeChanged is triggered, old_mode will
|
||||
have the value of new_mode when the event was
|
||||
last triggered.
|
||||
This will be triggered on every minor mode
|
||||
change.
|
||||
Usage example to use relative line numbers
|
||||
when entering Visual mode: >
|
||||
:autocmd ModeChanged *:v set relativenumber
|
||||
:au ModeChanged [vV\x16]*:* let &l:rnu = mode() =~# '^[vV\x16]'
|
||||
:au ModeChanged *:[vV\x16]* let &l:rnu = mode() =~# '^[vV\x16]'
|
||||
:au WinEnter,WinLeave * let &l:rnu = mode() =~# '^[vV\x16]'
|
||||
< *OptionSet*
|
||||
OptionSet After setting an option. The pattern is
|
||||
matched against the long option name.
|
||||
|
||||
+38
-1
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 8.2. Last change: 2021 Oct 14
|
||||
*eval.txt* For Vim version 8.2. Last change: 2021 Oct 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1840,6 +1840,43 @@ v:collate The current locale setting for collation order of the runtime
|
||||
command.
|
||||
See |multi-lang|.
|
||||
|
||||
*v:colornames*
|
||||
v:colornames A dictionary that maps color names to hex color strings. These
|
||||
color names can be used with the |highlight-guifg|,
|
||||
|highlight-guibg|, and |highlight-guisp| parameters. Updating
|
||||
an entry in v:colornames has no immediate effect on the syntax
|
||||
highlighting. The highlight commands (probably in a
|
||||
colorscheme script) need to be re-evaluated in order to use
|
||||
the updated color values. For example: >
|
||||
|
||||
:let v:colornames['fuscia'] = '#cf3ab4'
|
||||
:let v:colornames['mauve'] = '#915f6d'
|
||||
:highlight Normal guifg=fuscia guibg=mauve
|
||||
<
|
||||
This cannot be used to override the |cterm-colors| but it can
|
||||
be used to override other colors. For example, the X11 colors
|
||||
defined in the `colors/lists/default.vim` (previously defined
|
||||
in |rgb.txt|). When defining new color names in a plugin, the
|
||||
recommended practice is to set a color entry only when it does
|
||||
not already exist. For example: >
|
||||
|
||||
:call extend(v:colornames, {
|
||||
\ 'fuscia': '#cf3ab4',
|
||||
\ 'mauve': '#915f6d,
|
||||
\ }, 'keep')
|
||||
<
|
||||
Using |extend| with the 'keep' option updates each color only
|
||||
if it did not exist in |v:colornames|. Doing so allows the
|
||||
user to choose the precise color value for a common name
|
||||
by setting it in their |.vimrc|.
|
||||
|
||||
It is possible to remove entries from this dictionary but
|
||||
doing so is *NOT* recommended. Doing so is disruptive to
|
||||
other scripts. It is also unlikely to achieve the desired
|
||||
result because the |colorscheme| and |highlight| commands will
|
||||
both automatically load all `colors/lists/default.vim` color
|
||||
scripts.
|
||||
|
||||
*v:completed_item* *completed_item-variable*
|
||||
v:completed_item
|
||||
|Dictionary| containing the |complete-items| for the most
|
||||
|
||||
+4
-14
@@ -323,20 +323,10 @@ These extra colors are also available:
|
||||
Gray, Grey, LightYellow, SeaGreen, Orange, Purple, SlateBlue, Violet,
|
||||
|
||||
*rgb.txt*
|
||||
Additionally, colors defined by a "rgb.txt" file can be used. This file is
|
||||
well known from X11. A few lines from it: >
|
||||
|
||||
255 218 185 peach puff
|
||||
205 133 63 peru
|
||||
255 181 197 pink
|
||||
|
||||
This shows the layout of the file: First the R, G and B value as a decimal
|
||||
number, followed by the name of the color. The four fields are separated by
|
||||
spaces.
|
||||
|
||||
You can get an rgb.txt file from any X11 distribution. It is located in a
|
||||
directory like "/usr/X11R6/lib/X11/". For Vim it must be located in the
|
||||
$VIMRUNTIME directory. Thus the file can be found with "$VIMRUNTIME/rgb.txt".
|
||||
Additionally, colors defined by a default color list can be used. For more
|
||||
info see |:colorscheme|. These colors used to be defined in
|
||||
$VIMRUNTIME/rgb.txt, now they are in |v:colornames| which is initialized from
|
||||
$VIMRUNTIME/colors/lists/default.vim.
|
||||
|
||||
==============================================================================
|
||||
*gui-w32-dialogs* *dialog*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 8.2. Last change: 2021 Aug 31
|
||||
*insert.txt* For Vim version 8.2. Last change: 2021 Oct 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -893,7 +893,7 @@ Groß): >
|
||||
endif
|
||||
endfunc
|
||||
|
||||
if has('patch-8.2.3520')
|
||||
if exists('+thesaurusfunc')
|
||||
set thesaurusfunc=Thesaur
|
||||
endif
|
||||
|
||||
|
||||
+4
-1
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 8.2. Last change: 2021 Sep 12
|
||||
*map.txt* For Vim version 8.2. Last change: 2021 Oct 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1004,6 +1004,9 @@ Also note that the 'clipboard' option is temporarily emptied to avoid
|
||||
clobbering the `"*` or `"+` registers, if its value contains the item `unnamed`
|
||||
or `unnamedplus`.
|
||||
|
||||
The `mode()` function will return the state as it will be after applying the
|
||||
operator.
|
||||
|
||||
==============================================================================
|
||||
2. Abbreviations *abbreviations* *Abbreviations*
|
||||
|
||||
|
||||
@@ -141,6 +141,11 @@ larger. When it's more there probably is an endless loop. Probably a
|
||||
The color name {name} is unknown. See |gui-colors| for a list of colors that
|
||||
are available on most systems.
|
||||
|
||||
*E1244* >
|
||||
Bad color string: {str}
|
||||
|
||||
The provided color did not conform to the pattern #rrggbb
|
||||
|
||||
*E458* >
|
||||
Cannot allocate colormap entry, some colors may be incorrect
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.2. Last change: 2021 Sep 21
|
||||
*options.txt* For Vim version 8.2. Last change: 2021 Oct 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -717,7 +717,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
"double": Use twice the width of ASCII characters.
|
||||
*E834* *E835*
|
||||
The value "double" cannot be used if 'listchars' or 'fillchars'
|
||||
contains a character that would be double width.
|
||||
contains a character that would be double width. These errors may
|
||||
also be given when calling setcellwidths().
|
||||
|
||||
The values are overruled for characters specified with
|
||||
|setcellwidths()|.
|
||||
|
||||
@@ -194,9 +194,8 @@ $VIM/macros/swapmous.vim for an example. |gui-mouse-mapping|
|
||||
|
||||
11. Color names *haiku-colors*
|
||||
|
||||
Vim has a number of color names built-in. Additional names are read from the
|
||||
file $VIMRUNTIME/rgb.txt, if present. This file is basically the color
|
||||
database from X. Names used from this file are cached for efficiency.
|
||||
Vim has a number of color names built-in. Additional names can be defined in
|
||||
|v:colornames|. See |:colorscheme| for details.
|
||||
|
||||
|
||||
12. GUI Toolbar Images *haiku-toolbar-images*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 8.2. Last change: 2021 Mar 29
|
||||
*quickref.txt* For Vim version 8.2. Last change: 2021 Oct 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -736,6 +736,7 @@ Short explanation of each option: *option-list*
|
||||
'guifontset' 'gfs' GUI: Names of multibyte fonts to be used
|
||||
'guifontwide' 'gfw' list of font names for double-wide characters
|
||||
'guiheadroom' 'ghr' GUI: pixels room for window decorations
|
||||
'guiligatures' 'gli' GTK GUI: ASCII characters that can form shapes
|
||||
'guioptions' 'go' GUI: Which components and options are used
|
||||
'guipty' GUI: try to use a pseudo-tty for ":!" commands
|
||||
'guitablabel' 'gtl' GUI: custom label for a tab page
|
||||
|
||||
+28
-1
@@ -5143,8 +5143,35 @@ guisp={color-name} *highlight-guisp*
|
||||
"gg" is the Green value
|
||||
"bb" is the Blue value
|
||||
All values are hexadecimal, range from "00" to "ff". Examples: >
|
||||
:highlight Comment guifg=#11f0c3 guibg=#ff00ff
|
||||
:highlight Comment guifg=#11f0c3 guibg=#ff00ff
|
||||
<
|
||||
If you are authoring a color scheme and use the same hexademical value
|
||||
repeatedly, you can define a name for it in |v:colornames|. For
|
||||
example: >
|
||||
|
||||
# provide a default value for this color but allow the user to
|
||||
# override it.
|
||||
:call extend(v:colornames, {'alt_turquoise': '#11f0c3'}, 'keep')
|
||||
:highlight Comment guifg=alt_turquoise guibg=magenta
|
||||
<
|
||||
If you are using a color scheme that relies on named colors and you
|
||||
would like to adjust the precise appearance of those colors, you can
|
||||
do so by overriding the values in |v:colornames| prior to loading the
|
||||
scheme: >
|
||||
|
||||
let v:colornames['alt_turquoise'] = '#22f0d3'
|
||||
colorscheme alt
|
||||
<
|
||||
If you want to develop a color list that can be relied on by others,
|
||||
it is best to prefix your color names. By convention these color lists
|
||||
are placed in the colors/lists directory. You can see an example in
|
||||
'$VIMRUNTIME/colors/lists/csscolors.vim'. This list would be sourced
|
||||
by a color scheme using: >
|
||||
|
||||
:runtime colors/lists/csscolors.vim
|
||||
:highlight Comment guifg=css_turquoise
|
||||
<
|
||||
|
||||
*highlight-groups* *highlight-default*
|
||||
These are the default highlighting groups. These groups are used by the
|
||||
'highlight' option default. Note that the highlighting depends on the value
|
||||
|
||||
@@ -310,6 +310,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'gfs' options.txt /*'gfs'*
|
||||
'gfw' options.txt /*'gfw'*
|
||||
'ghr' options.txt /*'ghr'*
|
||||
'gli' options.txt /*'gli'*
|
||||
'go' options.txt /*'go'*
|
||||
'go-!' options.txt /*'go-!'*
|
||||
'go-A' options.txt /*'go-A'*
|
||||
@@ -347,6 +348,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'guifontset' options.txt /*'guifontset'*
|
||||
'guifontwide' options.txt /*'guifontwide'*
|
||||
'guiheadroom' options.txt /*'guiheadroom'*
|
||||
'guiligatures' options.txt /*'guiligatures'*
|
||||
'guioptions' options.txt /*'guioptions'*
|
||||
'guipty' options.txt /*'guipty'*
|
||||
'guitablabel' options.txt /*'guitablabel'*
|
||||
@@ -1156,6 +1158,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'tgc' options.txt /*'tgc'*
|
||||
'tgst' options.txt /*'tgst'*
|
||||
'thesaurus' options.txt /*'thesaurus'*
|
||||
'thesaurusfunc' options.txt /*'thesaurusfunc'*
|
||||
'tildeop' options.txt /*'tildeop'*
|
||||
'timeout' options.txt /*'timeout'*
|
||||
'timeoutlen' options.txt /*'timeoutlen'*
|
||||
@@ -2100,6 +2103,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:XMLent insert.txt /*:XMLent*
|
||||
:XMLns insert.txt /*:XMLns*
|
||||
:[range] motion.txt /*:[range]*
|
||||
:[vV\x16] autocmd.txt /*:[vV\\x16]*
|
||||
:\bar cmdline.txt /*:\\bar*
|
||||
:_! cmdline.txt /*:_!*
|
||||
:_# cmdline.txt /*:_#*
|
||||
@@ -4046,6 +4050,7 @@ E1233 eval.txt /*E1233*
|
||||
E1237 map.txt /*E1237*
|
||||
E1239 eval.txt /*E1239*
|
||||
E124 eval.txt /*E124*
|
||||
E1243 options.txt /*E1243*
|
||||
E125 eval.txt /*E125*
|
||||
E126 eval.txt /*E126*
|
||||
E127 eval.txt /*E127*
|
||||
@@ -6018,6 +6023,8 @@ compl-omni-filetypes insert.txt /*compl-omni-filetypes*
|
||||
compl-spelling insert.txt /*compl-spelling*
|
||||
compl-stop insert.txt /*compl-stop*
|
||||
compl-tag insert.txt /*compl-tag*
|
||||
compl-thesaurus insert.txt /*compl-thesaurus*
|
||||
compl-thesaurusfunc insert.txt /*compl-thesaurusfunc*
|
||||
compl-vim insert.txt /*compl-vim*
|
||||
compl-whole-line insert.txt /*compl-whole-line*
|
||||
complete() eval.txt /*complete()*
|
||||
@@ -9973,6 +9980,7 @@ try-echoerr eval.txt /*try-echoerr*
|
||||
try-finally eval.txt /*try-finally*
|
||||
try-nested eval.txt /*try-nested*
|
||||
try-nesting eval.txt /*try-nesting*
|
||||
tsrfu' options.txt /*tsrfu'*
|
||||
tutor usr_01.txt /*tutor*
|
||||
twice if_cscop.txt /*twice*
|
||||
two-engines pattern.txt /*two-engines*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.2. Last change: 2021 Oct 15
|
||||
*todo.txt* For Vim version 8.2. Last change: 2021 Oct 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -38,8 +38,6 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Remove s:flaky_tests from runtest.vim, set g:test_is_flaky in each test.
|
||||
|
||||
Vim9 - Make everything work:
|
||||
- "filter #pat# ls" should work, #pat# is not a comment
|
||||
vim9script
|
||||
|
||||
+24
-1
@@ -184,7 +184,30 @@ this command: >
|
||||
:runtime syntax/colortest.vim
|
||||
|
||||
You will see text in various color combinations. You can check which ones are
|
||||
readable and look nice.
|
||||
readable and look nice. These aren't the only colors available to you though.
|
||||
You can specify #rrggbb hex colors and you can define new names for hex
|
||||
colors in |v:colornames| like so: >
|
||||
|
||||
let v:colornames['mine_red'] = '#aa0000'
|
||||
<
|
||||
If you are authoring a color scheme for others to use, it is important
|
||||
to define these colors only when they do not exist: >
|
||||
|
||||
call extend(v:colornames, {'mine_red': '#aa0000'}, 'keep')
|
||||
|
||||
This allows users of the color scheme to override the precise definition of
|
||||
that color prior to loading your color scheme. For example, in a |.vimrc|
|
||||
file:
|
||||
|
||||
runtime colors/lists/css_colors.vim
|
||||
let v:colornames['your_red'] = v:colornames['css_red']
|
||||
colorscheme yourscheme
|
||||
|
||||
As a color scheme author, you should be able to rely on some color names for
|
||||
GUI colors. These are defined in `colors/lists/default.vim`. All such files
|
||||
found on the |runtimepath| are loaded each time the colorscheme command is
|
||||
run. A canonical list is provided by the vim distribution, which should
|
||||
include all X11 colors (previously defined in rgb.txt).
|
||||
|
||||
==============================================================================
|
||||
*06.4* With colors or without colors
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: generic Changelog file
|
||||
" Maintainer: Martin Florian <marfl@posteo.de>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2015-10-25
|
||||
" Latest Revision: 2021-10-17
|
||||
" Variables:
|
||||
" g:changelog_timeformat (deprecated: use g:changelog_dateformat instead) -
|
||||
" description: the timeformat used in ChangeLog entries.
|
||||
@@ -55,7 +55,7 @@ if &filetype == 'changelog'
|
||||
elseif $EMAIL_ADDRESS != ""
|
||||
return $EMAIL_ADDRESS
|
||||
endif
|
||||
|
||||
|
||||
let login = s:login()
|
||||
return printf('%s <%s@%s>', s:name(login), login, s:hostname())
|
||||
endfunction
|
||||
@@ -223,12 +223,6 @@ if &filetype == 'changelog'
|
||||
let &paste = save_paste
|
||||
endfunction
|
||||
|
||||
if exists(":NewChangelogEntry") != 2
|
||||
nnoremap <buffer> <silent> <Leader>o :<C-u>call <SID>new_changelog_entry('')<CR>
|
||||
xnoremap <buffer> <silent> <Leader>o :<C-u>call <SID>new_changelog_entry('')<CR>
|
||||
command! -nargs=0 NewChangelogEntry call s:new_changelog_entry('')
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl com< fo< et< ai<"
|
||||
|
||||
setlocal comments=
|
||||
@@ -241,14 +235,26 @@ if &filetype == 'changelog'
|
||||
let b:undo_ftplugin .= " tw<"
|
||||
endif
|
||||
|
||||
if !exists("no_plugin_maps") && !exists("no_changelog_maps") && exists(":NewChangelogEntry") != 2
|
||||
nnoremap <buffer> <silent> <Leader>o :<C-u>call <SID>new_changelog_entry('')<CR>
|
||||
xnoremap <buffer> <silent> <Leader>o :<C-u>call <SID>new_changelog_entry('')<CR>
|
||||
command! -buffer -nargs=0 NewChangelogEntry call s:new_changelog_entry('')
|
||||
let b:undo_ftplugin .= " | sil! exe 'nunmap <buffer> <Leader>o'" .
|
||||
\ " | sil! exe 'vunmap <buffer> <Leader>o'" .
|
||||
\ " | sil! delc NewChangelogEntry"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
else
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Add the Changelog opening mapping
|
||||
nnoremap <silent> <Leader>o :call <SID>open_changelog()<CR>
|
||||
if !exists("no_plugin_maps") && !exists("no_changelog_maps")
|
||||
" Add the Changelog opening mapping
|
||||
nnoremap <silent> <Leader>o :call <SID>open_changelog()<CR>
|
||||
let b:undo_ftplugin .= " | silent! exe 'nunmap <buffer> <Leader>o"
|
||||
endif
|
||||
|
||||
function! s:open_changelog()
|
||||
let path = expand('%:p:h')
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Ken Takata
|
||||
" URL: https://github.com/k-takata/vim-nsis
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Last Change: 2018-01-26
|
||||
" Last Change: 2021-10-18
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -15,7 +15,6 @@ set cpo&vim
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo< def< inc<"
|
||||
\ " | unlet! b:match_ignorecase b:match_words"
|
||||
|
||||
setlocal comments=s1:/*,mb:*,ex:*/,b:#,:; commentstring=;\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
@@ -37,6 +36,7 @@ if exists("loaded_matchit")
|
||||
\ '\${MementoSection}:\${MementoSectionEnd},' .
|
||||
\ '!if\%(\%(macro\)\?n\?def\)\?\>:!else\>:!endif\>,' .
|
||||
\ '!macro\>:!macroend\>'
|
||||
let b:undo_ftplugin .= " | unlet! b:match_ignorecase b:match_words"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: MSDOS batch file (with NT command extensions)
|
||||
" Maintainer: Ken Takata
|
||||
" URL: https://github.com/k-takata/vim-dosbatch-indent
|
||||
" Last Change: 2017 May 10
|
||||
" Last Change: 2021-10-18
|
||||
" Filenames: *.bat
|
||||
" License: VIM License
|
||||
|
||||
@@ -17,6 +17,8 @@ setlocal indentexpr=GetDosBatchIndent(v:lnum)
|
||||
setlocal indentkeys=!^F,o,O
|
||||
setlocal indentkeys+=0=)
|
||||
|
||||
let b:undo_indent = "setl ai< inde< indk< si<"
|
||||
|
||||
if exists("*GetDosBatchIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: NSIS script
|
||||
" Maintainer: Ken Takata
|
||||
" URL: https://github.com/k-takata/vim-nsis
|
||||
" Last Change: 2018-01-21
|
||||
" Last Change: 2021-10-18
|
||||
" Filenames: *.nsi
|
||||
" License: VIM License
|
||||
|
||||
@@ -17,6 +17,8 @@ setlocal indentexpr=GetNsisIndent(v:lnum)
|
||||
setlocal indentkeys=!^F,o,O
|
||||
setlocal indentkeys+==~${Else,=~${EndIf,=~${EndUnless,=~${AndIf,=~${AndUnless,=~${OrIf,=~${OrUnless,=~${Case,=~${Default,=~${EndSelect,=~${EndSwith,=~${Loop,=~${Next,=~${MementoSectionEnd,=~FunctionEnd,=~SectionEnd,=~SectionGroupEnd,=~PageExEnd,0=~!macroend,0=~!if,0=~!else,0=~!endif
|
||||
|
||||
let b:undo_indent = "setl ai< inde< indk< si<"
|
||||
|
||||
if exists("*GetNsisIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Based on Tera Term Version 4.100
|
||||
" Maintainer: Ken Takata
|
||||
" URL: https://github.com/k-takata/vim-teraterm
|
||||
" Last Change: 2018-08-31
|
||||
" Last Change: 2021-10-18
|
||||
" Filenames: *.ttl
|
||||
" License: VIM License
|
||||
|
||||
@@ -18,6 +18,8 @@ setlocal indentexpr=GetTeraTermIndent(v:lnum)
|
||||
setlocal indentkeys=!^F,o,O,e
|
||||
setlocal indentkeys+==elseif,=endif,=loop,=next,=enduntil,=endwhile
|
||||
|
||||
let b:undo_indent = "setl ai< inde< indk< si<"
|
||||
|
||||
if exists("*GetTeraTermIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
+6
-1
@@ -1,7 +1,7 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2020 Oct 27
|
||||
" Last Change: 2021 Oct 17
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
let buf = bufnr('option-window')
|
||||
@@ -652,6 +652,8 @@ if has("gui")
|
||||
endif
|
||||
call <SID>AddOption("guiheadroom", gettext("room (in pixels) left above/below the window"))
|
||||
call append("$", " \tset ghr=" . &ghr)
|
||||
call <SID>AddOption("guiligatures", gettext("list of ASCII characters that can be combined into complesshapes"))
|
||||
call <SID>OptionG("gli", &gli)
|
||||
endif
|
||||
if has("directx")
|
||||
call <SID>AddOption("renderoptions", gettext("options for text rendering"))
|
||||
@@ -859,6 +861,9 @@ if has("insert_expand")
|
||||
call <SID>AddOption("thesaurus", gettext("list of thesaurus files for keyword completion"))
|
||||
call append("$", "\t" .. s:global_or_local)
|
||||
call <SID>OptionG("tsr", &tsr)
|
||||
call <SID>AddOption("thesaurusfunc", gettext("function used for thesaurus completion"))
|
||||
call append("$", "\t" .. s:global_or_local)
|
||||
call <SID>OptionG("tsrfu", &tsrfu)
|
||||
endif
|
||||
call <SID>AddOption("infercase", gettext("adjust case of a keyword completion match"))
|
||||
call append("$", "\t" .. s:local_to_buffer)
|
||||
|
||||
+58
-29
@@ -1,50 +1,79 @@
|
||||
" Vim syntax file
|
||||
" Language: Arduino
|
||||
" Maintainer: Johannes Hoff <johannes@johanneshoff.com>
|
||||
" Last Change: 2011 June 3
|
||||
" Last Change: 21 October 2021
|
||||
" License: VIM license (:help license, replace vim by arduino.vim)
|
||||
|
||||
" Syntax highlighting like in the Arduino IDE
|
||||
" Keywords extracted from <arduino>/build/shared/lib/keywords.txt (arduino
|
||||
" version 0021)
|
||||
" Automatically generated by the script available at
|
||||
" https://bitbucket.org/johannes/arduino-vim-syntax
|
||||
" Using keywords from <arduino>/build/shared/lib/keywords.txt
|
||||
" From version: 1.8.16
|
||||
|
||||
" Thanks to Rik, Erik Nomitch, Adam Obeng and Graeme Cross for helpful feedback!
|
||||
" Thanks to Rik, Erik Nomitch, Adam Obeng, Graeme Cross and Niall Parker
|
||||
" for helpful feedback!
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Read the C syntax to start with
|
||||
runtime! syntax/cpp.vim
|
||||
if version < 600
|
||||
so <sfile>:p:h/cpp.vim
|
||||
else
|
||||
runtime! syntax/cpp.vim
|
||||
endif
|
||||
|
||||
syn keyword arduinoConstant HIGH LOW INPUT OUTPUT
|
||||
syn keyword arduinoConstant DEC BIN HEX OCT BYTE
|
||||
syn keyword arduinoConstant PI HALF_PI TWO_PI
|
||||
syn keyword arduinoConstant LSBFIRST MSBFIRST
|
||||
syn keyword arduinoConstant CHANGE FALLING RISING
|
||||
syn keyword arduinoConstant SERIAL DISPLAY
|
||||
syn keyword arduinoConstant DEFAULT EXTERNAL INTERNAL INTERNAL1V1 INTERNAL2V56
|
||||
syn keyword arduinoConstant BIN CHANGE DEC DEFAULT EXTERNAL FALLING HALF_PI HEX
|
||||
syn keyword arduinoConstant HIGH INPUT INPUT_PULLUP INTERNAL INTERNAL1V1
|
||||
syn keyword arduinoConstant INTERNAL2V56 LED_BUILTIN LED_BUILTIN_RX
|
||||
syn keyword arduinoConstant LED_BUILTIN_TX LOW LSBFIRST MSBFIRST OCT OUTPUT PI
|
||||
syn keyword arduinoConstant RISING TWO_PI
|
||||
|
||||
syn keyword arduinoStdFunc abs acos asin atan atan2 ceil constrain
|
||||
syn keyword arduinoStdFunc cos degrees exp floor log
|
||||
syn keyword arduinoStdFunc map max min pow radians
|
||||
syn keyword arduinoStdFunc round sin sq sqrt tan
|
||||
syn keyword arduinoStdFunc randomSeed random
|
||||
syn keyword arduinoFunc analogRead analogReadResolution analogReference
|
||||
syn keyword arduinoFunc analogWrite analogWriteResolution attachInterrupt
|
||||
syn keyword arduinoFunc bit bitClear bitRead bitSet bitWrite delay
|
||||
syn keyword arduinoFunc delayMicroseconds detachInterrupt
|
||||
syn keyword arduinoFunc digitalPinToInterrupt digitalRead digitalWrite
|
||||
syn keyword arduinoFunc highByte interrupts lowByte micros millis
|
||||
syn keyword arduinoFunc noInterrupts noTone pinMode pulseIn pulseInLong
|
||||
syn keyword arduinoFunc shiftIn shiftOut tone yield
|
||||
|
||||
syn keyword arduinoFunc analogReference analogRead analogWrite
|
||||
syn keyword arduinoFunc attachInterrupt detachInterrupt interrupts noInterrupts
|
||||
syn keyword arduinoFunc lowByte highByte bitRead bitWrite bitSet bitClear
|
||||
syn keyword arduinoFunc millis micros delay delayMicroseconds
|
||||
syn keyword arduinoFunc pinMode digitalWrite digitalRead
|
||||
syn keyword arduinoFunc tone noTone pulseIn shiftOut
|
||||
syn keyword arduinoMethod available availableForWrite begin charAt compareTo
|
||||
syn keyword arduinoMethod concat end endsWith equals equalsIgnoreCase export
|
||||
syn keyword arduinoMethod final find findUntil flush getBytes indexOf
|
||||
syn keyword arduinoMethod lastIndexOf length loop override parseFloat
|
||||
syn keyword arduinoMethod parseInt peek print println read readBytes
|
||||
syn keyword arduinoMethod readBytesUntil readString readStringUntil replace
|
||||
syn keyword arduinoMethod setCharAt setTimeout setup startsWith Stream
|
||||
syn keyword arduinoMethod substring toCharArray toInt toLowerCase toUpperCase
|
||||
syn keyword arduinoMethod trim
|
||||
|
||||
syn keyword arduinoMethod setup loop
|
||||
syn keyword arduinoMethod begin end available read flush print println write peek
|
||||
syn keyword arduinoModule Keyboard Mouse Serial Serial1 Serial2 Serial3
|
||||
syn keyword arduinoModule SerialUSB
|
||||
|
||||
syn keyword arduinoType boolean byte word String
|
||||
syn keyword arduinoStdFunc abs accept acos acosf asin asinf atan atan2 atan2f
|
||||
syn keyword arduinoStdFunc atanf cbrt cbrtf ceil ceilf click constrain
|
||||
syn keyword arduinoStdFunc copysign copysignf cos cosf cosh coshf degrees exp
|
||||
syn keyword arduinoStdFunc expf fabs fabsf fdim fdimf floor floorf fma fmaf
|
||||
syn keyword arduinoStdFunc fmax fmaxf fmin fminf fmod fmodf hypot hypotf
|
||||
syn keyword arduinoStdFunc isfinite isinf isnan isPressed ldexp ldexpf log
|
||||
syn keyword arduinoStdFunc log10 log10f logf lrint lrintf lround lroundf map
|
||||
syn keyword arduinoStdFunc max min move pow powf press radians random
|
||||
syn keyword arduinoStdFunc randomSeed release releaseAll round roundf signbit
|
||||
syn keyword arduinoStdFunc sin sinf sinh sinhf sq sqrt sqrtf tan tanf tanh
|
||||
syn keyword arduinoStdFunc tanhf trunc truncf
|
||||
|
||||
syn keyword arduinoModule Serial Serial1 Serial2 Serial3
|
||||
syn keyword arduinoType _Bool _Complex _Imaginary array atomic_bool
|
||||
syn keyword arduinoType atomic_char atomic_int atomic_llong atomic_long
|
||||
syn keyword arduinoType atomic_schar atomic_short atomic_uchar atomic_uint
|
||||
syn keyword arduinoType atomic_ullong atomic_ulong atomic_ushort boolean
|
||||
syn keyword arduinoType byte char16_t char32_t complex NULL null PROGMEM
|
||||
syn keyword arduinoType String word
|
||||
|
||||
hi def link arduinoType Type
|
||||
hi def link arduinoConstant Constant
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Debian Vim Maintainers
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2021 Aug 03
|
||||
" Last Change: 2021 Oct 19
|
||||
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -24,7 +24,8 @@ let s:supported = [
|
||||
\ 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
|
||||
\ 'trixie', 'sid', 'rc-buggy',
|
||||
\
|
||||
\ 'trusty', 'xenial', 'bionic', 'focal', 'hirsute', 'impish', 'devel'
|
||||
\ 'trusty', 'xenial', 'bionic', 'focal', 'hirsute', 'impish', 'jammy',
|
||||
\ 'devel'
|
||||
\ ]
|
||||
let s:unsupported = [
|
||||
\ 'frozen', 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Debian sources.list
|
||||
" Maintainer: Debian Vim Maintainers
|
||||
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
|
||||
" Last Change: 2021 Aug 03
|
||||
" Last Change: 2021 Oct 19
|
||||
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debsources.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -26,7 +26,8 @@ let s:supported = [
|
||||
\ 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
|
||||
\ 'trixie', 'sid', 'rc-buggy',
|
||||
\
|
||||
\ 'trusty', 'xenial', 'bionic', 'focal', 'hirsute', 'impish', 'devel'
|
||||
\ 'trusty', 'xenial', 'bionic', 'focal', 'hirsute', 'impish', 'jammy',
|
||||
\ 'devel'
|
||||
\ ]
|
||||
let s:unsupported = [
|
||||
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
|
||||
|
||||
+35
-7
@@ -1,9 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Language: NSIS script, for version of NSIS 3.03 and later
|
||||
" Language: NSIS script, for version of NSIS 3.08 and later
|
||||
" Maintainer: Ken Takata
|
||||
" URL: https://github.com/k-takata/vim-nsis
|
||||
" Previous Maintainer: Alex Jakushev <Alex.Jakushev@kemek.lt>
|
||||
" Last Change: 2018-10-02
|
||||
" Last Change: 2020-10-18
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -97,6 +97,8 @@ syn match nsisSysVar "$RESOURCES_LOCALIZED"
|
||||
syn match nsisSysVar "$CDBURN_AREA"
|
||||
syn match nsisSysVar "$HWNDPARENT"
|
||||
syn match nsisSysVar "$PLUGINSDIR"
|
||||
syn match nsisSysVar "$\%(USERTEMPLATES\|USERSTARTMENU\|USERSMPROGRAMS\|USERDESKTOP\)"
|
||||
syn match nsisSysVar "$\%(COMMONTEMPLATES\|COMMONSTARTMENU\|COMMONSMPROGRAMS\|COMMONDESKTOP\|COMMONPROGRAMDATA\)"
|
||||
syn match nsisSysVar "$\\r"
|
||||
syn match nsisSysVar "$\\n"
|
||||
syn match nsisSysVar "$\\t"
|
||||
@@ -149,7 +151,7 @@ syn keyword nsisStatement contained Section nextgroup=nsisSectionOpt skipwhite
|
||||
syn region nsisSectionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSectionKwd
|
||||
syn match nsisSectionKwd contained "/o\>"
|
||||
|
||||
syn keyword nsisStatement contained SectionIn nextgroup=nsisSectionInOpt skipwhite
|
||||
syn keyword nsisStatement contained SectionInstType SectionIn nextgroup=nsisSectionInOpt skipwhite
|
||||
syn region nsisSectionInOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSectionInKwd
|
||||
syn keyword nsisSectionInKwd contained RO
|
||||
|
||||
@@ -269,10 +271,22 @@ syn keyword nsisAttribute contained ManifestDPIAware nextgroup=nsisManifestDPIAw
|
||||
syn region nsisManifestDPIAwareOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisManifestDPIAwareKwd
|
||||
syn keyword nsisManifestDPIAwareKwd contained notset true false
|
||||
|
||||
syn keyword nsisAttribute contained ManifestLongPathAware nextgroup=nsisManifestLongPathAwareOpt skipwhite
|
||||
syn region nsisManifestLongPathAwareOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisManifestLongPathAwareKwd
|
||||
syn match nsisManifestLongPathAwareKwd contained "\<\%(notset\|true\|false\)\>"
|
||||
|
||||
syn keyword nsisAttribute contained ManifestSupportedOS nextgroup=nsisManifestSupportedOSOpt skipwhite
|
||||
syn region nsisManifestSupportedOSOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisManifestSupportedOSKwd
|
||||
syn match nsisManifestSupportedOSKwd contained "\<\%(none\|all\|WinVista\|Win7\|Win8\|Win8\.1\|Win10\)\>"
|
||||
|
||||
syn keyword nsisAttribute contained PEAddResource nextgroup=nsisPEAddResourceOpt skipwhite
|
||||
syn region nsisPEAddResourceOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPEAddResourceKwd
|
||||
syn match nsisPEAddResourceKwd contained "/\%(OVERWRITE\|REPLACE\)\>"
|
||||
|
||||
syn keyword nsisAttribute contained PERemoveResource nextgroup=nsisPERemoveResourceOpt skipwhite
|
||||
syn region nsisPERemoveResourceOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPERemoveResourceKwd
|
||||
syn match nsisPERemoveResourceKwd contained "/NOERRORS\>"
|
||||
|
||||
syn keyword nsisAttribute contained RequestExecutionLevel nextgroup=nsisRequestExecutionLevelOpt skipwhite
|
||||
syn region nsisRequestExecutionLevelOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisRequestExecutionLevelKwd
|
||||
syn keyword nsisRequestExecutionLevelKwd contained none user highest admin
|
||||
@@ -353,7 +367,7 @@ syn keyword nsisInstruction contained ExpandEnvStrings ReadEnvStr
|
||||
|
||||
syn keyword nsisInstruction contained DeleteRegKey nextgroup=nsisDeleteRegKeyOpt skipwhite
|
||||
syn region nsisDeleteRegKeyOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDeleteRegKeyKwd,nsisRegistry
|
||||
syn match nsisDeleteRegKeyKwd contained "/ifempty\>"
|
||||
syn match nsisDeleteRegKeyKwd contained "/\%(ifempty\|ifnosubkeys\|ifnovalues\)\>"
|
||||
|
||||
syn keyword nsisInstruction contained nextgroup=nsisRegistryOpt skipwhite
|
||||
\ DeleteRegValue EnumRegKey EnumRegValue ReadRegDWORD ReadRegStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegStr
|
||||
@@ -368,8 +382,8 @@ syn region nsisSetRegViewOpt contained start="" end="$" transparent keepend cont
|
||||
syn keyword nsisSetRegViewKwd contained default lastused
|
||||
|
||||
"FUNCTIONS - general purpose (4.9.3)
|
||||
syn keyword nsisInstruction contained CallInstDLL CreateDirectory GetDLLVersion
|
||||
syn keyword nsisInstruction contained GetDLLVersionLocal GetFileTime GetFileTimeLocal
|
||||
syn keyword nsisInstruction contained CallInstDLL CreateDirectory GetWinVer
|
||||
syn keyword nsisInstruction contained GetFileTime GetFileTimeLocal GetKnownFolderPath
|
||||
syn keyword nsisInstruction contained GetTempFileName SearchPath RegDLL UnRegDLL
|
||||
|
||||
syn keyword nsisInstruction contained CopyFiles nextgroup=nsisCopyFilesOpt skipwhite
|
||||
@@ -380,6 +394,10 @@ syn keyword nsisInstruction contained CreateShortcut nextgroup=nsisCreateShortcu
|
||||
syn region nsisCreateShortcutOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisCreateShortcutKwd
|
||||
syn match nsisCreateShortcutKwd contained "/NoWorkingDir\>"
|
||||
|
||||
syn keyword nsisInstruction contained GetDLLVersion GetDLLVersionLocal nextgroup=nsisGetDLLVersionOpt skipwhite
|
||||
syn region nsisGetDLLVersionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetDLLVersionKwd
|
||||
syn match nsisGetDLLVersionKwd contained "/ProductVersion\>"
|
||||
|
||||
syn keyword nsisInstruction contained GetFullPathName nextgroup=nsisGetFullPathNameOpt skipwhite
|
||||
syn region nsisGetFullPathNameOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetFullPathNameKwd
|
||||
syn match nsisGetFullPathNameKwd contained "/SHORT\>"
|
||||
@@ -395,6 +413,7 @@ syn keyword nsisFileAttrib contained FILE_ATTRIBUTE_TEMPORARY
|
||||
syn keyword nsisInstruction contained Abort Call ClearErrors GetCurrentAddress
|
||||
syn keyword nsisInstruction contained GetFunctionAddress GetLabelAddress Goto
|
||||
syn keyword nsisInstruction contained IfAbort IfErrors IfFileExists IfRebootFlag IfSilent
|
||||
syn keyword nsisInstruction contained IfShellVarContextAll IfRtlLanguage
|
||||
syn keyword nsisInstruction contained IntCmp IntCmpU Int64Cmp Int64CmpU IntPtrCmp IntPtrCmpU
|
||||
syn keyword nsisInstruction contained Return Quit SetErrors StrCmp StrCmpS
|
||||
|
||||
@@ -460,6 +479,10 @@ syn keyword nsisInstruction contained CreateFont nextgroup=nsisFontOpt skipwhite
|
||||
syn keyword nsisInstruction contained nextgroup=nsisBooleanOpt skipwhite
|
||||
\ LockWindow SetAutoClose
|
||||
|
||||
syn keyword nsisInstruction contained LoadAndSetImage nextgroup=nsisLoadAndSetImageOpt skipwhite
|
||||
syn region nsisLoadAndSetImageOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisLoadAndSetImageKwd
|
||||
syn match nsisLoadAndSetImageKwd contained "/\%(EXERESOURCE\|STRINGID\|RESIZETOFIT\%(WIDTH\|HEIGHT\)\)\>"
|
||||
|
||||
syn keyword nsisInstruction contained SendMessage nextgroup=nsisSendMessageOpt skipwhite
|
||||
syn region nsisSendMessageOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSendMessageKwd
|
||||
syn match nsisSendMessageKwd contained "/TIMEOUT\>"
|
||||
@@ -556,7 +579,7 @@ syn keyword nsisVerboseKwd contained push pop
|
||||
"PREPROCESSOR (5.4)
|
||||
syn match nsisDefine contained "!define\>" nextgroup=nsisDefineOpt skipwhite
|
||||
syn region nsisDefineOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDefineKwd
|
||||
syn match nsisDefineKwd contained "/\%(ifndef\|redef\|date\|utcdate\|math\|file\)\>"
|
||||
syn match nsisDefineKwd contained "/\%(ifndef\|redef\|date\|utcdate\|file\|intfmt\|math\)\>"
|
||||
|
||||
syn match nsisDefine contained "!undef\>"
|
||||
syn match nsisPreCondit contained "!ifdef\>"
|
||||
@@ -615,7 +638,10 @@ hi def link nsisInstTypeKwd Constant
|
||||
hi def link nsisLicenseBkColorKwd Constant
|
||||
hi def link nsisLicenseForceSelectionKwd Constant
|
||||
hi def link nsisManifestDPIAwareKwd Constant
|
||||
hi def link nsisManifestLongPathAwareKwd Constant
|
||||
hi def link nsisManifestSupportedOSKwd Constant
|
||||
hi def link nsisPEAddResourceKwd Constant
|
||||
hi def link nsisPERemoveResourceKwd Constant
|
||||
hi def link nsisRequestExecutionLevelKwd Constant
|
||||
hi def link nsisShowInstDetailsKwd Constant
|
||||
hi def link nsisSilentInstallKwd Constant
|
||||
@@ -633,11 +659,13 @@ hi def link nsisWriteRegMultiStrKwd Constant
|
||||
hi def link nsisSetRegViewKwd Constant
|
||||
hi def link nsisCopyFilesKwd Constant
|
||||
hi def link nsisCreateShortcutKwd Constant
|
||||
hi def link nsisGetDLLVersionKwd Constant
|
||||
hi def link nsisGetFullPathNameKwd Constant
|
||||
hi def link nsisFileAttrib Constant
|
||||
hi def link nsisMessageBox Constant
|
||||
hi def link nsisFileWriteUTF16LEKwd Constant
|
||||
hi def link nsisSetShellVarContextKwd Constant
|
||||
hi def link nsisLoadAndSetImageKwd Constant
|
||||
hi def link nsisSendMessageKwd Constant
|
||||
hi def link nsisSetBrandingImageKwd Constant
|
||||
hi def link nsisSetDetailsViewKwd Constant
|
||||
|
||||
+1
-10
@@ -1136,9 +1136,6 @@ SYS_DELMENU_FILE = $(DESTDIR)$(SCRIPTLOC)/delmenu.vim
|
||||
### Name of the bugreport file target.
|
||||
SYS_BUGR_FILE = $(DESTDIR)$(SCRIPTLOC)/bugreport.vim
|
||||
|
||||
### Name of the rgb.txt file target.
|
||||
SYS_RGB_FILE = $(DESTDIR)$(SCRIPTLOC)/rgb.txt
|
||||
|
||||
### Name of the file type detection file target.
|
||||
SYS_FILETYPE_FILE = $(DESTDIR)$(SCRIPTLOC)/filetype.vim
|
||||
|
||||
@@ -2466,9 +2463,6 @@ installrtbase: $(HELPSOURCE)/vim.1 $(DEST_VIM) $(DEST_RT) \
|
||||
chmod $(VIMSCRIPTMOD) $(EVIM_FILE)
|
||||
$(INSTALL_DATA) $(SCRIPTSOURCE)/mswin.vim $(MSWIN_FILE)
|
||||
chmod $(VIMSCRIPTMOD) $(MSWIN_FILE)
|
||||
# install the rgb.txt file
|
||||
$(INSTALL_DATA) $(SCRIPTSOURCE)/rgb.txt $(SYS_RGB_FILE)
|
||||
chmod $(VIMSCRIPTMOD) $(SYS_RGB_FILE)
|
||||
# install the bugreport file
|
||||
$(INSTALL_DATA) $(SCRIPTSOURCE)/bugreport.vim $(SYS_BUGR_FILE)
|
||||
chmod $(VIMSCRIPTMOD) $(SYS_BUGR_FILE)
|
||||
@@ -2498,7 +2492,7 @@ installrtbase: $(HELPSOURCE)/vim.1 $(DEST_VIM) $(DEST_RT) \
|
||||
cd $(PRINTSOURCE); $(INSTALL_DATA) *.ps $(DEST_PRINT)
|
||||
cd $(DEST_PRINT); chmod $(FILEMOD) *.ps
|
||||
# install the colorscheme files
|
||||
cd $(COLSOURCE); $(INSTALL_DATA_R) *.vim tools README.txt $(DEST_COL)
|
||||
cd $(COLSOURCE); $(INSTALL_DATA_R) *.vim lists tools README.txt $(DEST_COL)
|
||||
cd $(DEST_COL); chmod $(DIRMOD) tools
|
||||
cd $(DEST_COL); chmod $(HELPMOD) *.vim README.txt tools/*.vim
|
||||
# install the syntax files
|
||||
@@ -2911,7 +2905,6 @@ uninstall_runtime:
|
||||
-rm -f $(DEST_MAN_RU)/xxd.1 $(DEST_MAN_RU_U)/xxd.1
|
||||
-rm -f $(DEST_HELP)/*.txt $(DEST_HELP)/tags $(DEST_HELP)/*.pl
|
||||
-rm -f $(DEST_HELP)/*.??x $(DEST_HELP)/tags-??
|
||||
-rm -f $(SYS_RGB_FILE)
|
||||
-rm -f $(SYS_MENU_FILE) $(SYS_SYNMENU_FILE) $(SYS_DELMENU_FILE)
|
||||
-rm -f $(SYS_BUGR_FILE) $(VIM_DEFAULTS_FILE) $(EVIM_FILE) $(MSWIN_FILE)
|
||||
-rm -f $(DEST_SCRIPT)/gvimrc_example.vim $(DEST_SCRIPT)/vimrc_example.vim
|
||||
@@ -3741,12 +3734,10 @@ macvim-install-languages:
|
||||
# This rule:
|
||||
# - add resources to already installed vim binary to avoid
|
||||
# stripping them during install;
|
||||
# - copy rgb.txt to runtime directory;
|
||||
# - update system MIME database with info about vim application.
|
||||
#
|
||||
install_haiku_extra: $(DEST_BIN)/$(VIMTARGET) objects/os_haiku.rsrc
|
||||
xres -o $(DEST_BIN)/$(VIMTARGET) objects/os_haiku.rsrc
|
||||
$(INSTALL_DATA) $(SCRIPTSOURCE)/rgb.txt $(DEST_RT)
|
||||
mimeset $(DEST_BIN)/$(VIMTARGET)
|
||||
|
||||
# List of g*-links that should be replaced with shell script equivalents.
|
||||
|
||||
@@ -1219,6 +1219,23 @@ do_autocmd_event(
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
// need to initialize last_mode for the first ModeChanged
|
||||
// autocmd
|
||||
if (event == EVENT_MODECHANGED && !has_modechanged())
|
||||
{
|
||||
typval_T rettv;
|
||||
typval_T tv[2];
|
||||
|
||||
tv[0].v_type = VAR_NUMBER;
|
||||
tv[0].vval.v_number = 1;
|
||||
tv[1].v_type = VAR_UNKNOWN;
|
||||
f_mode(tv, &rettv);
|
||||
STRCPY(last_mode, rettv.vval.v_string);
|
||||
vim_free(rettv.vval.v_string);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (is_buflocal)
|
||||
{
|
||||
ap->buflocal_nr = buflocal_nr;
|
||||
|
||||
+2
-1
@@ -978,6 +978,7 @@ set_one_cmd_context(
|
||||
|
||||
ExpandInit(xp);
|
||||
xp->xp_pattern = buff;
|
||||
xp->xp_line = buff;
|
||||
xp->xp_context = EXPAND_COMMANDS; // Default until we get past command
|
||||
ea.argt = 0;
|
||||
|
||||
@@ -2903,7 +2904,7 @@ f_getcompletion(typval_T *argvars, typval_T *rettv)
|
||||
expand_T xpc;
|
||||
int filtered = FALSE;
|
||||
int options = WILD_SILENT | WILD_USE_NL | WILD_ADD_SLASH
|
||||
| WILD_NO_BEEP;
|
||||
| WILD_NO_BEEP | WILD_HOME_REPLACE;
|
||||
|
||||
if (in_vim9script()
|
||||
&& (check_for_string_arg(argvars, 0) == FAIL
|
||||
|
||||
+16
-6
@@ -656,7 +656,8 @@ diff_redraw(
|
||||
{
|
||||
win_T *wp;
|
||||
win_T *wp_other = NULL;
|
||||
int used_max_fill = FALSE;
|
||||
int used_max_fill_other = FALSE;
|
||||
int used_max_fill_curwin = FALSE;
|
||||
int n;
|
||||
|
||||
need_diff_redraw = FALSE;
|
||||
@@ -681,16 +682,25 @@ diff_redraw(
|
||||
{
|
||||
wp->w_topfill = n;
|
||||
if (wp == curwin)
|
||||
used_max_fill = TRUE;
|
||||
used_max_fill_curwin = TRUE;
|
||||
else if (wp_other != NULL)
|
||||
used_max_fill_other = TRUE;
|
||||
}
|
||||
check_topfill(wp, FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
if (wp_other != NULL && used_max_fill && curwin->w_p_scb)
|
||||
// The current window was set to used the maximum number of filler
|
||||
// lines, may need to reduce them.
|
||||
diff_set_topline(wp_other, curwin);
|
||||
if (wp_other != NULL && curwin->w_p_scb)
|
||||
{
|
||||
if (used_max_fill_curwin)
|
||||
// The current window was set to used the maximum number of filler
|
||||
// lines, may need to reduce them.
|
||||
diff_set_topline(wp_other, curwin);
|
||||
else if (used_max_fill_other)
|
||||
// The other window was set to used the maximum number of filler
|
||||
// lines, may need to reduce them.
|
||||
diff_set_topline(curwin, wp_other);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -147,6 +147,10 @@ EXTERN char e_no_such_user_defined_command_str[]
|
||||
EXTERN char e_no_digraphs_version[]
|
||||
INIT(= N_("E196: No digraphs in this version"));
|
||||
#endif
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
EXTERN char e_cannot_allocate_color_str[]
|
||||
INIT(= N_("E254: Cannot allocate color %s"));
|
||||
#endif
|
||||
EXTERN char e_ambiguous_use_of_user_defined_command[]
|
||||
INIT(= N_("E464: Ambiguous use of user-defined command"));
|
||||
EXTERN char e_invalid_command[]
|
||||
@@ -678,3 +682,5 @@ EXTERN char e_no_white_space_allowed_before_separator_str[]
|
||||
INIT(= N_("E1242: No white space allowed before separator: %s"));
|
||||
EXTERN char e_ascii_code_not_in_range[]
|
||||
INIT(= N_("E1243: ASCII code not in 32-127 range"));
|
||||
EXTERN char e_bad_color_string_str[]
|
||||
INIT(= N_("E1244: Bad color string: %s"));
|
||||
|
||||
+16
-7
@@ -143,7 +143,7 @@ eval_clear(void)
|
||||
void
|
||||
fill_evalarg_from_eap(evalarg_T *evalarg, exarg_T *eap, int skip)
|
||||
{
|
||||
CLEAR_FIELD(*evalarg);
|
||||
init_evalarg(evalarg);
|
||||
evalarg->eval_flags = skip ? 0 : EVAL_EVALUATE;
|
||||
if (eap != NULL)
|
||||
{
|
||||
@@ -2137,8 +2137,7 @@ eval_next_line(evalarg_T *evalarg)
|
||||
|
||||
// Advanced to the next line, "arg" no longer points into the previous
|
||||
// line.
|
||||
VIM_CLEAR(evalarg->eval_tofree_cmdline);
|
||||
|
||||
evalarg->eval_using_cmdline = FALSE;
|
||||
return skipwhite(line);
|
||||
}
|
||||
|
||||
@@ -2159,6 +2158,16 @@ skipwhite_and_linebreak(char_u *arg, evalarg_T *evalarg)
|
||||
return p;
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialize "evalarg" for use.
|
||||
*/
|
||||
void
|
||||
init_evalarg(evalarg_T *evalarg)
|
||||
{
|
||||
CLEAR_POINTER(evalarg);
|
||||
ga_init2(&evalarg->eval_tofree_ga, sizeof(char_u *), 20);
|
||||
}
|
||||
|
||||
/*
|
||||
* After using "evalarg" filled from "eap": free the memory.
|
||||
*/
|
||||
@@ -2183,7 +2192,7 @@ clear_evalarg(evalarg_T *evalarg, exarg_T *eap)
|
||||
evalarg->eval_tofree = NULL;
|
||||
}
|
||||
|
||||
VIM_CLEAR(evalarg->eval_tofree_cmdline);
|
||||
ga_clear_strings(&evalarg->eval_tofree_ga);
|
||||
VIM_CLEAR(evalarg->eval_tofree_lambda);
|
||||
}
|
||||
}
|
||||
@@ -2298,7 +2307,7 @@ eval1(char_u **arg, typval_T *rettv, evalarg_T *evalarg)
|
||||
|
||||
if (evalarg == NULL)
|
||||
{
|
||||
CLEAR_FIELD(local_evalarg);
|
||||
init_evalarg(&local_evalarg);
|
||||
evalarg_used = &local_evalarg;
|
||||
}
|
||||
orig_flags = evalarg_used->eval_flags;
|
||||
@@ -2455,7 +2464,7 @@ eval2(char_u **arg, typval_T *rettv, evalarg_T *evalarg)
|
||||
|
||||
if (evalarg == NULL)
|
||||
{
|
||||
CLEAR_FIELD(local_evalarg);
|
||||
init_evalarg(&local_evalarg);
|
||||
evalarg_used = &local_evalarg;
|
||||
}
|
||||
orig_flags = evalarg_used->eval_flags;
|
||||
@@ -2581,7 +2590,7 @@ eval3(char_u **arg, typval_T *rettv, evalarg_T *evalarg)
|
||||
|
||||
if (evalarg == NULL)
|
||||
{
|
||||
CLEAR_FIELD(local_evalarg);
|
||||
init_evalarg(&local_evalarg);
|
||||
evalarg_used = &local_evalarg;
|
||||
}
|
||||
orig_flags = evalarg_used->eval_flags;
|
||||
|
||||
@@ -149,6 +149,7 @@ static struct vimvar
|
||||
{VV_NAME("argv", VAR_LIST), VV_RO},
|
||||
{VV_NAME("collate", VAR_STRING), VV_RO},
|
||||
{VV_NAME("exiting", VAR_SPECIAL), VV_RO},
|
||||
{VV_NAME("colornames", VAR_DICT), VV_RO},
|
||||
// MacVim-specific value go here
|
||||
{VV_NAME("os_appearance", VAR_NUMBER), VV_RO},
|
||||
};
|
||||
@@ -250,6 +251,8 @@ evalvars_init(void)
|
||||
|
||||
set_vim_var_nr(VV_ECHOSPACE, sc_col - 1);
|
||||
|
||||
set_vim_var_dict(VV_COLORNAMES, dict_alloc());
|
||||
|
||||
// Default for v:register is not 0 but '"'. This is adjusted once the
|
||||
// clipboard has been setup by calling reset_reg_var().
|
||||
set_reg_var(0);
|
||||
|
||||
+3
-2
@@ -1191,8 +1191,9 @@ ex_while(exarg_T *eap)
|
||||
& CSF_FUNC_DEF;
|
||||
|
||||
// Any variables defined in the previous round are no longer
|
||||
// visible.
|
||||
for (i = cstack->cs_script_var_len[cstack->cs_idx];
|
||||
// visible. Keep the first one, it is the loop variable that
|
||||
// we reuse every time around.
|
||||
for (i = cstack->cs_script_var_len[cstack->cs_idx] + 1;
|
||||
i < si->sn_var_vals.ga_len; ++i)
|
||||
{
|
||||
svar_T *sv = ((svar_T *)si->sn_var_vals.ga_data) + i;
|
||||
|
||||
+2
-5
@@ -1779,9 +1779,6 @@ EXTERN char e_nowhitespace[] INIT(= N_("E274: No white space allowed before pare
|
||||
EXTERN char e_lock_unlock[] INIT(= N_("E940: Cannot lock or unlock variable %s"));
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
EXTERN char e_alloc_color[] INIT(= N_("E254: Cannot allocate color %s"));
|
||||
#endif
|
||||
EXTERN char e_chan_or_job_req[] INIT(= N_("E706: Channel or Job required"));
|
||||
EXTERN char e_jobreq[] INIT(= N_("E693: Job required"));
|
||||
|
||||
@@ -1872,8 +1869,8 @@ EXTERN listitem_T range_list_item;
|
||||
// Passed to an eval() function to enable evaluation.
|
||||
EXTERN evalarg_T EVALARG_EVALUATE
|
||||
# ifdef DO_INIT
|
||||
= {EVAL_EVALUATE, 0, NULL, NULL, NULL, NULL, {0, 0, 0, 0, NULL},
|
||||
{0, 0, 0, 0, NULL}, NULL, NULL, NULL}
|
||||
= {EVAL_EVALUATE, 0, NULL, NULL, NULL, NULL, GA_EMPTY, GA_EMPTY, NULL,
|
||||
{0, 0, (int)sizeof(char_u *), 20, NULL}, 0, NULL}
|
||||
# endif
|
||||
;
|
||||
#endif
|
||||
|
||||
@@ -4825,7 +4825,7 @@ gui_get_color(char_u *name)
|
||||
&& gui.in_use
|
||||
#endif
|
||||
)
|
||||
semsg(_(e_alloc_color), name);
|
||||
semsg(_(e_cannot_allocate_color_str), name);
|
||||
return t;
|
||||
}
|
||||
|
||||
|
||||
+1
-158
@@ -4054,164 +4054,7 @@ guicolor_T
|
||||
gui_mch_get_color(
|
||||
char_u *name)
|
||||
{
|
||||
typedef struct GuiColourTable
|
||||
{
|
||||
const char *name;
|
||||
guicolor_T colour;
|
||||
} GuiColourTable;
|
||||
|
||||
#define NSTATIC_COLOURS 50 // 32
|
||||
#define NDYNAMIC_COLOURS 33
|
||||
#define NCOLOURS (NSTATIC_COLOURS + NDYNAMIC_COLOURS)
|
||||
|
||||
static GuiColourTable table[NCOLOURS] =
|
||||
{
|
||||
{"Black", RGB(0x00, 0x00, 0x00)},
|
||||
{"DarkGray", RGB(0x80, 0x80, 0x80)},
|
||||
{"DarkGrey", RGB(0x80, 0x80, 0x80)},
|
||||
{"Gray", RGB(0xC0, 0xC0, 0xC0)},
|
||||
{"Grey", RGB(0xC0, 0xC0, 0xC0)},
|
||||
{"LightGray", RGB(0xD3, 0xD3, 0xD3)},
|
||||
{"LightGrey", RGB(0xD3, 0xD3, 0xD3)},
|
||||
{"Gray10", RGB(0x1A, 0x1A, 0x1A)},
|
||||
{"Grey10", RGB(0x1A, 0x1A, 0x1A)},
|
||||
{"Gray20", RGB(0x33, 0x33, 0x33)},
|
||||
{"Grey20", RGB(0x33, 0x33, 0x33)},
|
||||
{"Gray30", RGB(0x4D, 0x4D, 0x4D)},
|
||||
{"Grey30", RGB(0x4D, 0x4D, 0x4D)},
|
||||
{"Gray40", RGB(0x66, 0x66, 0x66)},
|
||||
{"Grey40", RGB(0x66, 0x66, 0x66)},
|
||||
{"Gray50", RGB(0x7F, 0x7F, 0x7F)},
|
||||
{"Grey50", RGB(0x7F, 0x7F, 0x7F)},
|
||||
{"Gray60", RGB(0x99, 0x99, 0x99)},
|
||||
{"Grey60", RGB(0x99, 0x99, 0x99)},
|
||||
{"Gray70", RGB(0xB3, 0xB3, 0xB3)},
|
||||
{"Grey70", RGB(0xB3, 0xB3, 0xB3)},
|
||||
{"Gray80", RGB(0xCC, 0xCC, 0xCC)},
|
||||
{"Grey80", RGB(0xCC, 0xCC, 0xCC)},
|
||||
{"Gray90", RGB(0xE5, 0xE5, 0xE5)},
|
||||
{"Grey90", RGB(0xE5, 0xE5, 0xE5)},
|
||||
{"White", RGB(0xFF, 0xFF, 0xFF)},
|
||||
{"DarkRed", RGB(0x80, 0x00, 0x00)},
|
||||
{"Red", RGB(0xFF, 0x00, 0x00)},
|
||||
{"LightRed", RGB(0xFF, 0xA0, 0xA0)},
|
||||
{"DarkBlue", RGB(0x00, 0x00, 0x80)},
|
||||
{"Blue", RGB(0x00, 0x00, 0xFF)},
|
||||
{"LightBlue", RGB(0xA0, 0xA0, 0xFF)},
|
||||
{"DarkGreen", RGB(0x00, 0x80, 0x00)},
|
||||
{"Green", RGB(0x00, 0xFF, 0x00)},
|
||||
{"LightGreen", RGB(0xA0, 0xFF, 0xA0)},
|
||||
{"DarkCyan", RGB(0x00, 0x80, 0x80)},
|
||||
{"Cyan", RGB(0x00, 0xFF, 0xFF)},
|
||||
{"LightCyan", RGB(0xA0, 0xFF, 0xFF)},
|
||||
{"DarkMagenta", RGB(0x80, 0x00, 0x80)},
|
||||
{"Magenta", RGB(0xFF, 0x00, 0xFF)},
|
||||
{"LightMagenta", RGB(0xFF, 0xA0, 0xFF)},
|
||||
{"Brown", RGB(0x80, 0x40, 0x40)},
|
||||
{"Yellow", RGB(0xFF, 0xFF, 0x00)},
|
||||
{"LightYellow", RGB(0xFF, 0xFF, 0xA0)},
|
||||
{"DarkYellow", RGB(0xBB, 0xBB, 0x00)},
|
||||
{"SeaGreen", RGB(0x2E, 0x8B, 0x57)},
|
||||
{"Orange", RGB(0xFF, 0xA5, 0x00)},
|
||||
{"Purple", RGB(0xA0, 0x20, 0xF0)},
|
||||
{"SlateBlue", RGB(0x6A, 0x5A, 0xCD)},
|
||||
{"Violet", RGB(0xEE, 0x82, 0xEE)},
|
||||
// NOTE: some entries are zero-allocated for NDDYNAMIC_COLORS
|
||||
// in this table!
|
||||
};
|
||||
|
||||
static int endColour = NSTATIC_COLOURS;
|
||||
static int newColour = NSTATIC_COLOURS;
|
||||
|
||||
int r, g, b;
|
||||
int i;
|
||||
|
||||
if (name[0] == '#' && STRLEN(name) == 7)
|
||||
{
|
||||
// Name is in "#rrggbb" format
|
||||
r = hex_digit(name[1]) * 16 + hex_digit(name[2]);
|
||||
g = hex_digit(name[3]) * 16 + hex_digit(name[4]);
|
||||
b = hex_digit(name[5]) * 16 + hex_digit(name[6]);
|
||||
if (r < 0 || g < 0 || b < 0)
|
||||
return INVALCOLOR;
|
||||
return RGB(r, g, b);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Check if the name is one of the colours we know
|
||||
for (i = 0; i < endColour; i++)
|
||||
if (STRICMP(name, table[i].name) == 0)
|
||||
return table[i].colour;
|
||||
}
|
||||
|
||||
/*
|
||||
* Last attempt. Look in the file "$VIMRUNTIME/rgb.txt".
|
||||
*/
|
||||
{
|
||||
#define LINE_LEN 100
|
||||
FILE *fd;
|
||||
char line[LINE_LEN];
|
||||
char_u *fname;
|
||||
|
||||
fname = expand_env_save((char_u *)"$VIMRUNTIME/rgb.txt");
|
||||
if (fname == NULL)
|
||||
return INVALCOLOR;
|
||||
|
||||
fd = fopen((char *)fname, "rt");
|
||||
vim_free(fname);
|
||||
if (fd == NULL)
|
||||
return INVALCOLOR;
|
||||
|
||||
while (!feof(fd))
|
||||
{
|
||||
int len;
|
||||
int pos;
|
||||
char *colour;
|
||||
|
||||
fgets(line, LINE_LEN, fd);
|
||||
len = strlen(line);
|
||||
|
||||
if (len <= 1 || line[len-1] != '\n')
|
||||
continue;
|
||||
|
||||
line[len-1] = '\0';
|
||||
|
||||
i = sscanf(line, "%d %d %d %n", &r, &g, &b, &pos);
|
||||
if (i != 3)
|
||||
continue;
|
||||
|
||||
colour = line + pos;
|
||||
|
||||
if (STRICMP(colour, name) == 0)
|
||||
{
|
||||
fclose(fd);
|
||||
/*
|
||||
* Now remember this colour in the table.
|
||||
* A LRU scheme might be better but this is simpler.
|
||||
* Or could use a growing array.
|
||||
*/
|
||||
guicolor_T gcolour = RGB(r,g,b);
|
||||
|
||||
// NOTE: see note above in table allocation! We are working here with
|
||||
// dynamically allocated names, not constant ones!
|
||||
vim_free((char*)table[newColour].name);
|
||||
table[newColour].name = (char *)vim_strsave((char_u *)colour);
|
||||
table[newColour].colour = gcolour;
|
||||
|
||||
newColour++;
|
||||
if (newColour >= NCOLOURS)
|
||||
newColour = NSTATIC_COLOURS;
|
||||
if (endColour < NCOLOURS)
|
||||
endColour = newColour;
|
||||
|
||||
return gcolour;
|
||||
}
|
||||
}
|
||||
|
||||
fclose(fd);
|
||||
}
|
||||
|
||||
return INVALCOLOR;
|
||||
return gui_get_color_cmn(name);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
+232
-1
@@ -475,6 +475,9 @@ load_colors(char_u *name)
|
||||
buf = alloc(STRLEN(name) + 12);
|
||||
if (buf != NULL)
|
||||
{
|
||||
#ifdef FEAT_EVAL
|
||||
load_default_colors_lists();
|
||||
#endif
|
||||
apply_autocmds(EVENT_COLORSCHEMEPRE, name,
|
||||
curbuf->b_fname, FALSE, curbuf);
|
||||
sprintf((char *)buf, "colors/%s.vim", name);
|
||||
@@ -1190,7 +1193,7 @@ highlight_set_guibg(
|
||||
HL_TABLE()[idx].sg_set |= SG_GUI;
|
||||
|
||||
# if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
// In GUI guifg colors are only used when recognized
|
||||
// In GUI guibg colors are only used when recognized
|
||||
i = color_name2handle(arg);
|
||||
if (i != INVALCOLOR || STRCMP(arg, "NONE") == 0 || !USE_24BIT)
|
||||
{
|
||||
@@ -2231,6 +2234,234 @@ color_name2handle(char_u *name)
|
||||
|
||||
return GUI_GET_COLOR(name);
|
||||
}
|
||||
|
||||
// On MS-Windows an RGB macro is available and it produces 0x00bbggrr color
|
||||
// values as used by the MS-Windows GDI api. It should be used only for
|
||||
// MS-Windows GDI builds.
|
||||
# if defined(RGB) && defined(MSWIN) && !defined(FEAT_GUI)
|
||||
# undef RGB
|
||||
# endif
|
||||
# ifndef RGB
|
||||
# define RGB(r, g, b) ((r<<16) | (g<<8) | (b))
|
||||
# endif
|
||||
|
||||
# ifdef VIMDLL
|
||||
static guicolor_T
|
||||
gui_adjust_rgb(guicolor_T c)
|
||||
{
|
||||
if (gui.in_use)
|
||||
return c;
|
||||
else
|
||||
return ((c & 0xff) << 16) | (c & 0x00ff00) | ((c >> 16) & 0xff);
|
||||
}
|
||||
# else
|
||||
# define gui_adjust_rgb(c) (c)
|
||||
# endif
|
||||
|
||||
static int
|
||||
hex_digit(int c)
|
||||
{
|
||||
if (isdigit(c))
|
||||
return c - '0';
|
||||
c = TOLOWER_ASC(c);
|
||||
if (c >= 'a' && c <= 'f')
|
||||
return c - 'a' + 10;
|
||||
return 0x1ffffff;
|
||||
}
|
||||
|
||||
guicolor_T
|
||||
decode_hex_color(char_u *hex)
|
||||
{
|
||||
guicolor_T color;
|
||||
|
||||
if (hex[0] != '#' || STRLEN(hex) != 7)
|
||||
return INVALCOLOR;
|
||||
|
||||
// Name is in "#rrggbb" format
|
||||
color = RGB(((hex_digit(hex[1]) << 4) + hex_digit(hex[2])),
|
||||
((hex_digit(hex[3]) << 4) + hex_digit(hex[4])),
|
||||
((hex_digit(hex[5]) << 4) + hex_digit(hex[6])));
|
||||
if (color > 0xffffff)
|
||||
return INVALCOLOR;
|
||||
return gui_adjust_rgb(color);
|
||||
}
|
||||
|
||||
#if defined(FEAT_EVAL)
|
||||
// Returns the color currently mapped to the given name or INVALCOLOR if no
|
||||
// such name exists in the color table. The convention is to use lowercase for
|
||||
// all keys in the v:colornames dictionary. The value can be either a string in
|
||||
// the form #rrggbb or a number, either of which is converted to a guicolor_T.
|
||||
guicolor_T
|
||||
colorname2rgb(char_u *name)
|
||||
{
|
||||
dict_T *colornames_table = get_vim_var_dict(VV_COLORNAMES);
|
||||
char_u *lc_name;
|
||||
dictitem_T *colentry;
|
||||
char_u *colstr;
|
||||
varnumber_T colnum;
|
||||
|
||||
lc_name = strlow_save(name);
|
||||
if (lc_name == NULL)
|
||||
return INVALCOLOR;
|
||||
|
||||
colentry = dict_find(colornames_table, lc_name, -1);
|
||||
vim_free(lc_name);
|
||||
if (colentry == NULL)
|
||||
return INVALCOLOR;
|
||||
|
||||
if (colentry->di_tv.v_type == VAR_STRING)
|
||||
{
|
||||
colstr = tv_get_string_strict(&colentry->di_tv);
|
||||
if ((STRLEN(colstr) == 7) && (*colstr == '#'))
|
||||
{
|
||||
return decode_hex_color(colstr);
|
||||
}
|
||||
else
|
||||
{
|
||||
semsg(_(e_bad_color_string_str), colstr);
|
||||
return INVALCOLOR;
|
||||
}
|
||||
}
|
||||
|
||||
if (colentry->di_tv.v_type == VAR_NUMBER)
|
||||
{
|
||||
colnum = tv_get_number(&colentry->di_tv);
|
||||
return (guicolor_T)colnum;
|
||||
}
|
||||
|
||||
return INVALCOLOR;
|
||||
}
|
||||
|
||||
// Maps the given name to the given color value, overwriting any current
|
||||
// mapping. If allocation fails the named color will no longer exist in the
|
||||
// table and the user will receive an error message.
|
||||
void
|
||||
save_colorname_hexstr(int r, int g, int b, char_u *name)
|
||||
{
|
||||
int result;
|
||||
dict_T *colornames_table;
|
||||
dictitem_T *existing;
|
||||
char_u hexstr[8];
|
||||
|
||||
if (vim_snprintf((char *)hexstr, sizeof(hexstr),
|
||||
"#%02x%02x%02x", r, g, b) < 0)
|
||||
{
|
||||
semsg(_(e_cannot_allocate_color_str), name);
|
||||
return;
|
||||
}
|
||||
|
||||
colornames_table = get_vim_var_dict(VV_COLORNAMES);
|
||||
// The colornames_table dict is safe to use here because it is allocated at
|
||||
// startup in evalvars.c
|
||||
existing = dict_find(colornames_table, name, -1);
|
||||
if (existing != NULL)
|
||||
{
|
||||
dictitem_remove(colornames_table, existing);
|
||||
existing = NULL; // dictitem_remove freed the item
|
||||
}
|
||||
|
||||
result = dict_add_string(colornames_table, (char *)name, hexstr);
|
||||
if (result == FAIL)
|
||||
semsg(_(e_cannot_allocate_color_str), name);
|
||||
}
|
||||
|
||||
/*
|
||||
* Load a default color list. Intended to support legacy color names but allows
|
||||
* the user to override the color values. Only loaded once.
|
||||
*/
|
||||
void
|
||||
load_default_colors_lists()
|
||||
{
|
||||
// Lacking a default color list isn't the end of the world but it is likely
|
||||
// an inconvenience so users should know when it is missing.
|
||||
if (source_runtime((char_u *)"colors/lists/default.vim", DIP_ALL) != OK)
|
||||
msg("failed to load colors/lists/default.vim");
|
||||
}
|
||||
#endif
|
||||
|
||||
guicolor_T
|
||||
gui_get_color_cmn(char_u *name)
|
||||
{
|
||||
int i;
|
||||
guicolor_T color;
|
||||
|
||||
struct rgbcolor_table_S {
|
||||
char_u *color_name;
|
||||
guicolor_T color;
|
||||
};
|
||||
|
||||
// Only non X11 colors (not present in rgb.txt) and colors in
|
||||
// color_names[], useful when $VIMRUNTIME is not found,.
|
||||
static struct rgbcolor_table_S rgb_table[] = {
|
||||
{(char_u *)"black", RGB(0x00, 0x00, 0x00)},
|
||||
{(char_u *)"blue", RGB(0x00, 0x00, 0xFF)},
|
||||
{(char_u *)"brown", RGB(0xA5, 0x2A, 0x2A)},
|
||||
{(char_u *)"cyan", RGB(0x00, 0xFF, 0xFF)},
|
||||
{(char_u *)"darkblue", RGB(0x00, 0x00, 0x8B)},
|
||||
{(char_u *)"darkcyan", RGB(0x00, 0x8B, 0x8B)},
|
||||
{(char_u *)"darkgray", RGB(0xA9, 0xA9, 0xA9)},
|
||||
{(char_u *)"darkgreen", RGB(0x00, 0x64, 0x00)},
|
||||
{(char_u *)"darkgrey", RGB(0xA9, 0xA9, 0xA9)},
|
||||
{(char_u *)"darkmagenta", RGB(0x8B, 0x00, 0x8B)},
|
||||
{(char_u *)"darkred", RGB(0x8B, 0x00, 0x00)},
|
||||
{(char_u *)"darkyellow", RGB(0x8B, 0x8B, 0x00)}, // No X11
|
||||
{(char_u *)"gray", RGB(0xBE, 0xBE, 0xBE)},
|
||||
{(char_u *)"green", RGB(0x00, 0xFF, 0x00)},
|
||||
{(char_u *)"grey", RGB(0xBE, 0xBE, 0xBE)},
|
||||
{(char_u *)"grey40", RGB(0x66, 0x66, 0x66)},
|
||||
{(char_u *)"grey50", RGB(0x7F, 0x7F, 0x7F)},
|
||||
{(char_u *)"grey90", RGB(0xE5, 0xE5, 0xE5)},
|
||||
{(char_u *)"lightblue", RGB(0xAD, 0xD8, 0xE6)},
|
||||
{(char_u *)"lightcyan", RGB(0xE0, 0xFF, 0xFF)},
|
||||
{(char_u *)"lightgray", RGB(0xD3, 0xD3, 0xD3)},
|
||||
{(char_u *)"lightgreen", RGB(0x90, 0xEE, 0x90)},
|
||||
{(char_u *)"lightgrey", RGB(0xD3, 0xD3, 0xD3)},
|
||||
{(char_u *)"lightmagenta", RGB(0xFF, 0x8B, 0xFF)}, // No X11
|
||||
{(char_u *)"lightred", RGB(0xFF, 0x8B, 0x8B)}, // No X11
|
||||
{(char_u *)"lightyellow", RGB(0xFF, 0xFF, 0xE0)},
|
||||
{(char_u *)"magenta", RGB(0xFF, 0x00, 0xFF)},
|
||||
{(char_u *)"red", RGB(0xFF, 0x00, 0x00)},
|
||||
{(char_u *)"seagreen", RGB(0x2E, 0x8B, 0x57)},
|
||||
{(char_u *)"white", RGB(0xFF, 0xFF, 0xFF)},
|
||||
{(char_u *)"yellow", RGB(0xFF, 0xFF, 0x00)},
|
||||
};
|
||||
|
||||
color = decode_hex_color(name);
|
||||
if (color != INVALCOLOR)
|
||||
return color;
|
||||
|
||||
// Check if the name is one of the colors we know
|
||||
for (i = 0; i < (int)ARRAY_LENGTH(rgb_table); i++)
|
||||
if (STRICMP(name, rgb_table[i].color_name) == 0)
|
||||
return gui_adjust_rgb(rgb_table[i].color);
|
||||
|
||||
#if defined(FEAT_EVAL)
|
||||
/*
|
||||
* Not a traditional color. Load additional color aliases and then consult the alias table.
|
||||
*/
|
||||
|
||||
color = colorname2rgb(name);
|
||||
if (color == INVALCOLOR)
|
||||
{
|
||||
load_default_colors_lists();
|
||||
color = colorname2rgb(name);
|
||||
}
|
||||
|
||||
return color;
|
||||
#else
|
||||
return INVALCOLOR;
|
||||
#endif
|
||||
}
|
||||
|
||||
guicolor_T
|
||||
gui_get_rgb_color_cmn(int r, int g, int b)
|
||||
{
|
||||
guicolor_T color = RGB(r, g, b);
|
||||
|
||||
if (color > 0xffffff)
|
||||
return INVALCOLOR;
|
||||
return gui_adjust_rgb(color);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
||||
+5
-39
@@ -462,17 +462,8 @@ cs_add(exarg_T *eap UNUSED)
|
||||
static void
|
||||
cs_stat_emsg(char *fname)
|
||||
{
|
||||
char *stat_emsg = _("E563: stat(%s) error: %d");
|
||||
char *buf = alloc(strlen(stat_emsg) + MAXPATHL + 10);
|
||||
|
||||
if (buf != NULL)
|
||||
{
|
||||
(void)sprintf(buf, stat_emsg, fname, errno);
|
||||
(void)emsg(buf);
|
||||
vim_free(buf);
|
||||
}
|
||||
else
|
||||
(void)emsg(_("E563: stat error"));
|
||||
int err = errno;
|
||||
(void)semsg(_("E563: stat(%s) error: %d"), fname, err);
|
||||
}
|
||||
|
||||
|
||||
@@ -1114,16 +1105,7 @@ cs_find_common(
|
||||
// next symbol must be + or -
|
||||
if (strchr(CSQF_FLAGS, *qfpos) == NULL)
|
||||
{
|
||||
char *nf = _("E469: invalid cscopequickfix flag %c for %c");
|
||||
char *buf = alloc(strlen(nf));
|
||||
|
||||
// strlen will be enough because we use chars
|
||||
if (buf != NULL)
|
||||
{
|
||||
sprintf(buf, nf, *qfpos, *(qfpos-1));
|
||||
(void)emsg(buf);
|
||||
vim_free(buf);
|
||||
}
|
||||
(void)semsg(_("E469: invalid cscopequickfix flag %c for %c"), *qfpos, *(qfpos - 1));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -1177,24 +1159,8 @@ cs_find_common(
|
||||
|
||||
if (totmatches == 0)
|
||||
{
|
||||
char *nf = _("E259: no matches found for cscope query %s of %s");
|
||||
char *buf;
|
||||
|
||||
if (!verbose)
|
||||
{
|
||||
vim_free(nummatches);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
buf = alloc(strlen(opt) + strlen(pat) + strlen(nf));
|
||||
if (buf == NULL)
|
||||
(void)emsg(nf);
|
||||
else
|
||||
{
|
||||
sprintf(buf, nf, opt, pat);
|
||||
(void)emsg(buf);
|
||||
vim_free(buf);
|
||||
}
|
||||
if (verbose)
|
||||
(void)semsg(_("E259: no matches found for cscope query %s of %s"), opt, pat);
|
||||
vim_free(nummatches);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -243,6 +243,8 @@ ins_ctrl_x(void)
|
||||
// CTRL-X in CTRL-X CTRL-V mode behaves differently to make CTRL-X
|
||||
// CTRL-V look like CTRL-N
|
||||
ctrl_x_mode = CTRL_X_CMDLINE_CTRL_X;
|
||||
|
||||
trigger_modechanged();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -2155,6 +2157,8 @@ ins_compl_prep(int c)
|
||||
// upon the (possibly failed) completion.
|
||||
ins_apply_autocmds(EVENT_COMPLETEDONE);
|
||||
|
||||
trigger_modechanged();
|
||||
|
||||
// reset continue_* if we left expansion-mode, if we stay they'll be
|
||||
// (re)set properly in ins_complete()
|
||||
if (!vim_is_ctrl_x_key(c))
|
||||
@@ -2492,6 +2496,7 @@ set_completion(colnr_T startcol, list_T *list)
|
||||
// Lazily show the popup menu, unless we got interrupted.
|
||||
if (!compl_interrupted)
|
||||
show_pum(save_w_wrow, save_w_leftcol);
|
||||
trigger_modechanged();
|
||||
out_flush();
|
||||
}
|
||||
|
||||
@@ -3260,6 +3265,8 @@ ins_compl_get_exp(pos_T *ini)
|
||||
if (compl_curr_match == NULL)
|
||||
compl_curr_match = compl_old_match;
|
||||
}
|
||||
trigger_modechanged();
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
|
||||
@@ -559,7 +559,7 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
{
|
||||
if (called_emsg_before == called_emsg)
|
||||
// may not get the error if the GUI didn't start
|
||||
semsg(_(e_alloc_color), color_name);
|
||||
semsg(_(e_cannot_allocate_color_str), color_name);
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
|
||||
+9
-4
@@ -2650,7 +2650,7 @@ path_with_url(char_u *fname)
|
||||
return 0;
|
||||
|
||||
// check body: alpha or dash
|
||||
for (p = fname; (isalpha(*p) || (*p == '-')); ++p)
|
||||
for (p = fname + 1; (isalpha(*p) || (*p == '-')); ++p)
|
||||
;
|
||||
|
||||
// check last char is not a dash
|
||||
@@ -2677,12 +2677,17 @@ trigger_modechanged()
|
||||
if (!has_modechanged())
|
||||
return;
|
||||
|
||||
v_event = get_vim_var_dict(VV_EVENT);
|
||||
|
||||
tv[0].v_type = VAR_NUMBER;
|
||||
tv[0].vval.v_number = 1; // get full mode
|
||||
tv[1].v_type = VAR_UNKNOWN;
|
||||
f_mode(tv, &rettv);
|
||||
if (STRCMP(rettv.vval.v_string, last_mode) == 0)
|
||||
{
|
||||
vim_free(rettv.vval.v_string);
|
||||
return;
|
||||
}
|
||||
|
||||
v_event = get_vim_var_dict(VV_EVENT);
|
||||
(void)dict_add_string(v_event, "new_mode", rettv.vval.v_string);
|
||||
(void)dict_add_string(v_event, "old_mode", last_mode);
|
||||
dict_set_items_ro(v_event);
|
||||
@@ -2695,9 +2700,9 @@ trigger_modechanged()
|
||||
apply_autocmds(EVENT_MODECHANGED, pat, NULL, FALSE, curbuf);
|
||||
STRCPY(last_mode, rettv.vval.v_string);
|
||||
|
||||
vim_free(rettv.vval.v_string);
|
||||
vim_free(pat);
|
||||
dict_free_contents(v_event);
|
||||
hash_init(&v_event->dv_hashtab);
|
||||
vim_free(rettv.vval.v_string);
|
||||
#endif
|
||||
}
|
||||
|
||||
+6
-1
@@ -527,6 +527,7 @@ normal_cmd(
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
trigger_modechanged();
|
||||
|
||||
// When not finishing an operator and no register name typed, reset the
|
||||
// count.
|
||||
@@ -1221,6 +1222,7 @@ normal_end:
|
||||
c = finish_op;
|
||||
#endif
|
||||
finish_op = FALSE;
|
||||
trigger_modechanged();
|
||||
#ifdef CURSOR_SHAPE
|
||||
// Redraw the cursor with another shape, if we were in Operator-pending
|
||||
// mode or did a replace command.
|
||||
@@ -1278,6 +1280,7 @@ normal_end:
|
||||
if (restart_VIsual_select == 1)
|
||||
{
|
||||
VIsual_select = TRUE;
|
||||
trigger_modechanged();
|
||||
showmode();
|
||||
restart_VIsual_select = 0;
|
||||
}
|
||||
@@ -1386,7 +1389,6 @@ end_visual_mode_keep_button()
|
||||
#endif
|
||||
|
||||
VIsual_active = FALSE;
|
||||
trigger_modechanged();
|
||||
setmouse();
|
||||
mouse_dragging = 0;
|
||||
|
||||
@@ -1403,6 +1405,7 @@ end_visual_mode_keep_button()
|
||||
may_clear_cmdline();
|
||||
|
||||
adjust_cursor_eol();
|
||||
trigger_modechanged();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -3451,6 +3454,7 @@ nv_ctrlg(cmdarg_T *cap)
|
||||
if (VIsual_active) // toggle Selection/Visual mode
|
||||
{
|
||||
VIsual_select = !VIsual_select;
|
||||
trigger_modechanged();
|
||||
showmode();
|
||||
}
|
||||
else if (!checkclearop(cap->oap))
|
||||
@@ -3513,6 +3517,7 @@ nv_ctrlo(cmdarg_T *cap)
|
||||
if (VIsual_active && VIsual_select)
|
||||
{
|
||||
VIsual_select = FALSE;
|
||||
trigger_modechanged();
|
||||
showmode();
|
||||
restart_VIsual_select = 2; // restart Select mode later
|
||||
}
|
||||
|
||||
+360
-208
@@ -15,8 +15,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vim 8.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-06-29 20:40+0200\n"
|
||||
"PO-Revision-Date: 2021-06-14 23:10+0100\n"
|
||||
"POT-Creation-Date: 2021-10-22 14:41+0200\n"
|
||||
"PO-Revision-Date: 2021-10-22 17:00+0100\n"
|
||||
"Last-Translator: Antonio Colombo <azc100@gmail.com>\n"
|
||||
"Language-Team: Italian\n"
|
||||
"Language: it\n"
|
||||
@@ -25,6 +25,29 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
msgid "ERROR: "
|
||||
msgstr "ERRORE: "
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
"[bytes] total alloc-freed %lu-%lu, in use %lu, peak use %lu\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"[byte] totali alloc-rilasc %lu-%lu, in uso %lu, max uso %lu\n"
|
||||
|
||||
msgid ""
|
||||
"[calls] total re/malloc()'s %lu, total free()'s %lu\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
"[chiamate] totale re/malloc() %lu, totale free() %lu\n"
|
||||
"\n"
|
||||
|
||||
msgid "E341: Internal error: lalloc(0, )"
|
||||
msgstr "E341: Errore interno: lalloc(0, )"
|
||||
|
||||
msgid "E342: Out of memory! (allocating %lu bytes)"
|
||||
msgstr "E342: Non c'è più memoria! (stavo allocando %lu byte)"
|
||||
|
||||
msgid "E163: There is only one file to edit"
|
||||
msgstr "E163: C'è un solo file da elaborare"
|
||||
|
||||
@@ -79,8 +102,8 @@ msgstr "E680: <buffer=%d>: numero buffer non valido"
|
||||
msgid "E217: Can't execute autocommands for ALL events"
|
||||
msgstr "E217: Non posso eseguire autocomandi per TUTTI gli eventi"
|
||||
|
||||
msgid "No matching autocommands"
|
||||
msgstr "Nessun autocomando corrispondente"
|
||||
msgid "No matching autocommands: %s"
|
||||
msgstr "Nessun autocomando corrispondente: %s"
|
||||
|
||||
msgid "E218: autocommand nesting too deep"
|
||||
msgstr "E218: nidificazione dell'autocomando troppo estesa"
|
||||
@@ -178,16 +201,10 @@ msgstr[0] "%d buffer cancellato"
|
||||
msgstr[1] "%d buffer cancellati"
|
||||
|
||||
msgid "E948: Job still running (add ! to end the job)"
|
||||
msgstr "E948: Lavoro ancora in esecuzione (aggiungi! per terminarlo)"
|
||||
|
||||
msgid "E37: No write since last change (add ! to override)"
|
||||
msgstr "E37: Non salvato dopo modifica (aggiungi ! per eseguire comunque)"
|
||||
msgstr "E948: Job ancora in esecuzione (aggiungi! per terminarlo)"
|
||||
|
||||
msgid "E948: Job still running"
|
||||
msgstr "E948: Lavoro ancora attivo"
|
||||
|
||||
msgid "E37: No write since last change"
|
||||
msgstr "E37: Non salvato dopo l'ultima modifica"
|
||||
msgstr "E948: Job ancora attivo"
|
||||
|
||||
msgid "W14: Warning: List of file names overflow"
|
||||
msgstr "W14: Avviso: Superato limite della lista dei nomi di file"
|
||||
@@ -507,11 +524,11 @@ msgstr "E821: File cifrato con metodo sconosciuto"
|
||||
msgid "Warning: Using a weak encryption method; see :help 'cm'"
|
||||
msgstr "Avviso: Metodo di cifratura debole in uso; vedere :help 'cm'"
|
||||
|
||||
msgid ""
|
||||
"Note: Encryption of swapfile not supported, disabling swap- and undofile"
|
||||
msgid "Note: Encryption of swapfile not supported, disabling swap file"
|
||||
msgstr ""
|
||||
"Nota: La cifratura del file di swap non è supportata, swap e undo sono "
|
||||
"disabilitati"
|
||||
"Nota: La cifratura del file di swap non è supportata, file di swap "
|
||||
"disabilitato"
|
||||
|
||||
msgid "Enter encryption key: "
|
||||
msgstr "Immetti chiave di cifratura: "
|
||||
|
||||
@@ -997,7 +1014,7 @@ msgid "Save changes to \"%s\"?"
|
||||
msgstr "Salvare modifiche a \"%s\"?"
|
||||
|
||||
msgid "E947: Job still running in buffer \"%s\""
|
||||
msgstr "E947: Lavoro ancora in esecuzione nel buffer \"%s\""
|
||||
msgstr "E947: Job ancora in esecuzione nel buffer \"%s\""
|
||||
|
||||
msgid "E162: No write since last change for buffer \"%s\""
|
||||
msgstr "E162: Buffer \"%s\" non salvato dopo modifica"
|
||||
@@ -1029,15 +1046,15 @@ msgstr "Sto eseguendo: %s"
|
||||
msgid "E169: Command too recursive"
|
||||
msgstr "E169: Comando troppo ricorsivo"
|
||||
|
||||
msgid "E605: Exception not caught: %s"
|
||||
msgstr "E605: Eccezione non intercettata: %s"
|
||||
|
||||
msgid "End of sourced file"
|
||||
msgstr "Fine del file di comandi"
|
||||
|
||||
msgid "End of function"
|
||||
msgstr "Fine funzione"
|
||||
|
||||
msgid "E605: Exception not caught: %s"
|
||||
msgstr "E605: Eccezione non intercettata: %s"
|
||||
|
||||
msgid "E492: Not an editor command"
|
||||
msgstr "E492: Non è un comando dell'editor"
|
||||
|
||||
@@ -1192,9 +1209,6 @@ msgstr "E500: Il valore
|
||||
msgid "Untitled"
|
||||
msgstr "Senza Nome"
|
||||
|
||||
msgid "E196: No digraphs in this version"
|
||||
msgstr "E196: Digrammi non supportati in questa versione"
|
||||
|
||||
msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
|
||||
msgstr "E608: Impossibile lanciare eccezioni con prefisso 'Vim'"
|
||||
|
||||
@@ -1931,27 +1945,9 @@ msgstr "E150: %s non
|
||||
msgid "E679: recursive loop loading syncolor.vim"
|
||||
msgstr "E679: ciclo ricorsivo nel caricamento di syncolor.vim"
|
||||
|
||||
msgid "E411: highlight group not found: %s"
|
||||
msgstr "E411: gruppo evidenziazione non trovato: %s"
|
||||
|
||||
msgid "E412: Not enough arguments: \":highlight link %s\""
|
||||
msgstr "E412: Argomenti non sufficienti: \":highlight link %s\""
|
||||
|
||||
msgid "E413: Too many arguments: \":highlight link %s\""
|
||||
msgstr "E413: Troppi argomenti: \":highlight link %s\""
|
||||
|
||||
msgid "E414: group has settings, highlight link ignored"
|
||||
msgstr "E414: 'group' ha impostazioni, 'highlight link' ignorato"
|
||||
|
||||
msgid "E415: unexpected equal sign: %s"
|
||||
msgstr "E415: segno '=' inatteso: %s"
|
||||
|
||||
msgid "E416: missing equal sign: %s"
|
||||
msgstr "E416: manca segno '=': %s"
|
||||
|
||||
msgid "E417: missing argument: %s"
|
||||
msgstr "E417: manca argomento: %s"
|
||||
|
||||
msgid "E418: Illegal value: %s"
|
||||
msgstr "E418: Valore non consentito: %s"
|
||||
|
||||
@@ -1970,6 +1966,24 @@ msgstr "E421: Numero o nome di colore non riconosciuto: %s"
|
||||
msgid "E422: terminal code too long: %s"
|
||||
msgstr "E422: codice terminale troppo lungo: %s"
|
||||
|
||||
msgid "E411: highlight group not found: %s"
|
||||
msgstr "E411: gruppo evidenziazione non trovato: %s"
|
||||
|
||||
msgid "E412: Not enough arguments: \":highlight link %s\""
|
||||
msgstr "E412: Argomenti non sufficienti: \":highlight link %s\""
|
||||
|
||||
msgid "E413: Too many arguments: \":highlight link %s\""
|
||||
msgstr "E413: Troppi argomenti: \":highlight link %s\""
|
||||
|
||||
msgid "E415: unexpected equal sign: %s"
|
||||
msgstr "E415: segno '=' inatteso: %s"
|
||||
|
||||
msgid "E416: missing equal sign: %s"
|
||||
msgstr "E416: manca segno '=': %s"
|
||||
|
||||
msgid "E417: missing argument: %s"
|
||||
msgstr "E417: manca argomento: %s"
|
||||
|
||||
msgid "E423: Illegal argument: %s"
|
||||
msgstr "E423: Argomento non consentito: %s"
|
||||
|
||||
@@ -2378,6 +2392,7 @@ msgstr " Completamento Dizionario (^K^N^P)"
|
||||
msgid " Thesaurus completion (^T^N^P)"
|
||||
msgstr " Completamento Thesaurus (^T^N^P)"
|
||||
|
||||
#. CTRL_X_EVAL doesn't use msg.
|
||||
msgid " Command-line completion (^V^N^P)"
|
||||
msgstr " Completamento riga-di-comando (^V^N^P)"
|
||||
|
||||
@@ -3581,15 +3596,6 @@ msgstr ""
|
||||
"&D Scarta Tutto\n"
|
||||
"&Cancella"
|
||||
|
||||
msgid "E766: Insufficient arguments for printf()"
|
||||
msgstr "E766: Argomenti non sufficienti per printf()"
|
||||
|
||||
msgid "E807: Expected Float argument for printf()"
|
||||
msgstr "E807: Numero-a-virgola-mobile atteso come argomento per printf()"
|
||||
|
||||
msgid "E767: Too many arguments to printf()"
|
||||
msgstr "E767: Troppi argomenti per printf()"
|
||||
|
||||
msgid "Type number and <Enter> or click with the mouse (q or empty cancels): "
|
||||
msgstr ""
|
||||
"Inserire un numero e dare <Invio> o fare clic col mouse (q o vuoto per "
|
||||
@@ -3617,29 +3623,6 @@ msgstr "Beep!"
|
||||
msgid "E677: Error writing temp file"
|
||||
msgstr "E677: Errore in scrittura su file temporaneo"
|
||||
|
||||
msgid "ERROR: "
|
||||
msgstr "ERRORE: "
|
||||
|
||||
msgid ""
|
||||
"\n"
|
||||
"[bytes] total alloc-freed %lu-%lu, in use %lu, peak use %lu\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"[byte] totali alloc-rilasc %lu-%lu, in uso %lu, max uso %lu\n"
|
||||
|
||||
msgid ""
|
||||
"[calls] total re/malloc()'s %lu, total free()'s %lu\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
"[chiamate] totale re/malloc() %lu, totale free() %lu\n"
|
||||
"\n"
|
||||
|
||||
msgid "E341: Internal error: lalloc(0, )"
|
||||
msgstr "E341: Errore interno: lalloc(0, )"
|
||||
|
||||
msgid "E342: Out of memory! (allocating %lu bytes)"
|
||||
msgstr "E342: Non c'è più memoria! (stavo allocando %lu byte)"
|
||||
|
||||
msgid "Calling shell to execute: \"%s\""
|
||||
msgstr "Chiamo la shell per eseguire: \"%s\""
|
||||
|
||||
@@ -3864,12 +3847,6 @@ msgstr "E531: Usa \":gui\" per far partire la GUI"
|
||||
msgid "E589: 'backupext' and 'patchmode' are equal"
|
||||
msgstr "E589: 'backupext' e 'patchmode' sono uguali"
|
||||
|
||||
msgid "E835: Conflicts with value of 'fillchars'"
|
||||
msgstr "E835: Conflitto con il valore di 'fillchars'"
|
||||
|
||||
msgid "E834: Conflicts with value of 'listchars'"
|
||||
msgstr "E834: Conflitto con il valore di 'listchars'"
|
||||
|
||||
msgid "E617: Cannot be changed in the GTK+ 2 GUI"
|
||||
msgstr "E617: Non può essere cambiato nella GUI GTK+ 2"
|
||||
|
||||
@@ -4239,15 +4216,6 @@ msgstr "E944: Intervallo invertito nella classe di caratteri"
|
||||
msgid "E945: Range too large in character class"
|
||||
msgstr "E945: Intervallo troppo ampio nella classe di caratteri"
|
||||
|
||||
msgid "E53: Unmatched %s%%("
|
||||
msgstr "E53: Senza riscontro: %s%%("
|
||||
|
||||
msgid "E54: Unmatched %s("
|
||||
msgstr "E54: Senza riscontro: %s("
|
||||
|
||||
msgid "E55: Unmatched %s)"
|
||||
msgstr "E55: Senza riscontro: %s)"
|
||||
|
||||
msgid "E66: \\z( not allowed here"
|
||||
msgstr "E66: \\z( non consentito qui"
|
||||
|
||||
@@ -4300,27 +4268,12 @@ msgstr "E678: Carattere non valido dopo %s%%[dxouU]"
|
||||
msgid "E71: Invalid character after %s%%"
|
||||
msgstr "E71: Carattere non valido dopo %s%%"
|
||||
|
||||
msgid "E59: invalid character after %s@"
|
||||
msgstr "E59: Carattere non valido dopo %s@"
|
||||
|
||||
msgid "E60: Too many complex %s{...}s"
|
||||
msgstr "E60: Troppi %s{...}s complessi"
|
||||
|
||||
msgid "E61: Nested %s*"
|
||||
msgstr "E61: %s* nidificato"
|
||||
|
||||
msgid "E62: Nested %s%c"
|
||||
msgstr "E62: %s%c nidificato"
|
||||
|
||||
msgid "E50: Too many \\z("
|
||||
msgstr "E50: Troppe \\z("
|
||||
|
||||
msgid "E51: Too many %s("
|
||||
msgstr "E51: Troppe %s("
|
||||
|
||||
msgid "E52: Unmatched \\z("
|
||||
msgstr "E52: Senza riscontro: \\z("
|
||||
|
||||
msgid "E339: Pattern too long"
|
||||
msgstr "E339: Espressione troppo lunga"
|
||||
|
||||
@@ -4960,6 +4913,15 @@ msgstr "Cambiare \"%.*s\" in:"
|
||||
msgid " < \"%.*s\""
|
||||
msgstr " < \"%.*s\""
|
||||
|
||||
msgid "E766: Insufficient arguments for printf()"
|
||||
msgstr "E766: Argomenti non sufficienti per printf()"
|
||||
|
||||
msgid "E807: Expected Float argument for printf()"
|
||||
msgstr "E807: Numero-a-virgola-mobile atteso come argomento per printf()"
|
||||
|
||||
msgid "E767: Too many arguments to printf()"
|
||||
msgstr "E767: Troppi argomenti per printf()"
|
||||
|
||||
msgid "E390: Illegal argument: %s"
|
||||
msgstr "E390: Argomento non consentito: %s"
|
||||
|
||||
@@ -5293,12 +5255,12 @@ msgstr "E964: Numero di colonna non valido: %ld"
|
||||
msgid "E966: Invalid line number: %ld"
|
||||
msgstr "E966: Numero di riga non valido: %ld"
|
||||
|
||||
msgid "E965: missing property type name"
|
||||
msgstr "E965: Nome del tipo di proprietà non disponibile"
|
||||
|
||||
msgid "E275: Cannot add text property to unloaded buffer"
|
||||
msgstr "E275: Non posso aggiungere proprietà di testo a un buffer scaricato"
|
||||
|
||||
msgid "E965: missing property type name"
|
||||
msgstr "E965: Nome del tipo di proprietà non disponibile"
|
||||
|
||||
msgid "E967: text property info corrupted"
|
||||
msgstr "E967: informazione sulle proprietà del testo corrotta"
|
||||
|
||||
@@ -5362,7 +5324,7 @@ msgid "E894: Using a Dictionary as a Float"
|
||||
msgstr "E894: Uso di un Dizionario come un Numero-a-virgola-mobile"
|
||||
|
||||
msgid "E362: Using a boolean value as a Float"
|
||||
msgstr "E362: Uso di un valore booleano come un Numero-a-virgola-mobile"
|
||||
msgstr "E362: Uso di un valore Booleano come un Numero-a-virgola-mobile"
|
||||
|
||||
msgid "E907: Using a special value as a Float"
|
||||
msgstr "E907: Uso di un valore speciale come un Numero-a-virgola-mobile"
|
||||
@@ -5376,16 +5338,16 @@ msgstr "E914: Uso di un Canale come un Numero-a-virgola-mobile"
|
||||
msgid "E975: Using a Blob as a Float"
|
||||
msgstr "E975: Uso di un Blob come un Numero-a-virgola-mobile"
|
||||
|
||||
msgid "E729: using Funcref as a String"
|
||||
msgid "E729: Using a Funcref as a String"
|
||||
msgstr "E729: Uso di una Funcref come una Stringa"
|
||||
|
||||
msgid "E730: using List as a String"
|
||||
msgid "E730: Using a List as a String"
|
||||
msgstr "E730: Uso di una Lista come una Stringa"
|
||||
|
||||
msgid "E731: using Dictionary as a String"
|
||||
msgid "E731: Using a Dictionary as a String"
|
||||
msgstr "E731: Uso di un Dizionario come una Stringa"
|
||||
|
||||
msgid "E976: using Blob as a String"
|
||||
msgid "E976: Using a Blob as a String"
|
||||
msgstr "E976: Uso di un Blob come una Stringa"
|
||||
|
||||
msgid "E977: Can only compare Blob with Blob"
|
||||
@@ -5598,9 +5560,6 @@ msgstr ""
|
||||
msgid "E841: Reserved name, cannot be used for user defined command"
|
||||
msgstr "E841: Nome riservato, non usabile in un comando definito dall'utente"
|
||||
|
||||
msgid "E184: No such user-defined command: %s"
|
||||
msgstr "E184: Comando definito dall'utente %s inesistente"
|
||||
|
||||
msgid "E122: Function %s already exists, add ! to replace it"
|
||||
msgstr "E122: La funzione %s esiste già, aggiungi ! per sostituirla"
|
||||
|
||||
@@ -6214,8 +6173,8 @@ msgstr ""
|
||||
"E299: Valorizzazione Perl non consentita in ambiente protetto senza il "
|
||||
"modulo Safe"
|
||||
|
||||
msgid "Edit with &multiple Vims"
|
||||
msgstr "Apri con &molti Vim"
|
||||
msgid "Edit with Vim using &tabpages"
|
||||
msgstr "Apri con Vim usando &tabpages"
|
||||
|
||||
msgid "Edit with single &Vim"
|
||||
msgstr "Apri con un solo &Vim"
|
||||
@@ -6243,9 +6202,6 @@ msgstr ""
|
||||
msgid "gvimext.dll error"
|
||||
msgstr "errore gvimext.dll"
|
||||
|
||||
msgid "Path length too long!"
|
||||
msgstr "Percorso file troppo lungo!"
|
||||
|
||||
msgid "E10: \\ should be followed by /, ? or &"
|
||||
msgstr "E10: \\ dovrebbe essere seguito da /, ? oppure &"
|
||||
|
||||
@@ -6293,12 +6249,120 @@ msgstr "E23: Nessun file alternato"
|
||||
msgid "E24: No such abbreviation"
|
||||
msgstr "E24: Abbreviazione inesistente"
|
||||
|
||||
msgid "E25: GUI cannot be used: Not enabled at compile time"
|
||||
msgstr "E25: GUI non utilizzabile: Non abilitata in compilazione"
|
||||
|
||||
msgid "E26: Hebrew cannot be used: Not enabled at compile time\n"
|
||||
msgstr "E26: Ebraico non utilizzabile: Non abilitato in compilazione\n"
|
||||
|
||||
msgid "E27: Farsi support has been removed\n"
|
||||
msgstr "E27: Il supporto per la lingua farsi non è più disponibile\n"
|
||||
|
||||
msgid "E28: No such highlight group name: %s"
|
||||
msgstr "E28: Nome di gruppo di evidenziazione inesistente: %s"
|
||||
|
||||
msgid "E29: No inserted text yet"
|
||||
msgstr "E29: Ancora nessun testo inserito"
|
||||
|
||||
msgid "E30: No previous command line"
|
||||
msgstr "E30: Nessuna riga comandi precedente"
|
||||
|
||||
msgid "E31: No such mapping"
|
||||
msgstr "E31: Mappatura inesistente"
|
||||
|
||||
msgid "E32: No file name"
|
||||
msgstr "E32: Manca nome file"
|
||||
|
||||
msgid "E33: No previous substitute regular expression"
|
||||
msgstr "E33: Nessuna espressione regolare precedente di 'substitute'"
|
||||
|
||||
msgid "E34: No previous command"
|
||||
msgstr "E34: Nessun comando precedente"
|
||||
|
||||
msgid "E35: No previous regular expression"
|
||||
msgstr "E35: Nessuna espressione regolare precedente"
|
||||
|
||||
msgid "E36: Not enough room"
|
||||
msgstr "E36: Manca spazio"
|
||||
|
||||
msgid "E37: No write since last change"
|
||||
msgstr "E37: Non salvato dopo l'ultima modifica"
|
||||
|
||||
msgid "E37: No write since last change (add ! to override)"
|
||||
msgstr "E37: Non salvato dopo modifica (aggiungi ! per eseguire comunque)"
|
||||
|
||||
msgid "E38: Null argument"
|
||||
msgstr "E38: Argomento nullo"
|
||||
|
||||
msgid "E39: Number expected"
|
||||
msgstr "E39: Atteso un numero"
|
||||
|
||||
msgid "E40: Can't open errorfile %s"
|
||||
msgstr "E40: Non riesco ad aprire il file errori %s"
|
||||
|
||||
msgid "E41: Out of memory!"
|
||||
msgstr "E41: Non c'è più memoria!"
|
||||
|
||||
msgid "E42: No Errors"
|
||||
msgstr "E42: Nessun Errore"
|
||||
|
||||
msgid "E43: Damaged match string"
|
||||
msgstr "E43: Stringa di confronto danneggiata"
|
||||
|
||||
msgid "E44: Corrupted regexp program"
|
||||
msgstr "E44: Programma 'regexp' corrotto"
|
||||
|
||||
msgid "E45: 'readonly' option is set (add ! to override)"
|
||||
msgstr "E45: file in sola-lettura (aggiungi ! per eseguire comunque)"
|
||||
|
||||
msgid "E46: Cannot change read-only variable \"%s\""
|
||||
msgstr "E46: Non posso cambiare la variabile read-only \"%s\""
|
||||
|
||||
msgid "E47: Error while reading errorfile"
|
||||
msgstr "E47: Errore leggendo il file errori"
|
||||
|
||||
msgid "E48: Not allowed in sandbox"
|
||||
msgstr "E48: Non consentito in ambiente protetto"
|
||||
|
||||
msgid "E49: Invalid scroll size"
|
||||
msgstr "E49: Quantità di scorrimento non valida"
|
||||
|
||||
msgid "E50: Too many \\z("
|
||||
msgstr "E50: Troppe \\z("
|
||||
|
||||
msgid "E51: Too many %s("
|
||||
msgstr "E51: Troppe %s("
|
||||
|
||||
msgid "E52: Unmatched \\z("
|
||||
msgstr "E52: Senza riscontro: \\z("
|
||||
|
||||
msgid "E53: Unmatched %s%%("
|
||||
msgstr "E53: Senza riscontro: %s%%("
|
||||
|
||||
msgid "E54: Unmatched %s("
|
||||
msgstr "E54: Senza riscontro: %s("
|
||||
|
||||
msgid "E55: Unmatched %s)"
|
||||
msgstr "E55: Senza riscontro: %s)"
|
||||
|
||||
msgid "E59: invalid character after %s@"
|
||||
msgstr "E59: Carattere non valido dopo %s@"
|
||||
|
||||
msgid "E60: Too many complex %s{...}s"
|
||||
msgstr "E60: Troppi %s{...}s complessi"
|
||||
|
||||
msgid "E121: Undefined variable: %s"
|
||||
msgstr "E121: Variabile non definita: %s"
|
||||
|
||||
msgid "E121: Undefined variable: %c:%s"
|
||||
msgstr "E121: Variabile non definita: %c:%s"
|
||||
|
||||
msgid "E184: No such user-defined command: %s"
|
||||
msgstr "E184: Comando definito dall'utente %s inesistente"
|
||||
|
||||
msgid "E196: No digraphs in this version"
|
||||
msgstr "E196: Digrammi non supportati in questa versione"
|
||||
|
||||
msgid "E464: Ambiguous use of user-defined command"
|
||||
msgstr "E464: Uso ambiguo di comando definito dall'utente"
|
||||
|
||||
@@ -6317,6 +6381,12 @@ msgstr "E711: Il valore della Lista non ha elementi sufficienti"
|
||||
msgid "E719: Cannot slice a Dictionary"
|
||||
msgstr "E719: Non posso suddividere un Dizionario"
|
||||
|
||||
msgid "E834: Conflicts with value of 'listchars'"
|
||||
msgstr "E834: Conflitto con il valore di 'listchars'"
|
||||
|
||||
msgid "E835: Conflicts with value of 'fillchars'"
|
||||
msgstr "E835: Conflitto con il valore di 'fillchars'"
|
||||
|
||||
msgid ""
|
||||
"E856: \"assert_fails()\" second argument must be a string or a list with one "
|
||||
"or two strings"
|
||||
@@ -6369,10 +6439,17 @@ msgstr "E1011: Nome troppo lungo: %s"
|
||||
msgid "E1012: Type mismatch; expected %s but got %s"
|
||||
msgstr "E1012: Tipo non corrispondente; atteso %s, ma ottenuto %s"
|
||||
|
||||
msgid "E1012: Type mismatch; expected %s but got %s in %s"
|
||||
msgstr "E1012: Tipo non corrispondente; atteso %s, ma ottenuto %s in %s"
|
||||
|
||||
msgid "E1013: Argument %d: type mismatch, expected %s but got %s"
|
||||
msgstr ""
|
||||
"E1013: Argomento %d: tipo non corrispondente, atteso %s, ma ottenuto %s"
|
||||
|
||||
msgid "E1013: Argument %d: type mismatch, expected %s but got %s in %s"
|
||||
msgstr ""
|
||||
"E1013: Argomento %d: tipo non corrispondente, atteso %s, ma ottenuto %s in %s"
|
||||
|
||||
msgid "E1014: Invalid key: %s"
|
||||
msgstr "E1014: Chiave non valida: %s"
|
||||
|
||||
@@ -6476,8 +6553,8 @@ msgstr "E1045: Manca \"as\" dopo *"
|
||||
msgid "E1046: Missing comma in import"
|
||||
msgstr "E1046: Manca virgola in import"
|
||||
|
||||
msgid "E1047: Syntax error in import"
|
||||
msgstr "E1047: Errore di sintassi in import"
|
||||
msgid "E1047: Syntax error in import: %s"
|
||||
msgstr "E1047: Errore di sintassi in import: %s"
|
||||
|
||||
msgid "E1048: Item not found in script: %s"
|
||||
msgstr "E1048: Elemento non trovato nello script: %s"
|
||||
@@ -6615,6 +6692,9 @@ msgstr ""
|
||||
msgid "E1097: Line incomplete"
|
||||
msgstr "E1097: Riga incompleta"
|
||||
|
||||
msgid "E1098: String, List or Blob required"
|
||||
msgstr "E1098: Necessaria Stringa, Lista, o Blob"
|
||||
|
||||
msgid "E1099: Unknown error while executing %s"
|
||||
msgstr "E1099: Errore sconosciuto mentre era in esecuzione %s"
|
||||
|
||||
@@ -6786,8 +6866,8 @@ msgstr "E1151: :endfunction senza corrispondenza"
|
||||
msgid "E1152: Mismatched enddef"
|
||||
msgstr "E1152: :enddef senza corrispondenza"
|
||||
|
||||
msgid "E1153: Invalid operation for bool"
|
||||
msgstr "E1153: Operazione non valida per un valore Booleano"
|
||||
msgid "E1153: Invalid operation for %s"
|
||||
msgstr "E1153: Operazione non valida per %s"
|
||||
|
||||
msgid "E1154: Divide by zero"
|
||||
msgstr "E1154: Divisione per zero"
|
||||
@@ -6822,6 +6902,10 @@ msgid "E1163: Variable %d: type mismatch, expected %s but got %s"
|
||||
msgstr ""
|
||||
"E1163: Variabile %d: tipo non corrispondente, atteso %s, ma ottenuto %s"
|
||||
|
||||
msgid "E1163: Variable %d: type mismatch, expected %s but got %s in %s"
|
||||
msgstr ""
|
||||
"E1163: Variabile %d: tipo non corrispondente, atteso %s, ma ottenuto %s in %s"
|
||||
|
||||
msgid "E1164: vim9cmd must be followed by a command"
|
||||
msgstr "E1164: vim9cmd dev'essere seguito da un comando"
|
||||
|
||||
@@ -6853,10 +6937,10 @@ msgid "E1173: Text found after enddef: %s"
|
||||
msgstr "E1173: Trovato del testo dopo enddef: %s"
|
||||
|
||||
msgid "E1174: String required for argument %d"
|
||||
msgstr "E1174: Una Stringa richiesta per argomento %d"
|
||||
msgstr "E1174: Stringa richiesta per argomento %d"
|
||||
|
||||
msgid "E1175: Non-empty string required for argument %d"
|
||||
msgstr "E1175: Una Stringa non vuota richiesta come argomento %d"
|
||||
msgstr "E1175: Stringa non vuota richiesta come argomento %d"
|
||||
|
||||
msgid "E1176: Misplaced command modifier"
|
||||
msgstr "E1176: Modificatore di comando fuori posto"
|
||||
@@ -6922,20 +7006,18 @@ msgid "E1192: Empty function name"
|
||||
msgstr "E1192: Nome funzione vuoto"
|
||||
|
||||
msgid "E1193: cryptmethod xchacha20 not built into this Vim"
|
||||
msgstr "E1193: Metodo di cifratura xchacha20 non disponibile in questa "
|
||||
"versione di Vim"
|
||||
msgstr ""
|
||||
"E1193: Metodo di cifratura xchacha20 non disponibile in questa versione di "
|
||||
"Vim"
|
||||
|
||||
msgid "E1194: Cannot encrypt header, not enough space"
|
||||
msgstr ""
|
||||
"E1194: Impossibile cifrare intestazione, non c'è spazio sufficiente"
|
||||
msgstr "E1194: Impossibile cifrare intestazione, non c'è spazio sufficiente"
|
||||
|
||||
msgid "E1195: Cannot encrypt buffer, not enough space"
|
||||
msgstr ""
|
||||
"E1195: Impossibile cifrare buffer, non c'è spazio sufficiente"
|
||||
msgstr "E1195: Impossibile cifrare buffer, non c'è spazio sufficiente"
|
||||
|
||||
msgid "E1196: Cannot decrypt header, not enough space"
|
||||
msgstr ""
|
||||
"E1196: Impossibile decifrare intestazione, non c'è spazio sufficiente"
|
||||
msgstr "E1196: Impossibile decifrare intestazione, non c'è spazio sufficiente"
|
||||
|
||||
msgid "E1197: Cannot allocate_buffer for encryption"
|
||||
msgstr "E1197: Fallita chiamata ad allocate_buffer per la cifratura"
|
||||
@@ -6944,8 +7026,7 @@ msgid "E1198: Decryption failed: Header incomplete!"
|
||||
msgstr "E1198: Decifrazione fallita: Intestazione incompleta!"
|
||||
|
||||
msgid "E1199: Cannot decrypt buffer, not enough space"
|
||||
msgstr ""
|
||||
"E1199: Impossibile decifrare intestazione, non c'è spazio sufficiente"
|
||||
msgstr "E1199: Impossibile decifrare intestazione, non c'è spazio sufficiente"
|
||||
|
||||
msgid "E1200: Decryption failed!"
|
||||
msgstr "E1200: Decifrazione fallita!"
|
||||
@@ -6959,6 +7040,128 @@ msgstr "E1202: Nessuno spazio bianco consentito dopo '%s': %s"
|
||||
msgid "E1203: Dot can only be used on a dictionary: %s"
|
||||
msgstr "E1203: Il punto può essere usato solo in un dizionario: %s"
|
||||
|
||||
msgid "E1204: No Number allowed after .: '\\%%%c'"
|
||||
msgstr "E1204: Nessun Numero consentito dopo .: '\\%%%c'"
|
||||
|
||||
msgid "E1205: No white space allowed between option and"
|
||||
msgstr "E1205: Nessuno spazio bianco consentito tra l'opzione e"
|
||||
|
||||
msgid "E1206: Dictionary required for argument %d"
|
||||
msgstr "E1206: Dizionario richiesto per argomento %d"
|
||||
|
||||
msgid "E1207: Expression without an effect: %s"
|
||||
msgstr "E1207: Expressione che non produce alcun effetto: %s"
|
||||
|
||||
msgid "E1208: -complete used without allowing arguments"
|
||||
msgstr "E1208: -complete usato senza conetntire alcun argomento"
|
||||
|
||||
msgid "E1209: Invalid value for a line number: \"%s\""
|
||||
msgstr "E1209: Valore non valido come numero di riga: \"%s\""
|
||||
|
||||
msgid "E1210: Number required for argument %d"
|
||||
msgstr "E1210: Numero richiesto per argomento %d"
|
||||
|
||||
msgid "E1211: List required for argument %d"
|
||||
msgstr "E1211: Una Lista richiesta per argomento %d"
|
||||
|
||||
msgid "E1212: Bool required for argument %d"
|
||||
msgstr "E1212: Valore Booleano richiesto per argomento %d"
|
||||
|
||||
msgid "E1213: Redefining imported item \"%s\""
|
||||
msgstr "E1213: Ridefinisco elemento importato \"%s\""
|
||||
|
||||
msgid "E1214: Digraph must be just two characters: %s"
|
||||
msgstr "E1214: Il digramma dev'essere formato da due soli caratteri: %s"
|
||||
|
||||
msgid "E1215: Digraph must be one character: %s"
|
||||
msgstr "E1215: Il digramma dev'essere formato da un solo carattere: %s"
|
||||
|
||||
msgid ""
|
||||
"E1216: digraph_setlist() argument must be a list of lists with two items"
|
||||
msgstr ""
|
||||
"E1216: l'argomento a digraph_setlist() dev'essere una Lista di Liste con due elementi"
|
||||
|
||||
msgid "E1217: Channel or Job required for argument %d"
|
||||
msgstr "E1217: Canale o Job richiesto per argomento %d"
|
||||
|
||||
msgid "E1218: Job required for argument %d"
|
||||
msgstr "E1218: Job richiesto per argomento %d"
|
||||
|
||||
msgid "E1219: Float or Number required for argument %d"
|
||||
msgstr "E1219: Numero-a-virgola-mobile o Numero richiesto per argomento %d"
|
||||
|
||||
msgid "E1220: String or Number required for argument %d"
|
||||
msgstr "E1220: Stringa o Numero richiesto per argomento %d"
|
||||
|
||||
msgid "E1221: String or Blob required for argument %d"
|
||||
msgstr "E1221: Stringa o Blob richiesto per argomento %d"
|
||||
|
||||
msgid "E1222: String or List required for argument %d"
|
||||
msgstr "E1222: Stringa o Lista richiesta per argomento %d"
|
||||
|
||||
msgid "E1223: String or Dictionary required for argument %d"
|
||||
msgstr "E1223: String o Dizionario richiesto per argomento %d"
|
||||
|
||||
msgid "E1224: String, Number or List required for argument %d"
|
||||
msgstr "E1224: Stringa, Numero o Lista richiesto per argomento %d"
|
||||
|
||||
msgid "E1225: String, List or Dictionary required for argument %d"
|
||||
msgstr "E1225: Stringa, Lista o Dizionario richiesto per argomento %d"
|
||||
|
||||
msgid "E1226: List or Blob required for argument %d"
|
||||
msgstr "E1226: Lista o Blob richiesto per argomento %d"
|
||||
|
||||
msgid "E1227: List or Dictionary required for argument %d"
|
||||
msgstr "E1227: Lista o Dizionario richiesto per argomento %d"
|
||||
|
||||
msgid "E1228: List, Dictionary or Blob required for argument %d"
|
||||
msgstr "E1228: Lista, Dizionario o Blob richiesto per argomento %d"
|
||||
|
||||
msgid "E1229: Expected dictionary for using key \"%s\", but got %s"
|
||||
msgstr "E1229: Atteso Dizionario per usare chiave \"%s\", ma ottenuto %s"
|
||||
|
||||
msgid "E1230: Encryption: sodium_mlock() failed"
|
||||
msgstr "E1230: CIfratura: sodium_mlock() fallita"
|
||||
|
||||
msgid "E1231: Cannot use a bar to separate commands here: %s"
|
||||
msgstr "E1231: Non si può usare una barra per separare comandi qui: %s"
|
||||
|
||||
msgid "E1232: Argument of exists_compiled() must be a literal string"
|
||||
msgstr "E1232: L'argomento di exists_compiled() dev'essere una stringa di caratteri"
|
||||
|
||||
msgid "E1233: exists_compiled() can only be used in a :def function"
|
||||
msgstr "E1233: exists_compiled() si può usare solo in una funzione :def"
|
||||
|
||||
msgid "E1234: legacy must be followed by a command"
|
||||
msgstr "E1234: legacy dev'essere seguito da un comando"
|
||||
|
||||
msgid "E1235: Function reference is not set"
|
||||
msgstr "E1235: Riferimento di funzione non impostato"
|
||||
|
||||
msgid "E1236: Cannot use %s itself, it is imported with '*'"
|
||||
msgstr "E1236: Non posso usare %s stesso, è importato con '*'"
|
||||
|
||||
msgid "E1237: No such user-defined command in current buffer: %s"
|
||||
msgstr "E1237: Questo comando utente non c'è nel buffer corrente: %s"
|
||||
|
||||
msgid "E1238: Blob required for argument %d"
|
||||
msgstr "E1238: Blob richiesto per argomento %d"
|
||||
|
||||
msgid "E1239: Invalid value for blob: %d"
|
||||
msgstr "E1239: Valore non valido per blob: %d"
|
||||
|
||||
msgid "E1240: Resulting text too long"
|
||||
msgstr "E1240: Testo risultante troppo lungo"
|
||||
|
||||
msgid "E1241: Separator not supported: %s"
|
||||
msgstr "E1241: Separatore nod supportato: %s"
|
||||
|
||||
msgid "E1242: No white space allowed before separator: %s"
|
||||
msgstr "E1242: Nessuno spazio bianco consentito prima del separatore: %s"
|
||||
|
||||
msgid "E1243: ASCII code not in 32-127 range"
|
||||
msgstr "E1243: codice ASCII non nell'intervallo 32-127"
|
||||
|
||||
msgid "--No lines in buffer--"
|
||||
msgstr "--File vuoto--"
|
||||
|
||||
@@ -7047,60 +7250,27 @@ msgstr "E364: Chiamata a libreria fallita per \"%s()\""
|
||||
msgid "E667: Fsync failed"
|
||||
msgstr "E667: Fsync fallito"
|
||||
|
||||
msgid "E370: Could not load library %s: %s"
|
||||
msgstr "E370: Non riesco a caricare la libreria %s: %s"
|
||||
|
||||
msgid "E448: Could not load library function %s"
|
||||
msgstr "E448: Non posso caricare la funzione di libreria %s"
|
||||
|
||||
msgid "E477: No ! allowed"
|
||||
msgstr "E477: ! non consentito"
|
||||
|
||||
msgid "E25: GUI cannot be used: Not enabled at compile time"
|
||||
msgstr "E25: GUI non utilizzabile: Non abilitata in compilazione"
|
||||
|
||||
msgid "E26: Hebrew cannot be used: Not enabled at compile time\n"
|
||||
msgstr "E26: Ebraico non utilizzabile: Non abilitato in compilazione\n"
|
||||
|
||||
msgid "E27: Farsi support has been removed\n"
|
||||
msgstr "E27: Il supporto per la lingua farsi non è più disponibile\n"
|
||||
|
||||
msgid "E800: Arabic cannot be used: Not enabled at compile time\n"
|
||||
msgstr "E800: Arabo non utilizzabile: Non abilitato in compilazione\n"
|
||||
|
||||
msgid "E28: No such highlight group name: %s"
|
||||
msgstr "E28: Nome di gruppo di evidenziazione inesistente: %s"
|
||||
|
||||
msgid "E29: No inserted text yet"
|
||||
msgstr "E29: Ancora nessun testo inserito"
|
||||
|
||||
msgid "E30: No previous command line"
|
||||
msgstr "E30: Nessuna riga comandi precedente"
|
||||
|
||||
msgid "E31: No such mapping"
|
||||
msgstr "E31: Mappatura inesistente"
|
||||
|
||||
msgid "E479: No match"
|
||||
msgstr "E479: Nessuna corrispondenza"
|
||||
|
||||
msgid "E480: No match: %s"
|
||||
msgstr "E480: Nessuna corrispondenza: %s"
|
||||
|
||||
msgid "E32: No file name"
|
||||
msgstr "E32: Manca nome file"
|
||||
|
||||
msgid "E33: No previous substitute regular expression"
|
||||
msgstr "E33: Nessuna espressione regolare precedente di 'substitute'"
|
||||
|
||||
msgid "E34: No previous command"
|
||||
msgstr "E34: Nessun comando precedente"
|
||||
|
||||
msgid "E35: No previous regular expression"
|
||||
msgstr "E35: Nessuna espressione regolare precedente"
|
||||
|
||||
msgid "E481: No range allowed"
|
||||
msgstr "E481: Nessun intervallo consentito"
|
||||
|
||||
msgid "E36: Not enough room"
|
||||
msgstr "E36: Manca spazio"
|
||||
|
||||
msgid "E247: no registered server named \"%s\""
|
||||
msgstr "E247: non esiste server registrato con nome \"%s\""
|
||||
|
||||
@@ -7116,21 +7286,9 @@ msgstr "E484: Non riesco ad aprire il file %s"
|
||||
msgid "E485: Can't read file %s"
|
||||
msgstr "E485: Non riesco a leggere il file %s"
|
||||
|
||||
msgid "E38: Null argument"
|
||||
msgstr "E38: Argomento nullo"
|
||||
|
||||
msgid "E39: Number expected"
|
||||
msgstr "E39: Atteso un numero"
|
||||
|
||||
msgid "E40: Can't open errorfile %s"
|
||||
msgstr "E40: Non riesco ad aprire il file errori %s"
|
||||
|
||||
msgid "E233: cannot open display"
|
||||
msgstr "E233: non riesco ad aprire lo schermo"
|
||||
|
||||
msgid "E41: Out of memory!"
|
||||
msgstr "E41: Non c'è più memoria!"
|
||||
|
||||
msgid "Pattern not found"
|
||||
msgstr "Espressione non trovata"
|
||||
|
||||
@@ -7143,21 +7301,9 @@ msgstr "E487: L'argomento dev'essere positivo"
|
||||
msgid "E459: Cannot go back to previous directory"
|
||||
msgstr "E459: Non posso tornare alla directory precedente"
|
||||
|
||||
msgid "E42: No Errors"
|
||||
msgstr "E42: Nessun Errore"
|
||||
|
||||
msgid "E776: No location list"
|
||||
msgstr "E776: Nessuna lista locazioni"
|
||||
|
||||
msgid "E43: Damaged match string"
|
||||
msgstr "E43: Stringa di confronto danneggiata"
|
||||
|
||||
msgid "E44: Corrupted regexp program"
|
||||
msgstr "E44: Programma 'regexp' corrotto"
|
||||
|
||||
msgid "E45: 'readonly' option is set (add ! to override)"
|
||||
msgstr "E45: file in sola-lettura (aggiungi ! per eseguire comunque)"
|
||||
|
||||
msgid "E734: Wrong variable type for %s="
|
||||
msgstr "E734: Tipo di variabile errato per %s="
|
||||
|
||||
@@ -7167,9 +7313,6 @@ msgstr "E461: Nome di variabile non consentito: %s"
|
||||
msgid "E995: Cannot modify existing variable"
|
||||
msgstr "E995: Non posso modificare una variabile esistente"
|
||||
|
||||
msgid "E46: Cannot change read-only variable \"%s\""
|
||||
msgstr "E46: Non posso cambiare la variabile read-only \"%s\""
|
||||
|
||||
msgid "E794: Cannot set variable in the sandbox: \"%s\""
|
||||
msgstr ""
|
||||
"E794: Non posso impostare la variabile read-only in ambiente protetto: \"%s\""
|
||||
@@ -7177,8 +7320,14 @@ msgstr ""
|
||||
msgid "E928: String required"
|
||||
msgstr "E928: Stringa necessaria"
|
||||
|
||||
msgid "E889: Number required"
|
||||
msgstr "E889: Numero richiesto"
|
||||
|
||||
msgid "E839: Bool required"
|
||||
msgstr "E839: Valore Boleano richiesto"
|
||||
|
||||
msgid "E713: Cannot use empty key for Dictionary"
|
||||
msgstr "E713: Non posso usare una chiave nulla per il Dizionario"
|
||||
msgstr "E713: Non posso usare una chiave nulla per Dizionario"
|
||||
|
||||
msgid "E715: Dictionary required"
|
||||
msgstr "E715: È necessario un Dizionario"
|
||||
@@ -7235,12 +7384,6 @@ msgstr ""
|
||||
msgid "E857: Dictionary key \"%s\" required"
|
||||
msgstr "E857: Chiave di Dizionario \"%s\" richiesta"
|
||||
|
||||
msgid "E47: Error while reading errorfile"
|
||||
msgstr "E47: Errore leggendo il file errori"
|
||||
|
||||
msgid "E48: Not allowed in sandbox"
|
||||
msgstr "E48: Non consentito in ambiente protetto"
|
||||
|
||||
msgid "E523: Not allowed here"
|
||||
msgstr "E523: Non consentito qui"
|
||||
|
||||
@@ -7253,9 +7396,6 @@ msgstr "E565: Non
|
||||
msgid "E359: Screen mode setting not supported"
|
||||
msgstr "E359: Impostazione modalità schermo non supportata"
|
||||
|
||||
msgid "E49: Invalid scroll size"
|
||||
msgstr "E49: Quantità di scorrimento non valida"
|
||||
|
||||
msgid "E91: 'shell' option is empty"
|
||||
msgstr "E91: opzione 'shell' non impostata"
|
||||
|
||||
@@ -7412,6 +7552,12 @@ msgstr "E940: Non riesco a bloccare o sbloccare la variabile %s"
|
||||
msgid "E254: Cannot allocate color %s"
|
||||
msgstr "E254: Non riesco ad allocare il colore %s"
|
||||
|
||||
msgid "E706: Channel or Job required"
|
||||
msgstr "E706: Canale o Job richiesto"
|
||||
|
||||
msgid "E693: Job required"
|
||||
msgstr "E693: Job richiesto"
|
||||
|
||||
msgid "search hit TOP, continuing at BOTTOM"
|
||||
msgstr "raggiunta la CIMA nella ricerca, continuo dal FONDO"
|
||||
|
||||
@@ -9168,3 +9314,9 @@ msgstr "nome della libreria dinamica MzScheme"
|
||||
|
||||
msgid "name of the MzScheme GC dynamic library"
|
||||
msgstr "nome della libreria dinamica MzScheme GC"
|
||||
|
||||
#~ msgid "Edit with &multiple Vims"
|
||||
#~ msgstr "Apri con &molti Vim"
|
||||
|
||||
#~ msgid "Path length too long!"
|
||||
#~ msgstr "Percorso file troppo lungo!"
|
||||
|
||||
@@ -34,6 +34,7 @@ void free_for_info(void *fi_void);
|
||||
void set_context_for_expression(expand_T *xp, char_u *arg, cmdidx_T cmdidx);
|
||||
int pattern_match(char_u *pat, char_u *text, int ic);
|
||||
char_u *skipwhite_and_linebreak(char_u *arg, evalarg_T *evalarg);
|
||||
void init_evalarg(evalarg_T *evalarg);
|
||||
void clear_evalarg(evalarg_T *evalarg, exarg_T *eap);
|
||||
int eval0(char_u *arg, typval_T *rettv, exarg_T *eap, evalarg_T *evalarg);
|
||||
int eval1(char_u **arg, typval_T *rettv, evalarg_T *evalarg);
|
||||
|
||||
@@ -14,6 +14,12 @@ void hl_set_font_name(char_u *font_name);
|
||||
void hl_set_bg_color_name(char_u *name);
|
||||
void hl_set_fg_color_name(char_u *name);
|
||||
guicolor_T color_name2handle(char_u *name);
|
||||
guicolor_T decode_hex_color(char_u *hex);
|
||||
guicolor_T colorname2rgb(char_u *name);
|
||||
void save_colorname_hexstr(int r, int g, int b, char_u *name);
|
||||
void load_default_colors_lists(void);
|
||||
guicolor_T gui_get_color_cmn(char_u *name);
|
||||
guicolor_T gui_get_rgb_color_cmn(int r, int g, int b);
|
||||
int get_cterm_attr_idx(int attr, int fg, int bg);
|
||||
int get_tgc_attr_idx(int attr, guicolor_T fg, guicolor_T bg);
|
||||
int get_gui_attr_idx(int attr, guicolor_T fg, guicolor_T bg);
|
||||
|
||||
@@ -83,8 +83,6 @@ void show_termcodes(void);
|
||||
int show_one_termcode(char_u *name, char_u *code, int printit);
|
||||
void update_tcap(int attr);
|
||||
void swap_tcap(void);
|
||||
guicolor_T gui_get_color_cmn(char_u *name);
|
||||
guicolor_T gui_get_rgb_color_cmn(int r, int g, int b);
|
||||
void cterm_color2rgb(int nr, char_u *r, char_u *g, char_u *b, char_u *ansi_idx);
|
||||
void term_replace_bs_del_keycode(char_u *ta_buf, int ta_len, int len);
|
||||
/* vim: set ft=c : */
|
||||
|
||||
+5
-2
@@ -1906,8 +1906,11 @@ typedef struct {
|
||||
// pointer to the last line obtained with getsourceline()
|
||||
char_u *eval_tofree;
|
||||
|
||||
// pointer to the last line of an inline function
|
||||
char_u *eval_tofree_cmdline;
|
||||
// array with lines of an inline function
|
||||
garray_T eval_tofree_ga;
|
||||
|
||||
// set when "arg" points into the last entry of "eval_tofree_ga"
|
||||
int eval_using_cmdline;
|
||||
|
||||
// pointer to the lines concatenated for a lambda.
|
||||
char_u *eval_tofree_lambda;
|
||||
|
||||
+1
-198
@@ -1359,7 +1359,7 @@ termgui_get_color(char_u *name)
|
||||
t = termgui_mch_get_color(name);
|
||||
|
||||
if (t == INVALCOLOR)
|
||||
semsg(_(e_alloc_color), name);
|
||||
semsg(_(e_cannot_allocate_color_str), name);
|
||||
return t;
|
||||
}
|
||||
|
||||
@@ -6636,203 +6636,6 @@ swap_tcap(void)
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS) || defined(PROTO)
|
||||
static int
|
||||
hex_digit(int c)
|
||||
{
|
||||
if (isdigit(c))
|
||||
return c - '0';
|
||||
c = TOLOWER_ASC(c);
|
||||
if (c >= 'a' && c <= 'f')
|
||||
return c - 'a' + 10;
|
||||
return 0x1ffffff;
|
||||
}
|
||||
|
||||
# ifdef VIMDLL
|
||||
static guicolor_T
|
||||
gui_adjust_rgb(guicolor_T c)
|
||||
{
|
||||
if (gui.in_use)
|
||||
return c;
|
||||
else
|
||||
return ((c & 0xff) << 16) | (c & 0x00ff00) | ((c >> 16) & 0xff);
|
||||
}
|
||||
# else
|
||||
# define gui_adjust_rgb(c) (c)
|
||||
# endif
|
||||
|
||||
guicolor_T
|
||||
gui_get_color_cmn(char_u *name)
|
||||
{
|
||||
// On MS-Windows an RGB macro is available and it produces 0x00bbggrr color
|
||||
// values as used by the MS-Windows GDI api. It should be used only for
|
||||
// MS-Windows GDI builds.
|
||||
# if defined(RGB) && defined(MSWIN) && !defined(FEAT_GUI)
|
||||
# undef RGB
|
||||
# endif
|
||||
# ifndef RGB
|
||||
# define RGB(r, g, b) ((r<<16) | (g<<8) | (b))
|
||||
# endif
|
||||
# define LINE_LEN 100
|
||||
FILE *fd;
|
||||
char line[LINE_LEN];
|
||||
char_u *fname;
|
||||
int r, g, b, i;
|
||||
guicolor_T color;
|
||||
|
||||
struct rgbcolor_table_S {
|
||||
char_u *color_name;
|
||||
guicolor_T color;
|
||||
};
|
||||
|
||||
// Only non X11 colors (not present in rgb.txt) and colors in
|
||||
// color_names[], useful when $VIMRUNTIME is not found,.
|
||||
static struct rgbcolor_table_S rgb_table[] = {
|
||||
{(char_u *)"black", RGB(0x00, 0x00, 0x00)},
|
||||
{(char_u *)"blue", RGB(0x00, 0x00, 0xFF)},
|
||||
{(char_u *)"brown", RGB(0xA5, 0x2A, 0x2A)},
|
||||
{(char_u *)"cyan", RGB(0x00, 0xFF, 0xFF)},
|
||||
{(char_u *)"darkblue", RGB(0x00, 0x00, 0x8B)},
|
||||
{(char_u *)"darkcyan", RGB(0x00, 0x8B, 0x8B)},
|
||||
{(char_u *)"darkgray", RGB(0xA9, 0xA9, 0xA9)},
|
||||
{(char_u *)"darkgreen", RGB(0x00, 0x64, 0x00)},
|
||||
{(char_u *)"darkgrey", RGB(0xA9, 0xA9, 0xA9)},
|
||||
{(char_u *)"darkmagenta", RGB(0x8B, 0x00, 0x8B)},
|
||||
{(char_u *)"darkred", RGB(0x8B, 0x00, 0x00)},
|
||||
{(char_u *)"darkyellow", RGB(0x8B, 0x8B, 0x00)}, // No X11
|
||||
{(char_u *)"gray", RGB(0xBE, 0xBE, 0xBE)},
|
||||
{(char_u *)"green", RGB(0x00, 0xFF, 0x00)},
|
||||
{(char_u *)"grey", RGB(0xBE, 0xBE, 0xBE)},
|
||||
{(char_u *)"grey40", RGB(0x66, 0x66, 0x66)},
|
||||
{(char_u *)"grey50", RGB(0x7F, 0x7F, 0x7F)},
|
||||
{(char_u *)"grey90", RGB(0xE5, 0xE5, 0xE5)},
|
||||
{(char_u *)"lightblue", RGB(0xAD, 0xD8, 0xE6)},
|
||||
{(char_u *)"lightcyan", RGB(0xE0, 0xFF, 0xFF)},
|
||||
{(char_u *)"lightgray", RGB(0xD3, 0xD3, 0xD3)},
|
||||
{(char_u *)"lightgreen", RGB(0x90, 0xEE, 0x90)},
|
||||
{(char_u *)"lightgrey", RGB(0xD3, 0xD3, 0xD3)},
|
||||
{(char_u *)"lightmagenta", RGB(0xFF, 0x8B, 0xFF)}, // No X11
|
||||
{(char_u *)"lightred", RGB(0xFF, 0x8B, 0x8B)}, // No X11
|
||||
{(char_u *)"lightyellow", RGB(0xFF, 0xFF, 0xE0)},
|
||||
{(char_u *)"magenta", RGB(0xFF, 0x00, 0xFF)},
|
||||
{(char_u *)"red", RGB(0xFF, 0x00, 0x00)},
|
||||
{(char_u *)"seagreen", RGB(0x2E, 0x8B, 0x57)},
|
||||
{(char_u *)"white", RGB(0xFF, 0xFF, 0xFF)},
|
||||
{(char_u *)"yellow", RGB(0xFF, 0xFF, 0x00)},
|
||||
};
|
||||
|
||||
static struct rgbcolor_table_S *colornames_table;
|
||||
static int size = 0;
|
||||
|
||||
if (name[0] == '#' && STRLEN(name) == 7)
|
||||
{
|
||||
// Name is in "#rrggbb" format
|
||||
color = RGB(((hex_digit(name[1]) << 4) + hex_digit(name[2])),
|
||||
((hex_digit(name[3]) << 4) + hex_digit(name[4])),
|
||||
((hex_digit(name[5]) << 4) + hex_digit(name[6])));
|
||||
if (color > 0xffffff)
|
||||
return INVALCOLOR;
|
||||
return gui_adjust_rgb(color);
|
||||
}
|
||||
|
||||
// Check if the name is one of the colors we know
|
||||
for (i = 0; i < (int)ARRAY_LENGTH(rgb_table); i++)
|
||||
if (STRICMP(name, rgb_table[i].color_name) == 0)
|
||||
return gui_adjust_rgb(rgb_table[i].color);
|
||||
|
||||
/*
|
||||
* Last attempt. Look in the file "$VIMRUNTIME/rgb.txt".
|
||||
*/
|
||||
if (size == 0)
|
||||
{
|
||||
int counting;
|
||||
|
||||
// colornames_table not yet initialized
|
||||
fname = expand_env_save((char_u *)"$VIMRUNTIME/rgb.txt");
|
||||
if (fname == NULL)
|
||||
return INVALCOLOR;
|
||||
|
||||
fd = fopen((char *)fname, "rt");
|
||||
vim_free(fname);
|
||||
if (fd == NULL)
|
||||
{
|
||||
if (p_verbose > 1)
|
||||
verb_msg(_("Cannot open $VIMRUNTIME/rgb.txt"));
|
||||
size = -1; // don't try again
|
||||
return INVALCOLOR;
|
||||
}
|
||||
|
||||
for (counting = 1; counting >= 0; --counting)
|
||||
{
|
||||
if (!counting)
|
||||
{
|
||||
colornames_table = ALLOC_MULT(struct rgbcolor_table_S, size);
|
||||
if (colornames_table == NULL)
|
||||
{
|
||||
fclose(fd);
|
||||
return INVALCOLOR;
|
||||
}
|
||||
rewind(fd);
|
||||
}
|
||||
size = 0;
|
||||
|
||||
while (!feof(fd))
|
||||
{
|
||||
size_t len;
|
||||
int pos;
|
||||
|
||||
vim_ignoredp = fgets(line, LINE_LEN, fd);
|
||||
len = strlen(line);
|
||||
|
||||
if (len <= 1 || line[len - 1] != '\n')
|
||||
continue;
|
||||
|
||||
line[len - 1] = '\0';
|
||||
|
||||
i = sscanf(line, "%d %d %d %n", &r, &g, &b, &pos);
|
||||
if (i != 3)
|
||||
continue;
|
||||
|
||||
if (!counting)
|
||||
{
|
||||
char_u *s = vim_strsave((char_u *)line + pos);
|
||||
|
||||
if (s == NULL)
|
||||
{
|
||||
fclose(fd);
|
||||
return INVALCOLOR;
|
||||
}
|
||||
colornames_table[size].color_name = s;
|
||||
colornames_table[size].color = (guicolor_T)RGB(r, g, b);
|
||||
}
|
||||
size++;
|
||||
|
||||
// The distributed rgb.txt has less than 1000 entries. Limit to
|
||||
// 10000, just in case the file was messed up.
|
||||
if (size == 10000)
|
||||
break;
|
||||
}
|
||||
}
|
||||
fclose(fd);
|
||||
}
|
||||
|
||||
for (i = 0; i < size; i++)
|
||||
if (STRICMP(name, colornames_table[i].color_name) == 0)
|
||||
return gui_adjust_rgb(colornames_table[i].color);
|
||||
|
||||
return INVALCOLOR;
|
||||
}
|
||||
|
||||
guicolor_T
|
||||
gui_get_rgb_color_cmn(int r, int g, int b)
|
||||
{
|
||||
guicolor_T color = RGB(r, g, b);
|
||||
|
||||
if (color > 0xffffff)
|
||||
return INVALCOLOR;
|
||||
return gui_adjust_rgb(color);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if (defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))) || defined(FEAT_TERMINAL) \
|
||||
|| defined(PROTO)
|
||||
|
||||
@@ -2000,6 +2000,7 @@ term_check_timers(int next_due_arg, proftime_T *now)
|
||||
set_terminal_mode(term_T *term, int normal_mode)
|
||||
{
|
||||
term->tl_normal_mode = normal_mode;
|
||||
trigger_modechanged();
|
||||
if (!normal_mode)
|
||||
handle_postponed_scrollback(term);
|
||||
VIM_CLEAR(term->tl_status_text);
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|6+0#0000000#5fd7ff255| @33
|
||||
| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|7+0#0000000#5fd7ff255| @33
|
||||
| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|8+0#0000000#5fd7ff255| @33
|
||||
| +0#0000e05#a8a8a8255@1|9+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|9+0#0000000#ffffff0| @33
|
||||
| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32
|
||||
| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0@1| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0@1| @32
|
||||
| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|2| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|2| @32
|
||||
| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|3| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|3| @32
|
||||
| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|4| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|4| @32
|
||||
| +0#0000e05#a8a8a8255@1|1+0#0000000#ffd7ff255|5|x+2&#ff404010| +0&#ffd7ff255@31||+1&#ffffff0| +0#0000e05#a8a8a8255@1|1+0#0000000#ffd7ff255|5>y+2&#ff404010| +0&#ffd7ff255@31
|
||||
|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
|
||||
|~| @35||+1#0000000&|~+0#4040ff13&| @35
|
||||
|~| @35||+1#0000000&|~+0#4040ff13&| @35
|
||||
|~| @35||+1#0000000&|~+0#4040ff13&| @35
|
||||
|~| @35||+1#0000000&|~+0#4040ff13&| @35
|
||||
|~| @35||+1#0000000&|~+0#4040ff13&| @35
|
||||
|~| @35||+1#0000000&|~+0#4040ff13&| @35
|
||||
|~| @35||+1#0000000&|~+0#4040ff13&| @35
|
||||
|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|7|,|3| @11|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|5|,|3| @10|B|o|t
|
||||
| +0&&@74
|
||||
@@ -760,33 +760,33 @@ func Test_OptionSet()
|
||||
call assert_equal(g:opt[0], g:opt[1])
|
||||
|
||||
|
||||
" 19a: Setting string local-global (to buffer) option"
|
||||
" 19a: Setting string global-local (to buffer) option"
|
||||
let oldval = &tags
|
||||
let g:options = [['tags', oldval, oldval, oldval, 'tagpath', 'global', 'set']]
|
||||
set tags=tagpath
|
||||
call assert_equal([], g:options)
|
||||
call assert_equal(g:opt[0], g:opt[1])
|
||||
|
||||
" 19b: Resetting string local-global (to buffer) option"
|
||||
" 19b: Resetting string global-local (to buffer) option"
|
||||
let g:options = [['tags', 'tagpath', 'tagpath', 'tagpath', oldval, 'global', 'set']]
|
||||
set tags&
|
||||
call assert_equal([], g:options)
|
||||
call assert_equal(g:opt[0], g:opt[1])
|
||||
|
||||
" 19c: Setting global string local-global (to buffer) option "
|
||||
" 19c: Setting global string global-local (to buffer) option "
|
||||
let g:options = [['tags', oldval, '', oldval, 'tagpath1', 'global', 'setglobal']]
|
||||
setglobal tags=tagpath1
|
||||
call assert_equal([], g:options)
|
||||
call assert_equal(g:opt[0], g:opt[1])
|
||||
|
||||
" 19d: Setting local string local-global (to buffer) option"
|
||||
" 19d: Setting local string global-local (to buffer) option"
|
||||
let g:options = [['tags', 'tagpath1', 'tagpath1', '', 'tagpath2', 'local', 'setlocal']]
|
||||
setlocal tags=tagpath2
|
||||
call assert_equal([], g:options)
|
||||
call assert_equal(g:opt[0], g:opt[1])
|
||||
|
||||
" 19e: Setting again string local-global (to buffer) option"
|
||||
" Note: v:option_old is the old global value for local-global string options
|
||||
" 19e: Setting again string global-local (to buffer) option"
|
||||
" Note: v:option_old is the old global value for global-local string options
|
||||
" but the old local value for all other kinds of options.
|
||||
noa setglobal tags=tag_global " Reset global and local value (without triggering autocmd)
|
||||
noa setlocal tags=tag_local
|
||||
@@ -795,8 +795,8 @@ func Test_OptionSet()
|
||||
call assert_equal([], g:options)
|
||||
call assert_equal(g:opt[0], g:opt[1])
|
||||
|
||||
" 19f: Setting string local-global (to buffer) option to an empty string"
|
||||
" Note: v:option_old is the old global value for local-global string options
|
||||
" 19f: Setting string global-local (to buffer) option to an empty string"
|
||||
" Note: v:option_old is the old global value for global-local string options
|
||||
" but the old local value for all other kinds of options.
|
||||
noa set tags=tag_global " Reset global and local value (without triggering autocmd)
|
||||
noa setlocal tags= " empty string
|
||||
@@ -833,7 +833,7 @@ func Test_OptionSet()
|
||||
call assert_equal(g:opt[0], g:opt[1])
|
||||
|
||||
" 20e: Setting again string local (to buffer) option"
|
||||
" Note: v:option_old is the old global value for local-global string options
|
||||
" Note: v:option_old is the old global value for global-local string options
|
||||
" but the old local value for all other kinds of options.
|
||||
noa setglobal spelllang=spellglobal " Reset global and local value (without triggering autocmd)
|
||||
noa setlocal spelllang=spelllocal
|
||||
@@ -843,36 +843,36 @@ func Test_OptionSet()
|
||||
call assert_equal(g:opt[0], g:opt[1])
|
||||
|
||||
|
||||
" 21a: Setting string local-global (to window) option"
|
||||
" 21a: Setting string global-local (to window) option"
|
||||
let oldval = &statusline
|
||||
let g:options = [['statusline', oldval, oldval, oldval, 'foo', 'global', 'set']]
|
||||
set statusline=foo
|
||||
call assert_equal([], g:options)
|
||||
call assert_equal(g:opt[0], g:opt[1])
|
||||
|
||||
" 21b: Resetting string local-global (to window) option"
|
||||
" Note: v:option_old is the old global value for local-global string options
|
||||
" 21b: Resetting string global-local (to window) option"
|
||||
" Note: v:option_old is the old global value for global-local string options
|
||||
" but the old local value for all other kinds of options.
|
||||
let g:options = [['statusline', 'foo', 'foo', 'foo', oldval, 'global', 'set']]
|
||||
set statusline&
|
||||
call assert_equal([], g:options)
|
||||
call assert_equal(g:opt[0], g:opt[1])
|
||||
|
||||
" 21c: Setting global string local-global (to window) option"
|
||||
" 21c: Setting global string global-local (to window) option"
|
||||
let g:options = [['statusline', oldval, '', oldval, 'bar', 'global', 'setglobal']]
|
||||
setglobal statusline=bar
|
||||
call assert_equal([], g:options)
|
||||
call assert_equal(g:opt[0], g:opt[1])
|
||||
|
||||
" 21d: Setting local string local-global (to window) option"
|
||||
" 21d: Setting local string global-local (to window) option"
|
||||
noa set statusline& " Reset global and local value (without triggering autocmd)
|
||||
let g:options = [['statusline', oldval, oldval, '', 'baz', 'local', 'setlocal']]
|
||||
setlocal statusline=baz
|
||||
call assert_equal([], g:options)
|
||||
call assert_equal(g:opt[0], g:opt[1])
|
||||
|
||||
" 21e: Setting again string local-global (to window) option"
|
||||
" Note: v:option_old is the old global value for local-global string options
|
||||
" 21e: Setting again string global-local (to window) option"
|
||||
" Note: v:option_old is the old global value for global-local string options
|
||||
" but the old local value for all other kinds of options.
|
||||
noa setglobal statusline=bar " Reset global and local value (without triggering autocmd)
|
||||
noa setlocal statusline=baz
|
||||
@@ -917,7 +917,7 @@ func Test_OptionSet()
|
||||
call assert_equal(g:opt[0], g:opt[1])
|
||||
|
||||
|
||||
" 23a: Setting global number local option"
|
||||
" 23a: Setting global number global option"
|
||||
noa setglobal cmdheight=8 " Reset global and local value (without triggering autocmd)
|
||||
noa setlocal cmdheight=1 " Sets the global(!) value!
|
||||
let g:options = [['cmdheight', '1', '', '1', '2', 'global', 'setglobal']]
|
||||
@@ -1041,7 +1041,7 @@ func Test_OptionSet()
|
||||
call assert_equal([], g:options)
|
||||
call assert_equal(g:opt[0], g:opt[1])
|
||||
|
||||
" 27d: Ssettin again global number local (to window) option"
|
||||
" 27d: Setting again global number local (to window) option"
|
||||
noa set foldcolumn=8 " Reset global and local value (without triggering autocmd)
|
||||
let g:options = [['foldcolumn', '8', '8', '8', '2', 'global', 'set']]
|
||||
set foldcolumn=2
|
||||
|
||||
@@ -305,6 +305,11 @@ func Test_getcompletion()
|
||||
let l = getcompletion('NoMatch', 'dir')
|
||||
call assert_equal([], l)
|
||||
|
||||
if glob('~/*') !=# ''
|
||||
let l = getcompletion('~/', 'dir')
|
||||
call assert_true(l[0][0] ==# '~')
|
||||
endif
|
||||
|
||||
let l = getcompletion('exe', 'expression')
|
||||
call assert_true(index(l, 'executable(') >= 0)
|
||||
let l = getcompletion('kill', 'expression')
|
||||
@@ -418,6 +423,16 @@ func Test_getcompletion()
|
||||
let l = getcompletion('call paint', 'cmdline')
|
||||
call assert_equal([], l)
|
||||
|
||||
func T(a, c, p)
|
||||
return "oneA\noneB\noneC"
|
||||
endfunc
|
||||
command -nargs=1 -complete=custom,T MyCmd
|
||||
let l = getcompletion('MyCmd ', 'cmdline')
|
||||
call assert_equal(['oneA', 'oneB', 'oneC'], l)
|
||||
|
||||
delcommand MyCmd
|
||||
delfunc T
|
||||
|
||||
" For others test if the name is recognized.
|
||||
let names = ['buffer', 'environment', 'file_in_path', 'mapping', 'tag', 'tag_listfiles', 'user']
|
||||
if has('cmdline_hist')
|
||||
|
||||
@@ -1013,6 +1013,9 @@ func Test_diff_with_scroll_and_change()
|
||||
call term_sendkeys(buf, "ax\<Esc>")
|
||||
call VerifyScreenDump(buf, 'Test_diff_scroll_change_02', {})
|
||||
|
||||
call term_sendkeys(buf, "\<C-W>lay\<Esc>")
|
||||
call VerifyScreenDump(buf, 'Test_diff_scroll_change_03', {})
|
||||
|
||||
" clean up
|
||||
call StopVimInTerminal(buf)
|
||||
call delete('Xtest_scroll_change')
|
||||
|
||||
+31
-13
@@ -1962,12 +1962,8 @@ endfunc
|
||||
|
||||
" Test for ModeChanged pattern
|
||||
func Test_mode_changes()
|
||||
let g:count = 0
|
||||
func! DoIt()
|
||||
let g:count += 1
|
||||
endfunc
|
||||
let g:index = 0
|
||||
let g:mode_seq = ['n', 'i', 'n', 'v', 'V', 'n', 'V', 'v', 'n']
|
||||
let g:mode_seq = ['n', 'i', 'n', 'v', 'V', 'i', 'ix', 'i', 'ic', 'i', 'n', 'no', 'n', 'V', 'v', 's', 'n']
|
||||
func! TestMode()
|
||||
call assert_equal(g:mode_seq[g:index], get(v:event, "old_mode"))
|
||||
call assert_equal(g:mode_seq[g:index + 1], get(v:event, "new_mode"))
|
||||
@@ -1976,13 +1972,15 @@ func Test_mode_changes()
|
||||
endfunc
|
||||
|
||||
au ModeChanged * :call TestMode()
|
||||
au ModeChanged n:* :call DoIt()
|
||||
call feedkeys("i\<esc>vV\<esc>", 'tnix')
|
||||
call assert_equal(2, g:count)
|
||||
let g:n_to_any = 0
|
||||
au ModeChanged n:* let g:n_to_any += 1
|
||||
call feedkeys("i\<esc>vVca\<CR>\<C-X>\<C-L>\<esc>ggdG", 'tnix')
|
||||
|
||||
au ModeChanged V:v :call DoIt()
|
||||
call feedkeys("Vv\<esc>", 'tnix')
|
||||
call assert_equal(4, g:count)
|
||||
let g:V_to_v = 0
|
||||
au ModeChanged V:v let g:V_to_v += 1
|
||||
call feedkeys("Vv\<C-G>\<esc>", 'tnix')
|
||||
call assert_equal(len(filter(g:mode_seq[1:], {idx, val -> val == 'n'})), g:n_to_any)
|
||||
call assert_equal(1, g:V_to_v)
|
||||
call assert_equal(len(g:mode_seq) - 1, g:index)
|
||||
|
||||
let g:n_to_i = 0
|
||||
@@ -2011,12 +2009,32 @@ func Test_mode_changes()
|
||||
call assert_equal(2, g:i_to_any)
|
||||
call assert_equal(3, g:nori_to_any)
|
||||
|
||||
if has('terminal')
|
||||
let g:mode_seq += ['c', 'n', 't', 'nt', 'c', 'nt', 'n']
|
||||
call feedkeys(":term\<CR>\<C-W>N:bd!\<CR>", 'tnix')
|
||||
call assert_equal(len(g:mode_seq) - 1, g:index)
|
||||
call assert_equal(1, g:n_to_i)
|
||||
call assert_equal(1, g:n_to_niI)
|
||||
call assert_equal(1, g:niI_to_i)
|
||||
call assert_equal(2, g:nany_to_i)
|
||||
call assert_equal(1, g:i_to_n)
|
||||
call assert_equal(2, g:i_to_any)
|
||||
call assert_equal(5, g:nori_to_any)
|
||||
endif
|
||||
|
||||
au! ModeChanged
|
||||
delfunc TestMode
|
||||
unlet! g:mode_seq
|
||||
unlet! g:index
|
||||
delfunc DoIt
|
||||
unlet! g:count
|
||||
unlet! g:n_to_any
|
||||
unlet! g:V_to_v
|
||||
unlet! g:n_to_i
|
||||
unlet! g:n_to_niI
|
||||
unlet! g:niI_to_i
|
||||
unlet! g:nany_to_i
|
||||
unlet! g:i_to_n
|
||||
unlet! g:nori_to_any
|
||||
unlet! g:i_to_any
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
||||
@@ -934,4 +934,40 @@ func Test_highlight_default_colorscheme_restores_links()
|
||||
hi clear
|
||||
endfunc
|
||||
|
||||
func Test_colornames_assignment_and_lookup()
|
||||
" Ensure highlight command can find custom color.
|
||||
let v:colornames['a redish white'] = '#ffeedd'
|
||||
highlight Normal guifg='a redish white'
|
||||
highlight clear
|
||||
endfunc
|
||||
|
||||
func Test_colornames_default_list()
|
||||
" Ensure default lists are loaded automatically and can be used for all gui fields.
|
||||
highlight Normal guifg='rebecca purple' guibg='rebecca purple' guisp='rebecca purple'
|
||||
highlight clear
|
||||
endfunc
|
||||
|
||||
func Test_colornames_overwrite_default()
|
||||
" Ensure entries in v:colornames can be overwritten.
|
||||
" Load default color scheme to trigger default color list loading.
|
||||
colorscheme default
|
||||
let old_rebecca_purple = v:colornames['rebecca purple']
|
||||
highlight Normal guifg='rebecca purple' guibg='rebecca purple'
|
||||
let v:colornames['rebecca purple'] = '#550099'
|
||||
highlight Normal guifg='rebecca purple' guibg='rebecca purple'
|
||||
let v:colornames['rebecca purple'] = old_rebecca_purple
|
||||
highlight clear
|
||||
endfunc
|
||||
|
||||
func Test_colornames_assignment_and_unassignment()
|
||||
" Ensure we cannot overwrite the v:colornames dict.
|
||||
call assert_fails("let v:colornames = {}", 'E46:')
|
||||
|
||||
" Ensure we can delete entries from the v:colornames dict.
|
||||
let v:colornames['x1'] = '#111111'
|
||||
call assert_equal(v:colornames['x1'], '#111111')
|
||||
unlet v:colornames['x1']
|
||||
call assert_fails("echo v:colornames['x1']")
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
||||
@@ -1133,6 +1133,26 @@ def Test_pass_legacy_lambda_to_def_func()
|
||||
CheckScriptSuccess(lines)
|
||||
enddef
|
||||
|
||||
def Test_lambda_in_reduce_line_break()
|
||||
# this was using freed memory
|
||||
var lines =<< trim END
|
||||
vim9script
|
||||
const result: dict<number> =
|
||||
['Bob', 'Sam', 'Cat', 'Bob', 'Cat', 'Cat']
|
||||
->reduce((acc, val) => {
|
||||
if has_key(acc, val)
|
||||
acc[val] += 1
|
||||
return acc
|
||||
else
|
||||
acc[val] = 1
|
||||
return acc
|
||||
endif
|
||||
}, {})
|
||||
assert_equal({Bob: 2, Sam: 1, Cat: 3}, result)
|
||||
END
|
||||
CheckScriptSuccess(lines)
|
||||
enddef
|
||||
|
||||
" Default arg and varargs
|
||||
def MyDefVarargs(one: string, two = 'foo', ...rest: list<string>): string
|
||||
var res = one .. ',' .. two
|
||||
|
||||
@@ -1477,6 +1477,33 @@ def Test_vim9_import_export()
|
||||
delete('Xvim9_script')
|
||||
enddef
|
||||
|
||||
def Test_import_funcref()
|
||||
var lines =<< trim END
|
||||
vim9script
|
||||
export def F(): number
|
||||
return 42
|
||||
enddef
|
||||
export const G = F
|
||||
END
|
||||
writefile(lines, 'Xlib.vim')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
import {G} from './Xlib.vim'
|
||||
const Foo = G()
|
||||
assert_equal(42, Foo)
|
||||
|
||||
def DoTest()
|
||||
const Goo = G()
|
||||
assert_equal(42, Goo)
|
||||
enddef
|
||||
DoTest()
|
||||
END
|
||||
CheckScriptSuccess(lines)
|
||||
|
||||
delete('Xlib.vim')
|
||||
enddef
|
||||
|
||||
def Test_import_star_fails()
|
||||
writefile([], 'Xfoo.vim')
|
||||
var lines =<< trim END
|
||||
|
||||
@@ -213,6 +213,46 @@ func Test_xxd()
|
||||
call delete('XXDfile')
|
||||
endfunc
|
||||
|
||||
func Test_xxd_patch()
|
||||
let cmd1 = 'silent !' .. s:xxd_cmd .. ' -r Xxxdin Xxxdfile'
|
||||
let cmd2 = 'silent !' .. s:xxd_cmd .. ' -g1 Xxxdfile > Xxxdout'
|
||||
call writefile(["2: 41 41", "8: 42 42"], 'Xxxdin')
|
||||
call writefile(['::::::::'], 'Xxxdfile')
|
||||
exe cmd1
|
||||
exe cmd2
|
||||
call assert_equal(['00000000: 3a 3a 41 41 3a 3a 3a 3a 42 42 ::AA::::BB'], readfile('Xxxdout'))
|
||||
|
||||
call writefile(["2: 43 43 ", "8: 44 44"], 'Xxxdin')
|
||||
exe cmd1
|
||||
exe cmd2
|
||||
call assert_equal(['00000000: 3a 3a 43 43 3a 3a 3a 3a 44 44 ::CC::::DD'], readfile('Xxxdout'))
|
||||
|
||||
call writefile(["2: 45 45 ", "8: 46 46"], 'Xxxdin')
|
||||
exe cmd1
|
||||
exe cmd2
|
||||
call assert_equal(['00000000: 3a 3a 45 45 3a 3a 3a 3a 46 46 ::EE::::FF'], readfile('Xxxdout'))
|
||||
|
||||
call writefile(["2: 41 41", "08: 42 42"], 'Xxxdin')
|
||||
call writefile(['::::::::'], 'Xxxdfile')
|
||||
exe cmd1
|
||||
exe cmd2
|
||||
call assert_equal(['00000000: 3a 3a 41 41 3a 3a 3a 3a 42 42 ::AA::::BB'], readfile('Xxxdout'))
|
||||
|
||||
call writefile(["2: 43 43 ", "09: 44 44"], 'Xxxdin')
|
||||
exe cmd1
|
||||
exe cmd2
|
||||
call assert_equal(['00000000: 3a 3a 43 43 3a 3a 3a 3a 42 44 44 ::CC::::BDD'], readfile('Xxxdout'))
|
||||
|
||||
call writefile(["2: 45 45 ", "0a: 46 46"], 'Xxxdin')
|
||||
exe cmd1
|
||||
exe cmd2
|
||||
call assert_equal(['00000000: 3a 3a 45 45 3a 3a 3a 3a 42 44 46 46 ::EE::::BDFF'], readfile('Xxxdout'))
|
||||
|
||||
call delete('Xxxdin')
|
||||
call delete('Xxxdfile')
|
||||
call delete('Xxxdout')
|
||||
endfunc
|
||||
|
||||
" Various ways with wrong arguments that trigger the usage output.
|
||||
func Test_xxd_usage()
|
||||
for arg in ['-c', '-g', '-o', '-s', '-l', '-X', 'one two three']
|
||||
|
||||
+56
-10
@@ -1177,12 +1177,17 @@ lambda_function_body(
|
||||
|
||||
if (cmdline != NULL)
|
||||
{
|
||||
garray_T *tfgap = &evalarg->eval_tofree_ga;
|
||||
|
||||
// Something comes after the "}".
|
||||
*arg = eap.nextcmd;
|
||||
|
||||
// "arg" points into cmdline, need to keep the line and free it later.
|
||||
vim_free(evalarg->eval_tofree_cmdline);
|
||||
evalarg->eval_tofree_cmdline = cmdline;
|
||||
if (ga_grow(tfgap, 1) == OK)
|
||||
{
|
||||
((char_u **)(tfgap->ga_data))[tfgap->ga_len++] = cmdline;
|
||||
evalarg->eval_using_cmdline = TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
*arg = (char_u *)"";
|
||||
@@ -1548,9 +1553,11 @@ deref_func_name(
|
||||
int no_autoload)
|
||||
{
|
||||
dictitem_T *v;
|
||||
typval_T *tv = NULL;
|
||||
int cc;
|
||||
char_u *s = NULL;
|
||||
hashtab_T *ht;
|
||||
int did_type = FALSE;
|
||||
|
||||
if (partialp != NULL)
|
||||
*partialp = NULL;
|
||||
@@ -1562,20 +1569,59 @@ deref_func_name(
|
||||
name[*lenp] = cc;
|
||||
if (v != NULL)
|
||||
{
|
||||
if (v->di_tv.v_type == VAR_FUNC)
|
||||
tv = &v->di_tv;
|
||||
}
|
||||
else if (in_vim9script() || STRNCMP(name, "s:", 2) == 0)
|
||||
{
|
||||
imported_T *import;
|
||||
char_u *p = name;
|
||||
int len = *lenp;
|
||||
|
||||
if (STRNCMP(name, "s:", 2) == 0)
|
||||
{
|
||||
if (v->di_tv.vval.v_string == NULL)
|
||||
p = name + 2;
|
||||
len -= 2;
|
||||
}
|
||||
import = find_imported(p, len, NULL);
|
||||
|
||||
// imported variable from another script
|
||||
if (import != NULL)
|
||||
{
|
||||
if (import->imp_funcname != NULL)
|
||||
{
|
||||
s = import->imp_funcname;
|
||||
*lenp = (int)STRLEN(s);
|
||||
return s;
|
||||
}
|
||||
// TODO: what if (import->imp_flags & IMP_FLAGS_STAR)
|
||||
{
|
||||
scriptitem_T *si = SCRIPT_ITEM(import->imp_sid);
|
||||
svar_T *sv = ((svar_T *)si->sn_var_vals.ga_data)
|
||||
+ import->imp_var_vals_idx;
|
||||
tv = sv->sv_tv;
|
||||
if (type != NULL)
|
||||
*type = sv->sv_type;
|
||||
did_type = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (tv != NULL)
|
||||
{
|
||||
if (tv->v_type == VAR_FUNC)
|
||||
{
|
||||
if (tv->vval.v_string == NULL)
|
||||
{
|
||||
*lenp = 0;
|
||||
return (char_u *)""; // just in case
|
||||
}
|
||||
s = v->di_tv.vval.v_string;
|
||||
s = tv->vval.v_string;
|
||||
*lenp = (int)STRLEN(s);
|
||||
}
|
||||
|
||||
if (v->di_tv.v_type == VAR_PARTIAL)
|
||||
if (tv->v_type == VAR_PARTIAL)
|
||||
{
|
||||
partial_T *pt = v->di_tv.vval.v_partial;
|
||||
partial_T *pt = tv->vval.v_partial;
|
||||
|
||||
if (pt == NULL)
|
||||
{
|
||||
@@ -1590,9 +1636,9 @@ deref_func_name(
|
||||
|
||||
if (s != NULL)
|
||||
{
|
||||
if (type != NULL && ht == get_script_local_ht())
|
||||
if (!did_type && type != NULL && ht == get_script_local_ht())
|
||||
{
|
||||
svar_T *sv = find_typval_in_script(&v->di_tv);
|
||||
svar_T *sv = find_typval_in_script(tv);
|
||||
|
||||
if (sv != NULL)
|
||||
*type = sv->sv_type;
|
||||
@@ -4826,7 +4872,7 @@ ex_return(exarg_T *eap)
|
||||
return;
|
||||
}
|
||||
|
||||
CLEAR_FIELD(evalarg);
|
||||
init_evalarg(&evalarg);
|
||||
evalarg.eval_flags = eap->skip ? 0 : EVAL_EVALUATE;
|
||||
|
||||
if (eap->skip)
|
||||
|
||||
@@ -772,6 +772,34 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
3562,
|
||||
/**/
|
||||
3561,
|
||||
/**/
|
||||
3560,
|
||||
/**/
|
||||
3559,
|
||||
/**/
|
||||
3558,
|
||||
/**/
|
||||
3557,
|
||||
/**/
|
||||
3556,
|
||||
/**/
|
||||
3555,
|
||||
/**/
|
||||
3554,
|
||||
/**/
|
||||
3553,
|
||||
/**/
|
||||
3552,
|
||||
/**/
|
||||
3551,
|
||||
/**/
|
||||
3550,
|
||||
/**/
|
||||
3549,
|
||||
/**/
|
||||
3548,
|
||||
/**/
|
||||
|
||||
@@ -2053,9 +2053,10 @@ typedef int sock_T;
|
||||
#define VV_ARGV 96
|
||||
#define VV_COLLATE 97
|
||||
#define VV_EXITING 98
|
||||
#define VV_COLORNAMES 99
|
||||
// MacVim-specific values go here
|
||||
#define VV_OS_APPEARANCE 99
|
||||
#define VV_LEN 100 // number of v: vars
|
||||
#define VV_OS_APPEARANCE 100
|
||||
#define VV_LEN 101 // number of v: vars
|
||||
|
||||
// used for v_number in VAR_BOOL and VAR_SPECIAL
|
||||
#define VVAL_FALSE 0L // VAR_BOOL
|
||||
|
||||
+9
-6
@@ -3702,7 +3702,7 @@ compile_lambda(char_u **arg, cctx_T *cctx)
|
||||
ufunc_T *ufunc;
|
||||
evalarg_T evalarg;
|
||||
|
||||
CLEAR_FIELD(evalarg);
|
||||
init_evalarg(&evalarg);
|
||||
evalarg.eval_flags = EVAL_EVALUATE;
|
||||
evalarg.eval_cctx = cctx;
|
||||
|
||||
@@ -3733,11 +3733,13 @@ compile_lambda(char_u **arg, cctx_T *cctx)
|
||||
compile_def_function(ufunc, FALSE, CT_NONE, cctx);
|
||||
#endif
|
||||
|
||||
// evalarg.eval_tofree_cmdline may have a copy of the last line and "*arg"
|
||||
// points into it. Point to the original line to avoid a dangling pointer.
|
||||
if (evalarg.eval_tofree_cmdline != NULL)
|
||||
// The last entry in evalarg.eval_tofree_ga is a copy of the last line and
|
||||
// "*arg" may point into it. Point into the original line to avoid a
|
||||
// dangling pointer.
|
||||
if (evalarg.eval_using_cmdline)
|
||||
{
|
||||
size_t off = *arg - evalarg.eval_tofree_cmdline;
|
||||
garray_T *gap = &evalarg.eval_tofree_ga;
|
||||
size_t off = *arg - ((char_u **)gap->ga_data)[gap->ga_len - 1];
|
||||
|
||||
*arg = ((char_u **)cctx->ctx_ufunc->uf_lines.ga_data)[cctx->ctx_lnum]
|
||||
+ off;
|
||||
@@ -4201,9 +4203,10 @@ skip_expr_cctx(char_u **arg, cctx_T *cctx)
|
||||
{
|
||||
evalarg_T evalarg;
|
||||
|
||||
CLEAR_FIELD(evalarg);
|
||||
init_evalarg(&evalarg);
|
||||
evalarg.eval_cctx = cctx;
|
||||
skip_expr(arg, &evalarg);
|
||||
clear_evalarg(&evalarg, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
+55
-68
@@ -131,7 +131,7 @@ extern void perror __P((char *));
|
||||
extern long int strtol();
|
||||
extern long int ftell();
|
||||
|
||||
char version[] = "xxd 2020-02-04 by Juergen Weigert et al.";
|
||||
char version[] = "xxd 2021-10-22 by Juergen Weigert et al.";
|
||||
#ifdef WIN32
|
||||
char osver[] = " (Win32)";
|
||||
#else
|
||||
@@ -188,13 +188,6 @@ char osver[] = "";
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Let's collect some prototypes */
|
||||
/* CodeWarrior is really picky about missing prototypes */
|
||||
static void exit_with_usage __P((void));
|
||||
static void die __P((int));
|
||||
static int huntype __P((FILE *, FILE *, FILE *, int, int, long));
|
||||
static void xxdline __P((FILE *, char *, int));
|
||||
|
||||
#define TRY_SEEK /* attempt to use lseek, or skip forward by reading */
|
||||
#define COLS 256 /* change here, if you ever need more columns */
|
||||
#define LLEN ((2*(int)sizeof(unsigned long)) + 4 + (9*COLS-1) + COLS + 2)
|
||||
@@ -245,13 +238,20 @@ exit_with_usage(void)
|
||||
}
|
||||
|
||||
static void
|
||||
die(int ret)
|
||||
perror_exit(int ret)
|
||||
{
|
||||
fprintf(stderr, "%s: ", pname);
|
||||
perror(NULL);
|
||||
exit(ret);
|
||||
}
|
||||
|
||||
static void
|
||||
error_exit(int ret, char *msg)
|
||||
{
|
||||
fprintf(stderr, "%s: %s\n", pname, msg);
|
||||
exit(ret);
|
||||
}
|
||||
|
||||
/*
|
||||
* Max. cols binary characters are decoded from the input stream per line.
|
||||
* Two adjacent garbage characters after evaluated data delimit valid data.
|
||||
@@ -263,7 +263,6 @@ die(int ret)
|
||||
huntype(
|
||||
FILE *fpi,
|
||||
FILE *fpo,
|
||||
FILE *fperr,
|
||||
int cols,
|
||||
int hextype,
|
||||
long base_off)
|
||||
@@ -316,26 +315,22 @@ huntype(
|
||||
if (base_off + want_off != have_off)
|
||||
{
|
||||
if (fflush(fpo) != 0)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
#ifdef TRY_SEEK
|
||||
c = fseek(fpo, base_off + want_off - have_off, 1);
|
||||
if (c >= 0)
|
||||
if (fseek(fpo, base_off + want_off - have_off, 1) >= 0)
|
||||
have_off = base_off + want_off;
|
||||
#endif
|
||||
if (base_off + want_off < have_off)
|
||||
{
|
||||
fprintf(fperr, "%s: sorry, cannot seek backwards.\n", pname);
|
||||
return 5;
|
||||
}
|
||||
error_exit(5, "sorry, cannot seek backwards.");
|
||||
for (; have_off < base_off + want_off; have_off++)
|
||||
if (putc(0, fpo) == EOF)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
}
|
||||
|
||||
if (n2 >= 0 && n1 >= 0)
|
||||
{
|
||||
if (putc((n2 << 4) | n1, fpo) == EOF)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
have_off++;
|
||||
want_off++;
|
||||
n1 = -1;
|
||||
@@ -349,24 +344,28 @@ huntype(
|
||||
if (n1 < 0 && n2 < 0 && n3 < 0)
|
||||
{
|
||||
/* already stumbled into garbage, skip line, wait and see */
|
||||
while (c != '\n' && c != EOF)
|
||||
c = getc(fpi);
|
||||
if (c == EOF && ferror(fpi))
|
||||
perror_exit(2);
|
||||
}
|
||||
if (c == '\n')
|
||||
{
|
||||
if (!hextype)
|
||||
want_off = 0;
|
||||
while ((c = getc(fpi)) != '\n' && c != EOF)
|
||||
;
|
||||
if (c == EOF && ferror(fpi))
|
||||
die(2);
|
||||
p = cols;
|
||||
ign_garb = 1;
|
||||
}
|
||||
}
|
||||
if (fflush(fpo) != 0)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
#ifdef TRY_SEEK
|
||||
fseek(fpo, 0L, 2);
|
||||
#endif
|
||||
if (fclose(fpo) != 0)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
if (fclose(fpi) != 0)
|
||||
die(2);
|
||||
perror_exit(2);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -399,14 +398,14 @@ xxdline(FILE *fp, char *l, int nz)
|
||||
zero_seen--;
|
||||
if (zero_seen == 2)
|
||||
if (fputs(z, fp) == EOF)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
if (zero_seen > 2)
|
||||
if (fputs("*\n", fp) == EOF)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
}
|
||||
if (nz >= 0 || zero_seen > 0)
|
||||
if (fputs(l, fp) == EOF)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
if (nz)
|
||||
zero_seen = 0;
|
||||
}
|
||||
@@ -637,12 +636,7 @@ main(int argc, char *argv[])
|
||||
if (octspergrp < 1 || octspergrp > cols)
|
||||
octspergrp = cols;
|
||||
else if (hextype == HEX_LITTLEENDIAN && (octspergrp & (octspergrp-1)))
|
||||
{
|
||||
fprintf(stderr,
|
||||
"%s: number of octets per group must be a power of 2 with -e.\n",
|
||||
pname);
|
||||
exit(1);
|
||||
}
|
||||
error_exit(1, "number of octets per group must be a power of 2 with -e.");
|
||||
|
||||
if (argc > 3)
|
||||
exit_with_usage();
|
||||
@@ -679,11 +673,8 @@ main(int argc, char *argv[])
|
||||
if (revert)
|
||||
{
|
||||
if (hextype && (hextype != HEX_POSTSCRIPT))
|
||||
{
|
||||
fprintf(stderr, "%s: sorry, cannot revert this type of hexdump\n", pname);
|
||||
return -1;
|
||||
}
|
||||
return huntype(fp, fpo, stderr, cols, hextype,
|
||||
error_exit(-1, "sorry, cannot revert this type of hexdump");
|
||||
return huntype(fp, fpo, cols, hextype,
|
||||
negseek ? -seekoff : seekoff);
|
||||
}
|
||||
|
||||
@@ -695,10 +686,7 @@ main(int argc, char *argv[])
|
||||
else
|
||||
e = fseek(fp, negseek ? -seekoff : seekoff, negseek ? 2 : 0);
|
||||
if (e < 0 && negseek)
|
||||
{
|
||||
fprintf(stderr, "%s: sorry cannot seek.\n", pname);
|
||||
return 4;
|
||||
}
|
||||
error_exit(4, "sorry cannot seek.");
|
||||
if (e >= 0)
|
||||
seekoff = ftell(fp);
|
||||
else
|
||||
@@ -711,12 +699,11 @@ main(int argc, char *argv[])
|
||||
{
|
||||
if (ferror(fp))
|
||||
{
|
||||
die(2);
|
||||
perror_exit(2);
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "%s: sorry cannot seek.\n", pname);
|
||||
return 4;
|
||||
error_exit(4, "sorry cannot seek.");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -727,12 +714,12 @@ main(int argc, char *argv[])
|
||||
if (fp != stdin)
|
||||
{
|
||||
if (fprintf(fpo, "unsigned char %s", isdigit((int)argv[1][0]) ? "__" : "") < 0)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
for (e = 0; (c = argv[1][e]) != 0; e++)
|
||||
if (putc(isalnum(c) ? CONDITIONAL_CAPITALIZE(c) : '_', fpo) == EOF)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
if (fputs("[] = {\n", fpo) == EOF)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
}
|
||||
|
||||
p = 0;
|
||||
@@ -741,32 +728,32 @@ main(int argc, char *argv[])
|
||||
{
|
||||
if (fprintf(fpo, (hexx == hexxa) ? "%s0x%02x" : "%s0X%02X",
|
||||
(p % cols) ? ", " : &",\n "[2*!p], c) < 0)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
p++;
|
||||
}
|
||||
if (c == EOF && ferror(fp))
|
||||
die(2);
|
||||
perror_exit(2);
|
||||
|
||||
if (p && fputs("\n", fpo) == EOF)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
if (fputs(&"};\n"[3 * (fp == stdin)], fpo) == EOF)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
|
||||
if (fp != stdin)
|
||||
{
|
||||
if (fprintf(fpo, "unsigned int %s", isdigit((int)argv[1][0]) ? "__" : "") < 0)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
for (e = 0; (c = argv[1][e]) != 0; e++)
|
||||
if (putc(isalnum(c) ? CONDITIONAL_CAPITALIZE(c) : '_', fpo) == EOF)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
if (fprintf(fpo, "_%s = %d;\n", capitalize ? "LEN" : "len", p) < 0)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
}
|
||||
|
||||
if (fclose(fp))
|
||||
die(2);
|
||||
perror_exit(2);
|
||||
if (fclose(fpo))
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -778,24 +765,24 @@ main(int argc, char *argv[])
|
||||
{
|
||||
if (putc(hexx[(e >> 4) & 0xf], fpo) == EOF
|
||||
|| putc(hexx[e & 0xf], fpo) == EOF)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
n++;
|
||||
if (!--p)
|
||||
{
|
||||
if (putc('\n', fpo) == EOF)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
p = cols;
|
||||
}
|
||||
}
|
||||
if (e == EOF && ferror(fp))
|
||||
die(2);
|
||||
perror_exit(2);
|
||||
if (p < cols)
|
||||
if (putc('\n', fpo) == EOF)
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
if (fclose(fp))
|
||||
die(2);
|
||||
perror_exit(2);
|
||||
if (fclose(fpo))
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -860,7 +847,7 @@ main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
if (e == EOF && ferror(fp))
|
||||
die(2);
|
||||
perror_exit(2);
|
||||
if (p)
|
||||
{
|
||||
l[c = (addrlen + 3 + (grplen * cols - 1)/octspergrp + p)] = '\n'; l[++c] = '\0';
|
||||
@@ -870,9 +857,9 @@ main(int argc, char *argv[])
|
||||
xxdline(fpo, l, -1); /* last chance to flush out suppressed lines */
|
||||
|
||||
if (fclose(fp))
|
||||
die(2);
|
||||
perror_exit(2);
|
||||
if (fclose(fpo))
|
||||
die(3);
|
||||
perror_exit(3);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user