yamasushi(2013/04/21 04:58:46 UTC)vimの持っている設定を読む試みをしてみました。
(define-module vim.vim-color
;(use srfi-13)
(use gauche.generator)
(use gauche.dictionary)
(use util.match)
(use komono-dict)
;(use komono-glob)
(use komono-combinator)
(use pretty-print)
(export
*cterm-nr16-table*
*vim-rgb-table*
) )
(select-module vim.vim-color)
(define *rgb-file-name* "(rgbファイルのあるディレクトリ)/rgb.txt")
; from gui_mac.c
; /*
; * The comment at the end of each line is the source
; * (Mac, Window, Unix) and the number is the unix rgb.txt value
; */
; static guicolor_tTable table[] =
(define *vim-rgb-table*
((cut alist->tree-map <> string-ci=? string-ci<? )
'(
("NONE" . #f) ;
;
("Black". "#000000")
("darkgray". "#808080") ; /*W*/
("darkgrey". "#808080") ; /*W*/
("Gray". "#C0C0C0") ; /*W*/
("Grey". "#C0C0C0") ; /*W*/
("lightgray". "#E0E0E0") ; /*W*/
("lightgrey". "#E0E0E0") ; /*W*/
("gray10". "#1A1A1A") ; /*W*/
("grey10". "#1A1A1A") ; /*W*/
("gray20". "#333333") ; /*W*/
("grey20". "#333333") ; /*W*/
("gray30". "#4D4D4D") ; /*W*/
("grey30". "#4D4D4D") ; /*W*/
("gray40". "#666666") ; /*W*/
("grey40". "#666666") ; /*W*/
("gray50". "#7F7F7F") ; /*W*/
("grey50". "#7F7F7F") ; /*W*/
("gray60". "#999999") ; /*W*/
("grey60". "#999999") ; /*W*/
("gray70". "#B3B3B3") ; /*W*/
("grey70". "#B3B3B3") ; /*W*/
("gray80". "#CCCCCC") ; /*W*/
("grey80". "#CCCCCC") ; /*W*/
("gray90". "#E5E5E5") ; /*W*/
("grey90". "#E5E5E5") ; /*W*/
("white". "#FFFFFF")
("darkred". "#800000") ; /*W*/
("red". "#DD0806") ; /*M*/
("lightred". "#FFA0A0") ; /*W*/
("DarkBlue". "#000080") ; /*W*/
("Blue". "#0000D4") ; /*M*/
("lightblue". "#A0A0FF") ; /*W*/
("DarkGreen". "#008000") ; /*W*/
("Green". "#006411") ; /*M*/
("lightgreen". "#A0FFA0") ; /*W*/
("DarkCyan". "#008080") ; /*W ?307D7E */
("cyan". "#02ABEA") ; /*M*/
("lightcyan". "#A0FFFF") ; /*W*/
("darkmagenta". "#800080") ; /*W*/
("magenta". "#F20884") ; /*M*/
("lightmagenta". "#F0A0F0") ; /*W*/
("brown". "#804040") ; /*W*/
("yellow". "#FCF305") ; /*M*/
("lightyellow". "#FFFFA0") ; /*M*/
("darkyellow". "#BBBB00") ; /*U*/
("SeaGreen". "#2E8B57") ; /*W4E8975 */
("orange". "#FC8000") ; /*WF87A17 */
("Purple". "#A020F0") ; /*W8e35e5 */
("SlateBlue". "#6A5ACD") ; /*W737CA1 */
("Violet". "#8D38C9") ; /*U*/
)))
(call-with-input-file *rgb-file-name*
($ generator-for-each
(match-lambda [(r g b name)
(let1 col (format #f "#~2,'0X~2,'0X~2,'0X"
(string->number r)
(string->number g)
(string->number b) )
(dict-put! *vim-rgb-table* name col))
])
$ gmap (cut map <> (iota 4 1))
$ grxmatch #/\s*(\d+)\s+(\d+)\s+(\d+)\s+([^\n]+)/
$ port->char-generator
$ tee read-line $) ; 先頭行だけ捨てる
)
; http://vimdoc.sourceforge.net/htmldoc/syntax.html#:highlight
; *cterm-colors*
; NR-16 NR-8 COLOR NAME
; 0 0 Black
; 1 4 DarkBlue
; 2 2 DarkGreen
; 3 6 DarkCyan
; 4 1 DarkRed
; 5 5 DarkMagenta
; 6 3 Brown, DarkYellow
; 7 7 LightGray, LightGrey, Gray, Grey
; 8 0 DarkGray, DarkGrey
; 9 4 Blue, LightBlue
; 10 2 Green, LightGreen
; 11 6 Cyan, LightCyan
; 12 1 Red, LightRed
; 13 5 Magenta, LightMagenta
; 14 3 Yellow, LightYellow
; 15 7 White
(define *cterm-nr16-table* (alist->hash-table
'(
( 0 . "Black" )
( 1 . "DarkBlue" )
( 2 . "DarkGreen" )
( 3 . "DarkCyan" )
( 4 . "DarkRed" )
( 5 . "DarkMagenta")
( 6 . "Brown" )
( 7 . "LightGray" )
( 8 . "DarkGray" )
( 9 . "Blue" )
(10 . "Green" )
(11 . "Cyan" )
(12 . "Red" )
(13 . "Magenta" )
(14 . "Yellow" )
(15 . "White" ))))
;($ pretty-print $ dict->alist *cterm-nr16-table*)
;($ pretty-print $ dict->alist *vim-rgb-table*)
(define-module vim.vim-color-scheme
(use srfi-13)
(use gauche.generator)
(use gauche.dictionary)
(use util.match)
;
(use vim.vim-color)
;
(use komono-dict)
(use komono-glob)
(use komono-memoize)
(use komono-combinator)
(use komono-regexp)
(use pretty-print)
(export
vim-scheme-names
vim-get-param
vim-get-scheme
vim-get-color
;*vim-highlight-group*
;*vim-color-scheme*
) )
(select-module vim.vim-color-scheme)
; TODO reverseの時の処理(反転色をもとめる)
; TODO fg,bgの処理
(define *vim-color-scheme-file-glob* "/usr/local/share/vim/vim73/colors/*.vim" )
(define (vim-scheme-names)
(dict-keys *vim-color-scheme*) )
; scheme名(path名)からscheme取得
; デフォルトschemeは "*light*" "*dark*"
(define (vim-get-scheme scheme-name)
(dict-get *vim-color-scheme* scheme-name #f) )
(define-method vim-get-param ( (color-scheme <dictionary> ) (name <string>))
(and-let* [[param (dict-get color-scheme name #f)]]
;#?=name
;#?=param
(rxmatch-case name
[#/^\*background\*$/ (_)
;#?=name
;#?=param
(if (string? param)
(vim-get-scheme param) #f ) ]
[else
(if (string? param)
(vim-get-param color-scheme param) ; link
param) ] ) ) )
; 'fg , 'bg の時の処理
; それ以外はなにもしない
(define-method %fgbg-filter ((color-scheme <dictionary> ) col)
(case col
[(fg) ($ car $ vim-get-color color-scheme "Normal" ) ]
[(bg) ($ cadr $ vim-get-color color-scheme "Normal" ) ]
[else col] ) )
(define (%get-fore-color param)
(and param
(or (assoc-ref param "guifg" )
(assoc-ref param "termfg" )
(assoc-ref param "ctermfg"))))
(define (%get-back-color param)
(and param
(or (assoc-ref param "guibg" )
(assoc-ref param "termbg" )
(assoc-ref param "ctermbg"))))
(define-method %vim-get-color ((color-scheme <dictionary>) name)
(let* [ [bg-scheme (vim-get-param color-scheme "*background*") ]
[bg-param (if bg-scheme (vim-get-param bg-scheme name) #f ) ]
[bg-param (if bg-param bg-param '())]
[normal-param (vim-get-param color-scheme "Normal") ]
[normal-param (if normal-param normal-param '() ) ]
[bg-param (append normal-param bg-param)]
;
[param (vim-get-param color-scheme name) ]
[param (if param (append param bg-param) bg-param ) ]
]
;#?=name
;($ pretty-print $ dict->alist color-scheme)(flush)
;#?=normal-param
;#?=param
;#?=bg-param
`(,($ %fgbg-filter color-scheme $ %get-fore-color param)
,($ %fgbg-filter color-scheme $ %get-back-color param) ) ) )
(define vim-get-color
(make-single-memoized (make-hash-table 'string=?)
%vim-get-color
(^(cs n) (string-append (dict-get cs "*name*") n) ) ) )
; vim color scheme
; http://vimdoc.sourceforge.net/htmldoc/syntax.html
(define *vim-highlight-group* (alist->hash-table
'(
("Comment" . "any comment")
("Constant" . "any constant")
("String" . "a string constant: \"this is a string\"")
("Character" . "a character constant: 'c', '\n'")
("Number" . "a number constant: 234, 0xff")
("Boolean" . "a boolean constant: TRUE, false")
("Float" . "a floating point constant: 2.3e10")
("Identifier" . "any variable name")
("Function" . "function name (also: methods for classes)")
("Statement" . "any statement")
("Conditional" . "if, then, else, endif, switch, etc.")
("Repeat" . "for, do, while, etc.")
("Label" . "case, default, etc.")
("Operator" . "sizeof, +, *, etc.")
("Keyword" . "any other keyword")
("Exception" . "try, catch, throw")
("PreProc" . "generic Preprocessor")
("Include" . "preprocessor #include")
("Define" . "preprocessor #define")
("Macro" . "same as Define")
("PreCondit" . "preprocessor #if, #else, #endif, etc.")
("Type" . "int, long, char, etc.")
("StorageClass" . "static, register, volatile, etc.")
("Structure" . "struct, union, enum, etc.")
("Typedef" . "A typedef")
("Special" . "any special symbol")
("SpecialChar" . "special character in a constant")
("Tag" . "you can use CTRL-] on this")
("Delimiter" . "character that needs attention")
("SpecialComment" . "special things inside a comment")
("Debug" . "debugging statements")
("Underlined" . "text that stands out, HTML links")
("Ignore" . "left blank, hidden |hl-Ignore|")
("Error" . "any erroneous construct")
("Todo" . "anything that needs extra attention; mostly the keywords TODO FIXME and XXX")
("ColorColumn" . "used for the columns set with 'colorcolumn'")
("Conceal" . "placeholder characters substituted for concealed text (see 'conceallevel')")
("Cursor" . "the character under the cursor")
("CursorIM" . "like Cursor, but used when in IME mode |CursorIM|")
("CursorColumn" . "the screen column that the cursor is in when 'cursorcolumn' is set")
("CursorLine" . "the screen line that the cursor is in when 'cursorline' is set")
("Directory" . "directory names (and other special names in listings)")
("DiffAdd" . "diff mode: Added line |diff.txt|")
("DiffChange" . "diff mode: Changed line |diff.txt|")
("DiffDelete" . "diff mode: Deleted line |diff.txt|")
("DiffText" . "diff mode: Changed text within a changed line |diff.txt|")
("ErrorMsg" . "error messages on the command line")
("VertSplit" . "the column separating vertically split windows")
("Folded" . "line used for closed folds")
("FoldColumn" . "'foldcolumn'")
("SignColumn" . "column where |signs| are displayed")
("IncSearch" . "'incsearch' highlighting; also used for the text replaced with \":s///c\"")
("LineNr" . "Line number for \":number\" and \":#\" commands, and when 'number' \
or 'relativenumber' option is set.")
("MatchParen" . "The character under the cursor or just before it, if it is a paired \
bracket, and its match. |pi_paren.txt|")
("ModeMsg" . "'showmode' message (e.g., \"-- INSERT --\")")
("MoreMsg" . "|more-prompt|")
("NonText" . "'~' and '@' at the end of the window, characters from \
'showbreak' and other characters that do not really exist in \
the text (e.g., \">\" displayed when a double-wide character \
doesn't fit at the end of the line).")
("Normal" . "normal text")
("Pmenu" . "Popup menu: normal item.")
("PmenuSel" . "Popup menu: selected item.")
("PmenuSbar" . "Popup menu: scrollbar.")
("PmenuThumb" . "Popup menu: Thumb of the scrollbar.")
("Question" . "|hit-enter| prompt and yes/no questions")
("Search" . "Last search pattern highlighting (see 'hlsearch').\
Also used for highlighting the current line in the quickfix \
window and similar items that need to stand out.")
("SpecialKey" . "Meta and special keys listed with \":map\", also for text used \
to show unprintable characters in the text, 'listchars'. \
Generally: text that is displayed differently from what it \
really is.")
("SpellBad" . "Word that is not recognized by the spellchecker. |spell| \
This will be combined with the highlighting used otherwise.")
("SpellCap" . "Word that should start with a capital. |spell| \
This will be combined with the highlighting used otherwise.")
("SpellLocal" . "Word that is recognized by the spellchecker as one that is \
used in another region. |spell| \
This will be combined with the highlighting used otherwise.")
("SpellRare" . "Word that is recognized by the spellchecker as one that is \
hardly ever used. |spell| \
This will be combined with the highlighting used otherwise.")
("StatusLine" . "status line of current window")
("StatusLineNC" . "status lines of not-current windows \n\
Note: if this is equal to \"StatusLine\" Vim will use \"^^^\" in \
the status line of the current window.")
("TabLine" . "tab pages line, not active tab page label")
("TabLineFill" . "tab pages line, where there are no labels")
("TabLineSel" . "tab pages line, active tab page label")
("Title" . "titles for output from \":set all\", \":autocmd\" etc.")
("Visual" . "Visual mode selection")
("VisualNOS" . "Visual mode selection when vim is \"Not Owning the Selection\".\
Only X11 Gui's |gui-x11| and |xterm-clipboard| supports this.")
("WarningMsg" . "warning messages")
("WildMenu" . "current match in 'wildmenu' completion")
;The 'statusline' syntax allows the use of 9 different highlights in the
;statusline and ruler (via 'rulerformat'). The names are User1 to User9.
;For the GUI you can use the following groups to set the colors for the menu,
;scrollbars and tooltips. They don't have defaults. This doesn't work for the
;Win32 GUI. Only three highlight arguments have any effect here: font, guibg,
;and guifg.
("Menu" . "Current font, background and foreground colors of the menus. \
Also used for the toolbar. \
Applicable highlight arguments: font, guibg, guifg. \n\
NOTE: For Motif and Athena the font argument actually \
specifies a fontset at all times, no matter if 'guifontset' is \
empty, and as such it is tied to the current |:language| when set.")
("Scrollbar" . "Current background and foreground of the main window's \
scrollbars. Applicable highlight arguments: guibg, guifg.")
("Tooltip" . "Current font, background and foreground of the tooltips. \
Applicable highlight arguments: font, guibg, guifg.\n\
NOTE: For Motif and Athena the font argument actually \
specifies a fontset at all times, no matter if 'guifontset' is \
empty, and as such it is tied to the current |:language| when set.")
) ) )
; backgroundの処理
(define (background bg)
;#?=bg
(cons "*background*" (format #f "*~a*" bg) ) )
; linkの処理
(define (link-param name target)
(cons name target) )
; 色設定パラメータのパース
(define (parse-param name param)
(cons
name
($ generator->list
$ gmap (^m
(rxmatch-let m ( _ var val )
(cons var
(rxmatch-case var
[#/(\S+fg$)|(\S+bg$)/ (_)
(rxmatch-case val
[#/^#[0-9A-Fa-f]+$/ (x) (string-upcase x) ]
; 整数のときはctermの色変換テーブルを参照
[#/^\d+$/ (x)
($ dict-get *vim-rgb-table*
$ dict-get *cterm-nr16-table* $ string->number x) ]
; fg,bgのときはどうするか?
[#/^(fg)|(bg)$/ (x) (string->symbol x)]
[#/^(foreground)$/ (x) 'fg ]
[#/^(background)$/ (x) 'bg ]
[else => (cut dict-get *vim-rgb-table* <>)])]
[else
(rxmatch-case val
[#/^NONE$/i (_) #f]
[else => identity ] ) ] ) ) ) )
$ grxmatch #/\s*(\S+)\s*=\s*(\S+)\s*/ $ x->generator param)
) )
; デフォルトの設定
; vim/src/syntax.c
;/**************************************
; * Highlighting stuff *
; **************************************/
;/*
; * The default highlight groups. These are compiled-in for fast startup and
; * they still work when the runtime files can't be found.
; * When making changes here, also change runtime/colors/default.vim!
; * The #ifdefs are needed to reduce the amount of static data. Helps to make
; * the 16 bit DOS (museum) version compile.
; */
(define highlight_init_both
'("ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White"
"IncSearch term=reverse cterm=reverse gui=reverse"
"ModeMsg term=bold cterm=bold gui=bold"
"NonText term=bold ctermfg=Blue gui=bold guifg=Blue"
"StatusLine term=reverse bold cterm=reverse bold gui=reverse bold"
"StatusLineNC term=reverse cterm=reverse gui=reverse"
"VertSplit term=reverse cterm=reverse gui=reverse"
"VisualNOS term=underline bold cterm=underline bold gui=underline bold"
"DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red"
"PmenuSbar ctermbg=Grey guibg=Grey"
"TabLineSel term=bold cterm=bold gui=bold"
"TabLineFill term=reverse cterm=reverse gui=reverse"
"Cursor guibg=fg guifg=bg"
"lCursor guibg=fg guifg=bg"))
(define highlight_init_light
'("Directory term=bold ctermfg=DarkBlue guifg=Blue"
"LineNr term=underline ctermfg=Brown guifg=Brown"
"CursorLineNr term=bold ctermfg=Brown gui=bold guifg=Brown"
"MoreMsg term=bold ctermfg=DarkGreen gui=bold guifg=SeaGreen"
"Question term=standout ctermfg=DarkGreen gui=bold guifg=SeaGreen"
"Search term=reverse ctermbg=Yellow ctermfg=NONE guibg=Yellow guifg=NONE"
"SpellBad term=reverse ctermbg=LightRed guisp=Red gui=undercurl"
"SpellCap term=reverse ctermbg=LightBlue guisp=Blue gui=undercurl"
"SpellRare term=reverse ctermbg=LightMagenta guisp=Magenta gui=undercurl"
"SpellLocal term=underline ctermbg=Cyan guisp=DarkCyan gui=undercurl"
"PmenuThumb ctermbg=Black guibg=Black"
"Pmenu ctermbg=LightMagenta ctermfg=Black guibg=LightMagenta"
"PmenuSel ctermbg=LightGrey ctermfg=Black guibg=Grey"
"SpecialKey term=bold ctermfg=DarkBlue guifg=Blue"
"Title term=bold ctermfg=DarkMagenta gui=bold guifg=Magenta"
"WarningMsg term=standout ctermfg=DarkRed guifg=Red"
"WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black"
"Folded term=standout ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue"
"FoldColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue"
"SignColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue"
"Visual term=reverse guibg=LightGrey"
"DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue"
"DiffChange term=bold ctermbg=LightMagenta guibg=LightMagenta"
"DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan"
"TabLine term=underline cterm=underline ctermfg=black ctermbg=LightGrey gui=underline guibg=LightGrey"
"CursorColumn term=reverse ctermbg=LightGrey guibg=Grey90"
"CursorLine term=underline cterm=underline guibg=Grey90"
"ColorColumn term=reverse ctermbg=LightRed guibg=LightRed"
"Conceal ctermbg=DarkGrey ctermfg=LightGrey guibg=DarkGrey guifg=LightGrey"
"MatchParen term=reverse ctermbg=Cyan guibg=Cyan"
"Normal gui=NONE"
))
(define highlight_init_dark
'("Directory term=bold ctermfg=LightCyan guifg=Cyan"
"LineNr term=underline ctermfg=Yellow guifg=Yellow"
"CursorLineNr term=bold ctermfg=Yellow gui=bold guifg=Yellow"
"MoreMsg term=bold ctermfg=LightGreen gui=bold guifg=SeaGreen"
"Question term=standout ctermfg=LightGreen gui=bold guifg=Green"
"Search term=reverse ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black"
"SpecialKey term=bold ctermfg=LightBlue guifg=Cyan"
"SpellBad term=reverse ctermbg=Red guisp=Red gui=undercurl"
"SpellCap term=reverse ctermbg=Blue guisp=Blue gui=undercurl"
"SpellRare term=reverse ctermbg=Magenta guisp=Magenta gui=undercurl"
"SpellLocal term=underline ctermbg=Cyan guisp=Cyan gui=undercurl"
"PmenuThumb ctermbg=White guibg=White"
"Pmenu ctermbg=Magenta ctermfg=Black guibg=Magenta"
"PmenuSel ctermbg=Black ctermfg=DarkGrey guibg=DarkGrey"
"Title term=bold ctermfg=LightMagenta gui=bold guifg=Magenta"
"WarningMsg term=standout ctermfg=LightRed guifg=Red"
"WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black"
"Folded term=standout ctermbg=DarkGrey ctermfg=Cyan guibg=DarkGrey guifg=Cyan"
"FoldColumn term=standout ctermbg=DarkGrey ctermfg=Cyan guibg=Grey guifg=Cyan"
"SignColumn term=standout ctermbg=DarkGrey ctermfg=Cyan guibg=Grey guifg=Cyan"
"Visual term=reverse guibg=DarkGrey"
"DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue"
"DiffChange term=bold ctermbg=DarkMagenta guibg=DarkMagenta"
"DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan gui=bold guifg=Blue guibg=DarkCyan"
"TabLine term=underline cterm=underline ctermfg=white ctermbg=DarkGrey gui=underline guibg=DarkGrey"
"CursorColumn term=reverse ctermbg=DarkGrey guibg=Grey40"
"CursorLine term=underline cterm=underline guibg=Grey40"
"ColorColumn term=reverse ctermbg=DarkRed guibg=DarkRed"
"MatchParen term=reverse ctermbg=DarkCyan guibg=DarkCyan"
"Conceal ctermbg=DarkGrey ctermfg=LightGrey guibg=DarkGrey guifg=LightGrey"
"Normal gui=NONE"
))
(define default-schemes
`(,($ cons "*light*"
$ append highlight_init_both highlight_init_light)
,($ cons "*dark*"
$ append highlight_init_both highlight_init_dark ) ) )
(define *vim-color-scheme* (make-tree-map string-ci=? string-ci>?) )
(for-each
(match-lambda
[(scheme-name . scheme-body)
($ dict-put! *vim-color-scheme* scheme-name
$ (cut alist->tree-map <> string-ci=? string-ci<?)
$ acons "*name*" scheme-name
$ filter-map
(rxmatch-lambda
[#/^(\S+)\s+(\S.*)$/ (_ name param )
(parse-param name param) ]
[else #f])
scheme-body)
])
default-schemes)
($ generator-for-each (^x
(dict-put! *vim-color-scheme* x
(call-with-input-file x
($ (cut alist->tree-map <> string-ci=? string-ci<?)
$ acons "*name*" x
$ generator->list
$ gfilter-map
(rxmatch-lambda
[ #/^:?set\s+background=(\S+)\s*$/ (_ bg)
(background bg) ]
[ #/^:?((?:hi)|(?:highlight))!\s+link\s+(\S+)\s+(\S+)\s*$/i (x h name target)
(link-param name target) ]
[ #/^:?((?:hi)|(?:highlight))\s+link\s+(\S+)\s+(\S+)\s*$/i (x h name target)
(link-param name target) ]
[ #/^:?((?:hi)|(?:highlight))\s+(\S+)\s+(.*)$/i (x h name param)
(parse-param name param) ]
[ else #f] )
$ port->line-generator $)
) ) )
$ glob-generator *vim-color-scheme-file-glob* )
;($ pretty-print $ dict->alist *vim-highlight-group*)
;($ pretty-print $ dict->alist *vim-color-scheme*)
;(pretty-print (vim-scheme-names))(flush)
;#?=(vim-get-scheme "/usr/share/vim/vim73/colors/zellner.vim")
;#?=(vim-get-color (vim-get-scheme "/usr/share/vim/vim73/colors/zellner.vim") "ErrorMsg")
;#?=(vim-get-fore-color (vim-get-scheme "/usr/share/vim/vim73/colors/zellner.vim") "ErrorMsg")
;#?=(vim-get-back-color (vim-get-scheme "/usr/share/vim/vim73/colors/zellner.vim") "ErrorMsg")
Tag: vim