mirror of https://github.com/amix/vimrc.git
parent
3aabd8befd
commit
795a8fb80d
@ -0,0 +1,59 @@ |
||||
" vim-airline companion theme of distinguished |
||||
" (https://github.com/Lokaltog/vim-distinguished) |
||||
" I have nothing to do with the original |
||||
" distinguished theme other than being a big fan. |
||||
" this theme was shamelessly created by modifying |
||||
" the Ubaryd airline theme. |
||||
|
||||
let s:gray = [245, '#8a8a8a'] |
||||
let s:golden = [143, '#afaf5f'] |
||||
let s:pink = [131, '#af5f5f'] |
||||
let s:blue = [ 67, '#5f87af'] |
||||
let s:orange = [166, '#d75f00'] |
||||
let s:outerfg = [ 16, '#000000'] |
||||
let s:innerbg = [234, '#1c1c1c'] |
||||
let s:middle = ['#bcbcbc', '#444444', 250, 238] |
||||
|
||||
" Normal mode |
||||
let s:N1 = [s:outerfg[1], s:gray[1], s:outerfg[0], s:gray[0]] |
||||
let s:N3 = [s:gray[1], s:innerbg[1], s:gray[0], s:innerbg[0]] |
||||
|
||||
" Insert mode |
||||
let s:I1 = [s:outerfg[1], s:golden[1], s:outerfg[0], s:golden[0]] |
||||
let s:I3 = [s:golden[1], s:innerbg[1], s:golden[0], s:innerbg[0]] |
||||
|
||||
" Visual mode |
||||
let s:V1 = [s:outerfg[1], s:pink[1], s:outerfg[0], s:pink[0]] |
||||
let s:V3 = [s:pink[1], s:innerbg[1], s:pink[0], s:innerbg[0]] |
||||
|
||||
" Replace mode |
||||
let s:R1 = [s:outerfg[1], s:blue[1], s:outerfg[0], s:blue[0]] |
||||
let s:R3 = [s:blue[1], s:innerbg[1], s:blue[0], s:innerbg[0]] |
||||
|
||||
" Inactive pane |
||||
let s:IA = [s:middle[1], s:innerbg[1], s:middle[3], s:innerbg[0]] |
||||
|
||||
let g:airline#themes#distinguished#palette = {} |
||||
let g:airline#themes#distinguished#palette.accents = { |
||||
\ 'red': ['#d70000', '', 160, '', '']} |
||||
|
||||
let g:airline#themes#distinguished#palette.inactive = { |
||||
\ 'airline_a': s:IA, |
||||
\ 'airline_b': s:IA, |
||||
\ 'airline_c': s:IA} |
||||
|
||||
let g:airline#themes#distinguished#palette.normal = airline#themes#generate_color_map(s:N1, s:middle, s:N3) |
||||
let g:airline#themes#distinguished#palette.normal_modified = { |
||||
\ 'airline_a': ['', s:orange[1], '', s:orange[0], ''], |
||||
\ 'airline_c': [s:orange[1], '', s:orange[0], '', ''], |
||||
\ 'airline_x': [s:orange[1], '', s:orange[0], '', ''], |
||||
\ 'airline_z': ['', s:orange[1], '', s:orange[0], '']} |
||||
|
||||
let g:airline#themes#distinguished#palette.insert = airline#themes#generate_color_map(s:I1, s:middle, s:I3) |
||||
let g:airline#themes#distinguished#palette.insert_modified = {} |
||||
|
||||
let g:airline#themes#distinguished#palette.replace = airline#themes#generate_color_map(s:R1, s:middle, s:R3) |
||||
let g:airline#themes#distinguished#palette.replace_modified = {} |
||||
|
||||
let g:airline#themes#distinguished#palette.visual = airline#themes#generate_color_map(s:V1, s:middle, s:V3) |
||||
let g:airline#themes#distinguished#palette.visual_modified = {} |
@ -0,0 +1,19 @@ |
||||
# vim-jade # |
||||
|
||||
Vim syntax highlighting for Jade templates. |
||||
|
||||
Installation |
||||
------------ |
||||
|
||||
I prefer to install plugins using Tim Pope's |
||||
[pathogen.vim](https://github.com/tpope/vim-pathogen). Installation using |
||||
pathogen is quite simple. |
||||
|
||||
cd ~/.vim/bundle |
||||
git clone git://github.com/digitaltoad/vim-jade.git |
||||
|
||||
If you do not want to use pathogen. You can always install vim-jade in the |
||||
normal manner by copying each directory to your ~/.vim directory. Make sure |
||||
not to overwrite any existing directory of the same name and instead copy only |
||||
the contents of the source directory to the directory of the same name in your |
||||
~/.vim directory. |
@ -0,0 +1,2 @@ |
||||
" Jade |
||||
autocmd BufNewFile,BufReadPost *.jade set filetype=jade |
@ -0,0 +1,57 @@ |
||||
" Vim filetype plugin |
||||
" Language: Jade |
||||
" Maintainer: Joshua Borton |
||||
" Credits: Tim Pope |
||||
|
||||
" Only do this when not done yet for this buffer |
||||
if exists("b:did_ftplugin") |
||||
finish |
||||
endif |
||||
|
||||
let s:save_cpo = &cpo |
||||
set cpo-=C |
||||
|
||||
setlocal iskeyword+=- |
||||
|
||||
" Define some defaults in case the included ftplugins don't set them. |
||||
let s:undo_ftplugin = "" |
||||
let s:browsefilter = "All Files (*.*)\t*.*\n" |
||||
let s:match_words = "" |
||||
|
||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim |
||||
unlet! b:did_ftplugin |
||||
|
||||
" Override our defaults if these were set by an included ftplugin. |
||||
if exists("b:undo_ftplugin") |
||||
let s:undo_ftplugin = b:undo_ftplugin |
||||
unlet b:undo_ftplugin |
||||
endif |
||||
if exists("b:browsefilter") |
||||
let s:browsefilter = b:browsefilter |
||||
unlet b:browsefilter |
||||
endif |
||||
if exists("b:match_words") |
||||
let s:match_words = b:match_words |
||||
unlet b:match_words |
||||
endif |
||||
|
||||
" Change the browse dialog on Win32 to show mainly Haml-related files |
||||
if has("gui_win32") |
||||
let b:browsefilter="Jade Files (*.jade)\t*.jade\n" . s:browsefilter |
||||
endif |
||||
|
||||
" Load the combined list of match_words for matchit.vim |
||||
if exists("loaded_matchit") |
||||
let b:match_words = s:match_words |
||||
endif |
||||
|
||||
setlocal comments=://-,:// commentstring=//\ %s |
||||
|
||||
setlocal suffixesadd+=.jade |
||||
|
||||
let b:undo_ftplugin = "setl cms< com< " |
||||
\ " | unlet! b:browsefilter b:match_words | " . s:undo_ftplugin |
||||
|
||||
let &cpo = s:save_cpo |
||||
|
||||
" vim:set sw=2: |
@ -0,0 +1,70 @@ |
||||
" Vim indent file |
||||
" Language: Jade |
||||
" Maintainer: Joshua Borton |
||||
" Credits: Tim Pope (vim-jade) |
||||
" Last Change: 2010 Sep 22 |
||||
|
||||
if exists("b:did_indent") |
||||
finish |
||||
endif |
||||
|
||||
unlet! b:did_indent |
||||
let b:did_indent = 1 |
||||
|
||||
setlocal autoindent |
||||
setlocal indentexpr=GetJadeIndent() |
||||
setlocal indentkeys=o,O,*<Return>,},],0),!^F |
||||
|
||||
" Only define the function once. |
||||
if exists("*GetJadeIndent") |
||||
finish |
||||
endif |
||||
|
||||
let s:attributes = '\%((.\{-\})\)' |
||||
let s:tag = '\([%.#][[:alnum:]_-]\+\|'.s:attributes.'\)*[<>]*' |
||||
|
||||
if !exists('g:jade_self_closing_tags') |
||||
let g:jade_self_closing_tags = 'meta|link|img|hr|br|input' |
||||
endif |
||||
|
||||
setlocal formatoptions+=r |
||||
setlocal comments+=n:\| |
||||
|
||||
function! GetJadeIndent() |
||||
let lnum = prevnonblank(v:lnum-1) |
||||
if lnum == 0 |
||||
return 0 |
||||
endif |
||||
let line = substitute(getline(lnum),'\s\+$','','') |
||||
let cline = substitute(substitute(getline(v:lnum),'\s\+$','',''),'^\s\+','','') |
||||
let lastcol = strlen(line) |
||||
let line = substitute(line,'^\s\+','','') |
||||
let indent = indent(lnum) |
||||
let cindent = indent(v:lnum) |
||||
let increase = indent + &sw |
||||
if indent == indent(lnum) |
||||
let indent = cindent <= indent ? -1 : increase |
||||
endif |
||||
|
||||
let group = synIDattr(synID(lnum,lastcol,1),'name') |
||||
|
||||
if line =~ '^!!!' |
||||
return indent |
||||
elseif line =~ '^/\%(\[[^]]*\]\)\=$' |
||||
return increase |
||||
elseif line =~ '^\%(if\|else\|unless\|for\|each\|block\|mixin\|append\|case\|when\)' |
||||
return increase |
||||
elseif line =~ '^'.s:tag.'[&!]\=[=~-].*,\s*$' |
||||
return increase |
||||
elseif line == '-#' |
||||
return increase |
||||
elseif line =~? '^\v%('.g:jade_self_closing_tags.')>' |
||||
return indent |
||||
elseif group =~? '\v^%(jadeAttributesDelimiter|jadeClass|jadeId|htmlTagName|htmlSpecialTagName|jadeFilter|jadeTagBlockChar)$' |
||||
return increase |
||||
else |
||||
return indent |
||||
endif |
||||
endfunction |
||||
|
||||
" vim:set sw=2: |
@ -0,0 +1,104 @@ |
||||
" Vim syntax file |
||||
" Language: Jade |
||||
" Maintainer: Joshua Borton |
||||
" Credits: Tim Pope |
||||
" Filenames: *.jade |
||||
|
||||
if exists("b:current_syntax") |
||||
finish |
||||
endif |
||||
|
||||
if !exists("main_syntax") |
||||
let main_syntax = 'jade' |
||||
endif |
||||
|
||||
silent! syntax include @htmlCoffeescript syntax/coffee.vim |
||||
unlet! b:current_syntax |
||||
silent! syntax include @htmlStylus syntax/stylus.vim |
||||
unlet! b:current_syntax |
||||
silent! syntax include @htmlCss syntax/css.vim |
||||
unlet! b:current_syntax |
||||
silent! syntax include @htmlMarkdown syntax/markdown.vim |
||||
unlet! b:current_syntax |
||||
|
||||
syn case match |
||||
|
||||
syn region javascriptParenthesisBlock start="(" end=")" contains=@htmlJavascript contained keepend |
||||
syn cluster htmlJavascript add=javascriptParenthesisBlock |
||||
|
||||
syn region jadeJavascript matchgroup=jadeJavascriptOutputChar start="[!&]\==\|\~" skip=",\s*$" end="$" contained contains=@htmlJavascript keepend |
||||
syn region jadeJavascript matchgroup=jadeJavascriptChar start="-" skip=",\s*$" end="$" contained contains=@htmlJavascript keepend |
||||
syn cluster jadeTop contains=jadeBegin,jadeComment,jadeHtmlComment,jadeJavascript |
||||
syn match jadeBegin "^\s*\%([<>]\|&[^=~ ]\)\@!" nextgroup=jadeTag,jadeClassChar,jadeIdChar,jadePlainChar,jadeJavascript,jadeScriptConditional,jadeScriptStatement,jadePipedText |
||||
syn match jadeTag "+\?\w\+\%(:\w\+\)\=" contained contains=htmlTagName,htmlSpecialTagName nextgroup=@jadeComponent |
||||
syn cluster jadeComponent contains=jadeAttributes,jadeIdChar,jadeBlockExpansionChar,jadeClassChar,jadePlainChar,jadeJavascript,jadeTagBlockChar,jadeTagInlineText |
||||
syn match jadeComment '\s*\/\/.*$' |
||||
syn region jadeCommentBlock start="\z(\s*\)\/\/.*$" end="^\%(\z1\s\|\s*$\)\@!" keepend |
||||
syn region jadeHtmlConditionalComment start="<!--\%(.*\)>" end="<!\%(.*\)-->" |
||||
syn region jadeAttributes matchgroup=jadeAttributesDelimiter start="(" end=")" contained contains=@htmlJavascript,jadeHtmlArg,htmlArg,htmlEvent,htmlCssDefinition nextgroup=@jadeComponent |
||||
syn match jadeClassChar "\." contained nextgroup=jadeClass |
||||
syn match jadeBlockExpansionChar ":\s\+" contained nextgroup=jadeTag,jadeClassChar,jadeIdChar |
||||
syn match jadeIdChar "#[[{]\@!" contained nextgroup=jadeId |
||||
syn match jadeClass "\%(\w\|-\)\+" contained nextgroup=@jadeComponent |
||||
syn match jadeId "\%(\w\|-\)\+" contained nextgroup=@jadeComponent |
||||
syn region jadeDocType start="^\s*\(!!!\|doctype\)" end="$" |
||||
" Unless I'm mistaken, syntax/html.vim requires |
||||
" that the = sign be present for these matches. |
||||
" This adds the matches back for jade. |
||||
syn keyword jadeHtmlArg contained href title |
||||
|
||||
syn match jadePlainChar "\\" contained |
||||
syn region jadeInterpolation matchgroup=jadeInterpolationDelimiter start="[#!]{" end="}" contains=@htmlJavascript |
||||
syn match jadeInterpolationEscape "\\\@<!\%(\\\\\)*\\\%(\\\ze#{\|#\ze{\)" |
||||
syn match jadeTagInlineText "\s.*$" contained contains=jadeInterpolation,jadeTextInlineJade |
||||
syn region jadePipedText matchgroup=jadePipeChar start="|" end="$" contained contains=jadeInterpolation,jadeTextInlineJade nextgroup=jadePipedText skipnl |
||||
syn match jadeTagBlockChar "\.$" contained nextgroup=jadeTagBlockText,jadeTagBlockEnd skipnl |
||||
syn region jadeTagBlockText start="\%(\s*\)\S" end="\ze\n" contained contains=jadeInterpolation,jadeTextInlineJade nextgroup=jadeTagBlockText,jadeTagBlockEnd skipnl |
||||
syn region jadeTagBlockEnd start="\s*\S" end="$" contained contains=jadeInterpolation,jadeTextInlineJade nextgroup=jadeBegin skipnl |
||||
syn region jadeTextInlineJade matchgroup=jadeInlineDelimiter start="#\[" end="]" contains=jadeTag keepend |
||||
|
||||
syn region jadeJavascriptFilter matchgroup=jadeFilter start="^\z(\s*\):javascript\s*$" end="^\%(\z1\s\|\s*$\)\@!" contains=@htmlJavascript |
||||
syn region jadeMarkdownFilter matchgroup=jadeFilter start=/^\z(\s*\):\%(markdown\|marked\)\s*$/ end=/^\%(\z1\s\|\s*$\)\@!/ contains=@htmlMarkdown |
||||
syn region jadeStylusFilter matchgroup=jadeFilter start="^\z(\s*\):stylus\s*$" end="^\%(\z1\s\|\s*$\)\@!" contains=@htmlStylus |
||||
syn region jadePlainFilter matchgroup=jadeFilter start="^\z(\s*\):\%(sass\|less\|cdata\)\s*$" end="^\%(\z1\s\|\s*$\)\@!" |
||||
|
||||
syn match jadeScriptConditional "^\s*\<\%(if\|else\|else if\|unless\|while\|until\|case\|when\|default\)\>[?!]\@!" |
||||
syn match jadeScriptStatement "^\s*\<\%(each\|for\|block\|prepend\|append\|mixin\|extends\|include\)\>[?!]\@!" |
||||
syn region jadeScriptLoopRegion start="^\s*\(for \)" end="$" contains=jadeScriptLoopKeywords |
||||
syn keyword jadeScriptLoopKeywords for in contained |
||||
|
||||
syn region jadeJavascript start="^\z(\s*\)script\%(:\w\+\)\=" end="^\%(\z1\s\|\s*$\)\@!" contains=@htmlJavascript,jadeJavascriptTag,jadeCoffeescriptFilter keepend |
||||
|
||||
syn region jadeCoffeescriptFilter matchgroup=jadeFilter start="^\z(\s*\):coffee-\?script\s*$" end="^\%(\z1\s\|\s*$\)\@!" contains=@htmlCoffeescript contained |
||||
syn region jadeJavascriptTag contained start="^\z(\s*\)script\%(:\w\+\)\=" end="$" contains=jadeBegin,jadeTag |
||||
syn region jadeCssBlock start="^\z(\s*\)style" nextgroup=@jadeComponent,jadeError end="^\%(\z1\s\|\s*$\)\@!" contains=@htmlCss keepend |
||||
|
||||
syn match jadeError "\$" contained |
||||
|
||||
hi def link jadePlainChar Special |
||||
hi def link jadeScriptConditional PreProc |
||||
hi def link jadeScriptLoopKeywords PreProc |
||||
hi def link jadeScriptStatement PreProc |
||||
hi def link jadeHtmlArg htmlArg |
||||
hi def link jadeAttributeString String |
||||
hi def link jadeAttributesDelimiter Identifier |
||||
hi def link jadeIdChar Special |
||||
hi def link jadeClassChar Special |
||||
hi def link jadeBlockExpansionChar Special |
||||
hi def link jadePipeChar Special |
||||
hi def link jadeTagBlockChar Special |
||||
hi def link jadeId Identifier |
||||
hi def link jadeClass Type |
||||
hi def link jadeInterpolationDelimiter Delimiter |
||||
hi def link jadeInlineDelimiter Delimiter |
||||
hi def link jadeFilter PreProc |
||||
hi def link jadeDocType PreProc |
||||
hi def link jadeComment Comment |
||||
hi def link jadeCommentBlock Comment |
||||
hi def link jadeHtmlConditionalComment jadeComment |
||||
|
||||
let b:current_syntax = "jade" |
||||
|
||||
if main_syntax == "jade" |
||||
unlet main_syntax |
||||
endif |
@ -1,7 +1,11 @@ |
||||
sudo: false |
||||
language: ruby |
||||
rvm: |
||||
- 1.9.3 |
||||
before_install: sudo apt-get install vim-gtk |
||||
|
||||
addons: |
||||
apt: |
||||
packages: |
||||
- vim-gtk |
||||
|
||||
before_script: |
||||
- "export DISPLAY=:99.0" |
||||
- "sh -e /etc/init.d/xvfb start" |
||||
|