diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2017-09-28 22:18:09 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2017-09-28 22:18:09 +0200 |
commit | 27903c5b8656c796564ef073c1ebe77a2f0154e1 (patch) | |
tree | 2b0a3a14494d7976fb79a7517706e25d2a95d080 /syntax/dircolors.vim | |
parent | d5e38fa97bc50a93a66473d6cd7072fbcbadda57 (diff) | |
download | vim-polyglot-3.0.0.tar.gz vim-polyglot-3.0.0.zip |
Revert inlining basic language packv3.0.0
Diffstat (limited to 'syntax/dircolors.vim')
-rw-r--r-- | syntax/dircolors.vim | 220 |
1 files changed, 0 insertions, 220 deletions
diff --git a/syntax/dircolors.vim b/syntax/dircolors.vim deleted file mode 100644 index 915ea638..00000000 --- a/syntax/dircolors.vim +++ /dev/null @@ -1,220 +0,0 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1 - -" Vim syntax file -" Language: dircolors(1) input file -" Maintainer: Jan Larres <jan@majutsushi.net> -" Previous Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2013-08-17 - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syntax keyword dircolorsTodo FIXME TODO XXX NOTE contained - -syntax region dircolorsComment start='#' end='$' contains=dircolorsTodo,@Spell - -syntax keyword dircolorsKeyword TERM LEFT LEFTCODE RIGHT RIGHTCODE END ENDCODE - -syntax keyword dircolorsKeyword NORMAL NORM FILE RESET DIR LNK LINK SYMLINK - \ MULTIHARDLINK FIFO SOCK DOOR BLK CHR ORPHAN - \ MISSING PIPE BLOCK CHR EXEC SETUID SETGID - \ CAPABILITY STICKY_OTHER_WRITABLE - \ OTHER_WRITABLE STICKY - -" Slackware only, ignored by GNU dircolors. -syntax keyword dircolorsKeyword COLOR OPTIONS EIGHTBIT - -syntax match dircolorsExtension '^\s*\zs[.*]\S\+' - -syntax match dircolorsEscape '\\[abefnrtv?_\\^#]' -syntax match dircolorsEscape '\\[0-9]\{3}' -syntax match dircolorsEscape '\\x[0-9a-f]\{3}' - -if !has('gui_running') && &t_Co == '' - syntax match dircolorsNumber '\<\d\+\>' - highlight default link dircolorsNumber Number -endif - -highlight default link dircolorsTodo Todo -highlight default link dircolorsComment Comment -highlight default link dircolorsKeyword Keyword -highlight default link dircolorsExtension Identifier -highlight default link dircolorsEscape Special - -function! s:set_guicolors() abort - let s:termguicolors = {} - - let s:termguicolors[0] = "Black" - let s:termguicolors[1] = "DarkRed" - let s:termguicolors[2] = "DarkGreen" - let s:termguicolors[3] = "DarkYellow" - let s:termguicolors[4] = "DarkBlue" - let s:termguicolors[5] = "DarkMagenta" - let s:termguicolors[6] = "DarkCyan" - let s:termguicolors[7] = "Gray" - let s:termguicolors[8] = "DarkGray" - let s:termguicolors[9] = "Red" - let s:termguicolors[10] = "Green" - let s:termguicolors[11] = "Yellow" - let s:termguicolors[12] = "Blue" - let s:termguicolors[13] = "Magenta" - let s:termguicolors[14] = "Cyan" - let s:termguicolors[15] = "White" - - let xterm_palette = ["00", "5f", "87", "af", "d7", "ff"] - - let cur_col = 16 - - for r in xterm_palette - for g in xterm_palette - for b in xterm_palette - let s:termguicolors[cur_col] = '#' . r . g . b - let cur_col += 1 - endfor - endfor - endfor - - for i in range(24) - let g = i * 0xa + 8 - let s:termguicolors[i + 232] = '#' . g . g . g - endfor -endfunction - -function! s:get_hi_str(color, place) abort - if a:color >= 0 && a:color <= 255 - if has('gui_running') - return ' gui' . a:place . '=' . s:termguicolors[a:color] - elseif a:color <= 7 || &t_Co == 256 || &t_Co == 88 - return ' cterm' . a:place . '=' . a:color - endif - endif - return '' -endfunction - -function! s:get_256color(colors) abort - if len(a:colors) >= 2 " May be fewer while editing - let [_five, color] = remove(a:colors, 0, 1) - if _five != '5' || color == '' - return -1 - else - return str2nr(color) - endif - else - return -1 - endif -endfunction - -function! s:preview_color(linenr) abort - let line = getline(a:linenr) - let defline = matchlist(line, '^\v([A-Z_]+|[*.]\S+)\s+([0-9;]+)') - if empty(defline) - return - endif - - let colordef = defline[2] - - let colors = split(colordef, ';') - - let hi_str = '' - let hi_attrs = [] - while len(colors) > 0 - let item = str2nr(remove(colors, 0)) - if item == 1 - call add(hi_attrs, 'bold') - elseif item == 3 - call add(hi_attrs, 'italic') - elseif item == 4 - call add(hi_attrs, 'underline') - elseif item == 7 - call add(hi_attrs, 'inverse') - elseif item >= 30 && item <= 37 - " ANSI SGR foreground color - let hi_str .= s:get_hi_str(item - 30, 'fg') - elseif item >= 40 && item <= 47 - " ANSI SGR background color - let hi_str .= s:get_hi_str(item - 40, 'bg') - elseif item == 38 - " Foreground for terminals with 88/256 color support - let color = s:get_256color(colors) - if color == -1 - break - endif - let hi_str .= s:get_hi_str(color, 'fg') - elseif item == 48 - " Background for terminals with 88/256 color support - let color = s:get_256color(colors) - if color == -1 - break - endif - let hi_str .= s:get_hi_str(color, 'bg') - endif - endwhile - - if hi_str == '' && empty(hi_attrs) - return - endif - - " Check whether we have already defined this color - redir => s:currentmatch - silent! execute 'syntax list' - redir END - - if s:currentmatch !~# '\/\\_s\\zs' . colordef . '\\ze\\_s\/' - " Append the buffer number to avoid problems with other dircolors - " buffers interfering - let bufnr = bufnr('%') - execute 'syntax match dircolorsColor' . b:dc_next_index . '_' . bufnr . - \ ' "\_s\zs' . colordef . '\ze\_s"' - let hi_attrs_str = '' - if !empty(hi_attrs) - if has('gui_running') - let hi_attrs_str = ' gui=' . join(hi_attrs, ',') - else - let hi_attrs_str = ' cterm=' . join(hi_attrs, ',') - endif - endif - execute 'highlight default dircolorsColor' . b:dc_next_index . '_' . - \ bufnr . hi_str . hi_attrs_str - let b:dc_next_index += 1 - endif -endfunction - -" Avoid accumulating too many definitions while editing -function! s:reset_colors() abort - if b:dc_next_index > 0 - let bufnr = bufnr('%') - for i in range(b:dc_next_index) - execute 'syntax clear dircolorsColor' . i . '_' . bufnr - execute 'highlight clear dircolorsColor' . i . '_' . bufnr - endfor - let b:dc_next_index = 0 - endif - - for linenr in range(1, line('$')) - call s:preview_color(linenr) - endfor -endfunction - -let b:dc_next_index = 0 - -if has('gui_running') - call s:set_guicolors() -endif - -if has('gui_running') || &t_Co != '' - call s:reset_colors() - - autocmd CursorMoved,CursorMovedI <buffer> call s:preview_color('.') - autocmd CursorHold,CursorHoldI <buffer> call s:reset_colors() -endif - -let b:current_syntax = "dircolors" - -let &cpo = s:cpo_save -unlet s:cpo_save - -endif |