diff --git a/vim/after/syntax/cpp.vim b/vim/after/syntax/cpp.vim index 038537b..e32b73b 100644 --- a/vim/after/syntax/cpp.vim +++ b/vim/after/syntax/cpp.vim @@ -23,67 +23,84 @@ syn match cxxErrorNames "\<[A-Z][A-Za-z0-9_]*Error\>" syn match cxxCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*\(<\)\@=" -syn match cxxStlPrefix "\" -syn match cxxStlTypes "\(\" -syn match cxxStlTypes "\(\" -syn match cxxStlConstant "\(std::\)\@<=\(endl\|flush\)\>" +syn keyword cxxStlKeywords containedin=cxxStlLibrary,cxxBoostLibrary string_view mutex thread contained +syn keyword cxxStlKeywords containedin=cxxStlLibrary string contained -syn match cxxStlKeywords "\(\" -syn match cxxStlKeywords "\(\" -" syn match cxxStlTypes "\(std::\)\@<=\(vector\|array\|deque\|list\|pair\|\(priority_\)\?queue\|stack\|\(unordered_\)\?\(multi\)\?\(set\|map\)\)\(<\|;\| \)\@=" -syn match cxxStlKeywords "\(std::\)\@<=\(unique_ptr\)\(<\|;\| \|\>\)\@=" -syn match cxxStlKeywords "\(std::\)\@<=\(shared_ptr\)\(<\|;\| \|\>\)\@=" -syn match cxxStlKeywords "\(std::\)\@<=\(weak_ptr\)\(<\|;\| \|\>\)\@=" -syn match cxxStlKeywords "\(std::\)\@<=nullptr_t\>" -syn match cxxStlKeywords "\(std::\)\@<=function\>" +syn keyword cxxStlKeywords containedin=cxxStlLibrary,cxxBoostLibrary shared_ptr weak_ptr contained +syn keyword cxxStlKeywords containedin=cxxStlLibrary unique_ptr nullptr_t contained +syn keyword cxxStlKeywords containedin=cxxStlLibrary,cxxBoostLibrary function contained -syn match cxxStlFunctions "\(std::\)\@<=make_\(unique\|shared\)\(<\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=make_\(pair\|tuple\)\((\|<\)\@=" +syn keyword cxxStlTypes containedin=cxxStlLibrary iostream istream ostream fstream ifstream ofstream contained +syn keyword cxxStlTypes containedin=cxxStlLibrary stringstream istringstream ostringstream contained +syn keyword cxxStlTypes containedin=cxxStlLibrary iostream basic_string vector deque list pair queue priority_queue stack map multimap set multiset contained -syn match cxxStlFunctions "\(std::\)\@<=addressof\((\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=tie\((\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=copy\(_\(n\|backward\|if\)\)\?\((\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=find\(_\(if\|first_of\|end\)\?\)\((\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=count\(_if\)\?\((\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=\(transform\|mismatch\|equal\|accumulate\|move\)\((\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=search\(_n\)\?\((\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=fill\(_n\)\?\((\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=generate\(_n\)\?\((\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=replace\(_copy\)\?\(_if\)\?\((\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=\(unique\|reverse\|rotate\)\(_copy\)\?\((\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=\(stable_\)\?\(partition\|sort\)\((\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=partial_sort\(_copy\)\?\((\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=\(inplace_\)\?merge\((\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=\(inplace_\)\?merge\((\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=set_\(union\|intersection\|\(symmetric_\)\?difference\)\((\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=\(push\|pop\|make\|is\|sort\)_heap\((\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=\(min\|max\)\(_element\)\?\((\)\@=" -syn match cxxStlFunctions "\(std::\)\@<=\(front_\|back_\)\?\(inserter\)\((\)\@=" +syn keyword cxxStlTypes containedin=cxxStlLibrary,cxxBoostLibrary array contained +syn keyword cxxStlTypes containedin=cxxStlLibrary,cxxBoostLibrary unordered_map unordered_multimap contained +syn keyword cxxStlTypes containedin=cxxStlLibrary,cxxBoostLibrary unordered_set unordered_multiset contained -syn match cxxStlTraits "\(std::\)\@<=\(is_convertible\)\(<\)\@=" -syn match cxxStlTraits "\(std::\)\@<=\(is_\(default_\)\?constructible\)\(<\)\@=" -syn match cxxStlFunctions "\<\(back_inserter\|begin\|end\)\((\)\@=" +syn keyword cxxStlService containedin=cxxStlLibrary cout clog cerr contained +syn keyword cxxStlConstant containedin=cxxStlLibrary endl flush contained -syn match cxxStlExceptionNames "\(std::\)\@<=exception\>" -syn match cxxStlExceptionNames "\(std::\)\@<=runtime_error\>" -syn match cxxStlExceptionNames "\(std::\)\@<=logic_error\>" -syn match cxxStlExceptionNames "\(std::\)\@<=bad_typeid\>" -syn match cxxStlExceptionNames "\(std::\)\@<=bad_cast\>" -syn match cxxStlExceptionNames "\(std::\)\@<=bad_alloc\>" -syn match cxxStlExceptionNames "\(std::\)\@<=bad_array_new_length\>" -syn match cxxStlExceptionNames "\(std::\)\@<=bad_exception\>" -syn match cxxStlExceptionNames "\(std::\)\@<=invalid_argument\>" -syn match cxxStlExceptionNames "\(std::\)\@<=domain_error\>" -syn match cxxStlExceptionNames "\(std::\)\@<=out_of_range\>" -syn match cxxStlExceptionNames "\(std::\)\@<=range_error\>" -syn match cxxStlExceptionNames "\(std::\)\@<=\(overflow\|underflow\)_error\>" +syn keyword cxxStlFunctions containedin=cxxStlLibrary,cxxBoostLibrary make_shared make_tuple contained +syn keyword cxxStlFunctions containedin=cxxStlLibrary make_unique make_pair tie addressof contained +syn keyword cxxStlFunctions containedin=cxxStlLibrary copy copy_n copy_if copy_backward replace_copy_if replace_copy contained +syn keyword cxxStlFunctions containedin=cxxStlLibrary find find_if find_first_of find_end contained +syn keyword cxxStlFunctions containedin=cxxStlLibrary count count_if search search_n contained +syn keyword cxxStlFunctions containedin=cxxStlLibrary transform mismatch equal accumulate move contained +syn keyword cxxStlFunctions containedin=cxxStlLibrary generate generate_n fill fill_n contained +syn keyword cxxStlFunctions containedin=cxxStlLibrary unique reverse rotate contained +syn keyword cxxStlFunctions containedin=cxxStlLibrary unique_copy reverse_copy rotate_copy contained +syn keyword cxxStlFunctions containedin=cxxStlLibrary sort stable_sort partition stable_partition contained +syn keyword cxxStlFunctions containedin=cxxStlLibrary partial_sort partial_sort_copy contained +syn keyword cxxStlFunctions containedin=cxxStlLibrary merge inplace_merge contained +syn keyword cxxStlFunctions containedin=cxxStlLibrary set_union set_intersection contained +syn keyword cxxStlFunctions containedin=cxxStlLibrary set_difference set_symmetric_difference contained +syn keyword cxxStlFunctions containedin=cxxStlLibrary make_heap is_heap sort_heap push_heap pop_heap contained +syn keyword cxxStlFunctions containedin=cxxStlLibrary min max min_element max_element contained + +syn keyword cxxStlFunctions containedin=cxxStlLibrary getline contained + + +syn keyword cxxStlTraits containedin=cxxStlLibrary is_convertible contained +syn keyword cxxStlTraits containedin=cxxStlLibrary is_constructible is_default_constructible contained + +syn keyword cxxStlFreeFunctions back_inserter front_inserter inserter begin end + + +syn keyword cxxStlExceptionNames containedin=cxxStlLibrary exception contained +syn keyword cxxStlExceptionNames containedin=cxxStlLibrary runtime_error contained +syn keyword cxxStlExceptionNames containedin=cxxStlLibrary logic_error contained +syn keyword cxxStlExceptionNames containedin=cxxStlLibrary bad_typeid contained +syn keyword cxxStlExceptionNames containedin=cxxStlLibrary bad_cast contained +syn keyword cxxStlExceptionNames containedin=cxxStlLibrary bad_alloc contained +syn keyword cxxStlExceptionNames containedin=cxxStlLibrary bad_array_new_length contained +syn keyword cxxStlExceptionNames containedin=cxxStlLibrary bad_exception contained +syn keyword cxxStlExceptionNames containedin=cxxStlLibrary invalid_argument contained +syn keyword cxxStlExceptionNames containedin=cxxStlLibrary domain_error contained +syn keyword cxxStlExceptionNames containedin=cxxStlLibrary out_of_range contained +syn keyword cxxStlExceptionNames containedin=cxxStlLibrary range_error contained +syn keyword cxxStlExceptionNames containedin=cxxStlLibrary overflow_error contained +syn keyword cxxStlExceptionNames containedin=cxxStlLibrary underflow_error contained syn match cxxStlDangerousFunction "\(\.\)\@<=release()" @@ -99,6 +116,9 @@ if version >= 508 || !exists("did_cxx_syntax_inits") command -nargs=+ HiLink hi def link endif + "HiLink cxxStlLibrary cxxLibPrefix + "HiLink cxxBoostLibrary cxxLibPrefix + HiLink cxxObjects Object HiLink cxxCast cxxStatement @@ -116,7 +136,10 @@ if version >= 508 || !exists("did_cxx_syntax_inits") HiLink cxxStlTypes Object HiLink cxxStlKeywords cppType HiLink cxxStlFunctions cppStatement - HiLink cxxStlPrefix Caller + HiLink cxxStlFreeFunctions cppStatement + + HiLink cxxLibPrefix Caller + HiLink cxxStlTraits MetaFunction HiLink cxxMetaFunction MetaFunction diff --git a/vim/colors/adam.vim b/vim/colors/adam.vim index 98b4bca..ae34993 100644 --- a/vim/colors/adam.vim +++ b/vim/colors/adam.vim @@ -23,21 +23,26 @@ let g:colors_name="adam" " Last Change: 2013 May 24 set background=dark -hi Normal ctermfg=lightgrey +hi Normal ctermfg=lightgrey start=[0m stop=[0m "hi NonText ctermfg=yellow ctermbg=grey -hi comment ctermfg=green -hi constant ctermfg=magenta cterm=bold +"hi comment ctermfg=green +hi constant ctermfg=magenta term=none start=[95m stop=[0m +"hi constant ctermfg=magenta cterm=bold "hi identifier ctermfg=cyan cterm=NONE -hi statement ctermfg=yellow cterm=NONE -hi preproc ctermfg=blue -hi type ctermfg=green cterm=bold +hi statement ctermfg=yellow cterm=NONE term=none start=[93m stop=[0m +hi preproc ctermfg=blue term=none start=[94m stop=[0m +hi type ctermfg=green term=none start=[92m stop=[0m +"hi type ctermfg=green cterm=bold "hi special ctermfg=yellow -hi ErrorMsg ctermfg=White ctermbg=Red +hi Special ctermfg=Blue guifg=Blue term=none start=[94m stop=[0m +hi ErrorMsg ctermfg=White ctermbg=Red term=none start=[97;101m stop=[0m hi WarningMsg ctermfg=Black ctermbg=Green -hi Error ctermbg=Red -hi Todo ctermfg=Black ctermbg=yellow -hi Cursor ctermfg=blue -hi Directory ctermfg=Blue +"hi Error ctermbg=Red +" Highlight for TODO XXX FIXME, etc. +hi Todo ctermfg=Black ctermbg=yellow term=none start=[103;90m stop=[0m + +hi Cursor ctermfg=blue term=none start=[94m stop=[0m +hi Directory ctermfg=Blue term=none start=[94m stop=[0m " Directory thru netrw @@ -58,21 +63,21 @@ hi ShowMarksHL ctermbg=yellow ctermfg=black cterm=bold hi CursorLine ctermbg=yellow ctermfg=black cterm=bold "hi StatusLineNC cterm=NONE ctermfg=lightblue ctermbg=darkblue "hi StatusLine cterm=bold ctermfg=cyan ctermbg=blue -hi label ctermfg=yellow -hi operator ctermfg=yellow +hi label ctermfg=yellow term=none start=[93m stop=[0m +hi operator ctermfg=yellow term=none start=[93m stop=[0m hi clear Visual hi Visual cterm=reverse term=reverse -hi DiffChange ctermfg=darkgreen -hi DiffFile ctermfg=green -hi DiffSubname ctermfg=cyan -hi DiffIndexLine ctermfg=cyan -hi diffAdded ctermfg=blue -hi diffRemoved ctermfg=red -hi DiffLine ctermfg=yellow +hi DiffChange ctermfg=darkgreen term=none start=[32m stop=[0m +hi DiffFile ctermfg=green term=none start=[92m stop=[0m +hi DiffSubname ctermfg=cyan term=none start=[96m stop=[0m +hi DiffIndexLine ctermfg=cyan term=none start=[96m stop=[0m +hi diffAdded ctermfg=blue term=none start=[94m stop=[0m +hi diffRemoved ctermfg=red term=none start=[91m stop=[0m +hi DiffLine ctermfg=yellow term=none start=[93m stop=[0m "hi DiffLine ctermfg=magenta hi Folded ctermbg=darkgrey hi FoldColumn ctermbg=darkgrey ctermfg=white -hi cIf0 ctermfg=gray +hi cIf0 ctermfg=gray term=none start=[38;2;100;100;100m stop=[0m "hi diffOnly ctermfg=red cterm=bold " End of ron above. @@ -82,53 +87,55 @@ hi cIf0 ctermfg=gray "hi StatusUnwrap ctermfg=brown ctermbg=none cterm=none "hi StatusUnwrap ctermfg=236 ctermbg=none cterm=none hi StatusUnwrap ctermfg=58 ctermbg=none cterm=none -hi Comment ctermfg=darkgrey cterm=bold -hi Identifier ctermfg=cyan -hi Object ctermfg=red -hi Exception ctermfg=brown -hi Service ctermfg=green -hi Error ctermbg=red ctermfg=white cterm=bold -hi Caller ctermfg=cyan +hi Comment ctermfg=darkgrey cterm=none term=NONE term=none start=[38;5;242m stop=[0m +hi Identifier ctermfg=cyan cterm=none term=none start=[96m stop=[0m +hi Object ctermfg=red term=none start=[91m stop=[0m +hi Exception ctermfg=brown term=none start=[38;5;130m stop=[0m +hi Service ctermfg=green start=[32m stop=[0m +hi Error ctermbg=red ctermfg=white cterm=none term=none start=[101;97m stop=[0m +hi Caller ctermfg=cyan term=NONE start=[96m stop=[0m hi Target ctermfg=green ctermbg=red hi Sync ctermfg=green ctermbg=red hi Debug ctermfg=darkgreen hi MetaFunction ctermfg=darkcyan -hi Dangerous ctermfg=red ctermbg=white cterm=bold,underline,italic +hi Dangerous term=none start=[1;7;97;101;3;4;6m stop=[0m ctermfg=white ctermbg=red cterm=reverse,bold,underline,italic +"hi Dangerous ctermfg=red ctermbg=white cterm=bold,underline,italic start=[31;47;1;5m stop=[0m "hi Type ctermfg=lightgreen -hi CommentSpecial ctermfg=Magenta guifg=Magenta -hi SpecialComment ctermfg=Magenta guifg=Magenta + +hi CommentSpecial ctermfg=Magenta guifg=Magenta term=none start=[35m stop=[0m +hi SpecialComment ctermfg=Magenta guifg=Magenta term=none start=[35m stop=[0m " Seems to doc "@" in comments -hi doxygenSpecial ctermfg=Magenta guifg=Magenta +hi doxygenSpecial ctermfg=Magenta guifg=Magenta term=none start=[35m stop=[0m -hi doxygenCommentSpecial ctermfg=Magenta guifg=Magenta -hi doxygenBriefSpecial ctermfg=Magenta guifg=Magenta +hi doxygenCommentSpecial ctermfg=Magenta guifg=Magenta term=none start=[35m stop=[0m +hi doxygenBriefSpecial ctermfg=Magenta guifg=Magenta term=none start=[35m stop=[0m " Brief text -hi doxygenBrief ctermfg=cyan cterm=bold,underline +hi doxygenBrief ctermfg=cyan cterm=bold,underline term=none start=[36;1;4m stop=[0m -hi doxygenComment ctermfg=Blue guifg=Blue +hi doxygenComment ctermfg=Blue guifg=Blue term=none start=[94m stop=[0m "hi doxygenSpecialTypeOnelineDesc cterm=bold ctermfg=LightMagenta guifg=firebrick3 gui=bold -hi doxygenParam ctermfg=Magenta cterm=bold +hi doxygenParam ctermfg=Magenta cterm=bold term=none start=[95m stop=[0m -hi doxygenParamName ctermfg=darkblue cterm=bold,underline +hi doxygenParamName ctermfg=darkblue cterm=bold,underline term=none start=[34;1;4m stop=[0m "@note, @return, etc TODO: split these out, probably by forking doxygen.vim -hi doxygenOther ctermfg=darkyellow cterm=underline +hi doxygenOther ctermfg=darkyellow cterm=underline term=none start=[33;4m stop=[0m "non-brief body -hi doxygenBody ctermfg=lightcyan +hi doxygenBody ctermfg=lightcyan term=none start=[96m stop=[0m -hi doxygenSpecialMultilineDesc ctermfg=cyan +hi doxygenSpecialMultilineDesc ctermfg=cyan term=none start=[36m stop=[0m -hi NamedConstant ctermfg=blue +hi NamedConstant ctermfg=blue term=none start=[94m stop=[0m "hi Example ctermfg=white "hi DocNotes ctermfg=yellow @@ -147,15 +154,18 @@ hi NamedConstant ctermfg=blue " This is from vimrc.colors -- I may reintegrate it back together. "hi User0 ctermfg=green ctermbg=green term=bold -hi statusline ctermfg=white ctermbg=black -hi User1 ctermfg=red ctermbg=white term=standout -hi User2 ctermfg=darkmagenta ctermbg=white term=standout -hi User3 ctermfg=blue ctermbg=white term=standout -hi User4 ctermfg=cyan ctermbg=white term=standout -hi User5 ctermfg=brown ctermbg=white term=standout -hi User6 ctermfg=darkgreen ctermbg=white term=standout -hi User8 ctermfg=magenta ctermbg=black term=bold -hi User9 ctermfg=white ctermbg=black term=bold +hi statusline ctermfg=white ctermbg=black term=none start=[107;30m stop=[0m +hi User1 ctermfg=red ctermbg=white term=standout term=none start=[91;107m stop=[0m +hi User2 ctermfg=darkmagenta ctermbg=white term=standout term=none start=[35;107m stop=[0m +hi User3 ctermfg=blue ctermbg=white term=standout term=none start=[34;107m stop=[0m +hi User4 ctermfg=cyan ctermbg=white term=standout term=none start=[36;107m stop=[0m +hi User5 ctermfg=brown ctermbg=white term=standout term=none start=[33;107m stop=[0m +hi User6 ctermfg=darkgreen ctermbg=white term=standout term=none start=[32;107m stop=[0m +hi User8 ctermfg=magenta ctermbg=black term=bold term=none start=[95;40m stop=[0m +hi User9 ctermfg=white ctermbg=black term=bold term=none start=[97;40m stop=[0m + +hi NonText ctermfg=blue term=none start=[94m stop=[0m +hi EndOfBuffer ctermfg=blue term=none start=[94m stop=[0m " The vim colorscheme does everything, and some of the non-status-bar colors affect non-source bits. " I may have to maintain everything in this combined form diff --git a/vim/vimrc b/vim/vimrc index e51ff67..12b0d5e 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -23,3 +23,5 @@ source ~/.vim/vimrc.functions source ~/.vim/vimrc.fileprefs source ~/.vim/vimrc.statusline +set shell=/bin/tcsh +set t_Co=1 diff --git a/vim/vimrc.colors b/vim/vimrc.colors index 0e42093..4cae3d1 100644 --- a/vim/vimrc.colors +++ b/vim/vimrc.colors @@ -10,12 +10,12 @@ " hi User9 ctermfg=white ctermbg=black cterm=bold "hi User0 ctermfg=green ctermbg=green term=bold -hi statusline ctermfg=lightgrey ctermbg=black -hi User1 ctermfg=red ctermbg=white term=standout -hi User2 ctermfg=darkmagenta ctermbg=white term=standout -hi User3 ctermfg=blue ctermbg=white term=standout -hi User4 ctermfg=cyan ctermbg=white term=standout -hi User5 ctermfg=brown ctermbg=white term=standout -hi User6 ctermfg=darkgreen ctermbg=white term=standout -hi User8 ctermfg=magenta ctermbg=black term=bold -hi User9 ctermfg=white ctermbg=black term=bold +"hi statusline ctermfg=lightgrey ctermbg=black +"hi User1 ctermfg=red ctermbg=white term=standout +"hi User2 ctermfg=darkmagenta ctermbg=white term=standout +"hi User3 ctermfg=blue ctermbg=white term=standout +"hi User4 ctermfg=cyan ctermbg=white term=standout +"hi User5 ctermfg=brown ctermbg=white term=standout +"hi User6 ctermfg=darkgreen ctermbg=white term=standout +"hi User8 ctermfg=magenta ctermbg=black term=bold +"hi User9 ctermfg=white ctermbg=black term=bold diff --git a/vim/vimrc.fileprefs b/vim/vimrc.fileprefs index 19072d4..76968fd 100644 --- a/vim/vimrc.fileprefs +++ b/vim/vimrc.fileprefs @@ -16,6 +16,9 @@ au BufNewFile,BufRead *.cpp,*.hpp,*.cc,*.h set tw=150 au BufNewFile,BufRead */cshenv/tcshrc.* set filetype=tcsh +au BufNewFile,BufRead */src/bp/*.cpp,*/src/bp/*.hpp syn region cxxBoostLibrary matchgroup=cxxLibPrefix start="\<\(bp_boost\)\z(::\)\@=" matchgroup=NONE skip="\z1" end="\>" transparent +au BufNewFile,BufRead */src/bp/*.cpp,*/src/bp/*.hpp syn region cxxBoostVerbotenLibrary matchgroup=cxxStlDangerousFunction start="\<\(boost\)\z(::\)\@=" matchgroup=NONE skip="\z1" end="\>" transparent + " falcish "au BufNewFile,BufRead *.cpp,*.hpp,*.cc,*.h set ts=3 "au BufNewFile,BufRead *.cpp,*.hpp,*.cc,*.h set sts=3 diff --git a/vim/vimrc.functions b/vim/vimrc.functions index a9cc43d..1adaaea 100644 --- a/vim/vimrc.functions +++ b/vim/vimrc.functions @@ -17,6 +17,12 @@ function! MyFoldText() endfunction function! SyntaxItem() - return synIDattr(synID(line("."),col("."),1),"name") + "return synIDattr(synID(line("."),col("."),1),"name") + let res = [] + for id in synstack(line("."), col(".")) + let res = res + [ synIDattr( id, "name" ) ] + endfor + "return synIDattr(synID(line("."),col("."),1),"name") + return join( res, ":" ) endfunction