From 29daecb0ceca1a50aedb32eab1195192adba5e26 Mon Sep 17 00:00:00 2001 From: jaseg Date: Wed, 4 Nov 2020 17:35:19 +0100 Subject: [PATCH] Initial commit --- fish/aliases.fish | 4 + fish/config.fish | 10 + fish/functions/cd.fish | 10 + fish/functions/fish_prompt.fish | 7 + fish/functions/fish_right_prompt.fish | 7 + fish/functions/fish_user_key_bindings.fish | 5 + fish/functions/foreground-vi.fish | 3 + fish/functions/md.fish | 4 + fish/functions/quote-word.fish | 4 + fish/functions/sa.fish | 3 + fish/functions/sudo-execute.fish | 5 + fish/prompt_settings.fish | 7 + nvim/.netrwhist | 8 + nvim/after/syntax/c.vim | 304 +++ nvim/after/syntax/cpp.vim | 2092 ++++++++++++++++++++ nvim/colors/dark-meadow.vim | 154 ++ nvim/colors/hashpunk-lapis.vim | 191 ++ nvim/colors/hashpunk-sweet.vim | 191 ++ nvim/colors/hashpunk.vim | 202 ++ nvim/colors/molokai-jaseg.vim | 218 ++ nvim/colors/molokai.vim | 211 ++ nvim/init.vim | 51 + tmux.conf | 54 + 23 files changed, 3745 insertions(+) create mode 100644 fish/aliases.fish create mode 100644 fish/config.fish create mode 100644 fish/functions/cd.fish create mode 100644 fish/functions/fish_prompt.fish create mode 100644 fish/functions/fish_right_prompt.fish create mode 100644 fish/functions/fish_user_key_bindings.fish create mode 100644 fish/functions/foreground-vi.fish create mode 100644 fish/functions/md.fish create mode 100644 fish/functions/quote-word.fish create mode 100644 fish/functions/sa.fish create mode 100644 fish/functions/sudo-execute.fish create mode 100644 fish/prompt_settings.fish create mode 100644 nvim/.netrwhist create mode 100644 nvim/after/syntax/c.vim create mode 100644 nvim/after/syntax/cpp.vim create mode 100644 nvim/colors/dark-meadow.vim create mode 100644 nvim/colors/hashpunk-lapis.vim create mode 100644 nvim/colors/hashpunk-sweet.vim create mode 100644 nvim/colors/hashpunk.vim create mode 100644 nvim/colors/molokai-jaseg.vim create mode 100644 nvim/colors/molokai.vim create mode 100644 nvim/init.vim create mode 100644 tmux.conf diff --git a/fish/aliases.fish b/fish/aliases.fish new file mode 100644 index 0000000..d9b2fa5 --- /dev/null +++ b/fish/aliases.fish @@ -0,0 +1,4 @@ +function mkae; make; end +function vim; command vim -p $argv; end +function rm; command rm -I $argv; end +function mux; command tmuxinator $argv; end diff --git a/fish/config.fish b/fish/config.fish new file mode 100644 index 0000000..39fda42 --- /dev/null +++ b/fish/config.fish @@ -0,0 +1,10 @@ + +set -x GREP_OPTIONS +set fish_greeting "" +set -x ncpus (grep -c "^processor" /proc/cpuinfo) +set -x EDITOR vim +set -x PAGER less +set -x VIRTUAL_ENV_DISABLE_PROMPT 1 + +source ~/.config/fish/aliases.fish + diff --git a/fish/functions/cd.fish b/fish/functions/cd.fish new file mode 100644 index 0000000..53b8d45 --- /dev/null +++ b/fish/functions/cd.fish @@ -0,0 +1,10 @@ +# Modified cd that also displays the directory's contents if the listing is less than 5 lines long +function cd + if test -n "$argv" + if test -e $argv -a ! -d (realpath $argv) + set argv (dirname $argv) + end + end + builtin cd $argv + and test (ls -C -w $COLUMNS |wc -l) -le 5; and ls +end diff --git a/fish/functions/fish_prompt.fish b/fish/functions/fish_prompt.fish new file mode 100644 index 0000000..98e0e46 --- /dev/null +++ b/fish/functions/fish_prompt.fish @@ -0,0 +1,7 @@ +function fish_prompt + printf "\e[37m%s\e[96m%s" (hostname) (prompt_pwd) + if test $VIRTUAL_ENV + printf " \e[37m(%s)" (basename $VIRTUAL_ENV) + end + printf " \e[91m<3\e[0m " +end diff --git a/fish/functions/fish_right_prompt.fish b/fish/functions/fish_right_prompt.fish new file mode 100644 index 0000000..e2b5235 --- /dev/null +++ b/fish/functions/fish_right_prompt.fish @@ -0,0 +1,7 @@ +function fish_right_prompt + set stat $status + if test $stat -ne 0 + printf "\e[91m(%d) " $stat + end + printf "\e[37m%s\e[0m" (__fish_git_prompt "%s") +end diff --git a/fish/functions/fish_user_key_bindings.fish b/fish/functions/fish_user_key_bindings.fish new file mode 100644 index 0000000..6caad84 --- /dev/null +++ b/fish/functions/fish_user_key_bindings.fish @@ -0,0 +1,5 @@ +function fish_user_key_bindings + bind \co sudo-execute + bind \cv foreground-vi + bind \cq quote-word +end diff --git a/fish/functions/foreground-vi.fish b/fish/functions/foreground-vi.fish new file mode 100644 index 0000000..e05cfe6 --- /dev/null +++ b/fish/functions/foreground-vi.fish @@ -0,0 +1,3 @@ +function foreground-vi + fg %vi >/dev/null +end diff --git a/fish/functions/md.fish b/fish/functions/md.fish new file mode 100644 index 0000000..9de46ed --- /dev/null +++ b/fish/functions/md.fish @@ -0,0 +1,4 @@ +function md + mkdir "$argv" + cd "$argv" +end diff --git a/fish/functions/quote-word.fish b/fish/functions/quote-word.fish new file mode 100644 index 0000000..0205273 --- /dev/null +++ b/fish/functions/quote-word.fish @@ -0,0 +1,4 @@ +function quote-word -d "Command line editor function that cycles between 'quoting' \"styles\" for the current word" + commandline -t (commandline -t|sed 's/^\'\(.*\)\'$/\1/;t;s/^"\(.*\)"$/\'\1\'/;t;s/^\(.*\)$/"\1"/') + commandline -f repaint +end diff --git a/fish/functions/sa.fish b/fish/functions/sa.fish new file mode 100644 index 0000000..bcaf761 --- /dev/null +++ b/fish/functions/sa.fish @@ -0,0 +1,3 @@ +function sa + ssh-add "$HOME/.ssh/id_rsa.$argv" +end diff --git a/fish/functions/sudo-execute.fish b/fish/functions/sudo-execute.fish new file mode 100644 index 0000000..3e3a463 --- /dev/null +++ b/fish/functions/sudo-execute.fish @@ -0,0 +1,5 @@ +function sudo-execute -d "Command line editor function that prepends the current commandline with \"sudo\" and executes it afterwards" + commandline sudo\ (commandline | sed 's/^\W*sudo\?\W*//') + commandline -f repaint + commandline -f execute +end diff --git a/fish/prompt_settings.fish b/fish/prompt_settings.fish new file mode 100644 index 0000000..18fd209 --- /dev/null +++ b/fish/prompt_settings.fish @@ -0,0 +1,7 @@ +set -g __fish_git_prompt_showuntrackedfiles "" +set -g __fish_git_prompt_showdirtystate "" +set -g __fish_git_prompt_showupstream "auto" + +set -g __fish_git_prompt_char_upstream_ahead "↑" +set -g __fish_git_prompt_char_upstream_behind "↓" +set -g __fish_git_prompt_char_upstream_prefix "" diff --git a/nvim/.netrwhist b/nvim/.netrwhist new file mode 100644 index 0000000..bffb5ad --- /dev/null +++ b/nvim/.netrwhist @@ -0,0 +1,8 @@ +let g:netrw_dirhistmax =10 +let g:netrw_dirhist_cnt =6 +let g:netrw_dirhist_1='/home/user/toys/moargb/fw' +let g:netrw_dirhist_2='/home/user/research/smart_meter_reset/controller/fw' +let g:netrw_dirhist_3='/home/user/toys/8seg/driver_fw' +let g:netrw_dirhist_4='/home/user/admin/site/blog.jaseg.de/content/posts/sybil-resistance-identity' +let g:netrw_dirhist_5='/home/user/admin/site/blog.jaseg.de/content/posts/led-characterization' +let g:netrw_dirhist_6='/home/user/toys/kicad_mesh_plugin/plugin' diff --git a/nvim/after/syntax/c.vim b/nvim/after/syntax/c.vim new file mode 100644 index 0000000..c147716 --- /dev/null +++ b/nvim/after/syntax/c.vim @@ -0,0 +1,304 @@ +" Vim syntax file +" Language: C Additions +" Maintainer: Jon Haggblad +" Contributor: Mikhail Wolfson +" URL: http://www.haeggblad.com +" Last Change: 6 Sep 2014 +" Version: 0.3 +" Changelog: +" 0.3 - integration of aftersyntaxc.vim +" 0.2 - Cleanup +" 0.1 - initial version. +" +" Syntax highlighting for functions in C. +" +" Based on: +" http://stackoverflow.com/questions/736701/class-function-names-highlighting-in-vim + +" ----------------------------------------------------------------------------- +" Highlight function names. +" ----------------------------------------------------------------------------- +if !exists('g:cpp_no_function_highlight') + syn match cCustomParen transparent "(" contains=cParen contains=cCppParen + syn match cCustomFunc "\w\+\s*(\@=" contains=cCustomParen + hi def link cCustomFunc Function +endif + +" ----------------------------------------------------------------------------- +" Highlight member variable names. +" ----------------------------------------------------------------------------- +if exists('g:cpp_member_variable_highlight') && g:cpp_member_variable_highlight + syn match cCustomDot "\." contained + syn match cCustomPtr "->" contained + syn match cCustomMemVar "\(\.\|->\)\h\w*" contains=cCustomDot,cCustomPtr + hi def link cCustomMemVar Function +endif + +" ----------------------------------------------------------------------------- +" Source: aftersyntaxc.vim +" ----------------------------------------------------------------------------- + +" Common ANSI-standard functions +syn keyword cAnsiFunction MULU_ DIVU_ MODU_ MUL_ DIV_ MOD_ +syn keyword cAnsiFunction main typeof +syn keyword cAnsiFunction open close read write lseek dup dup2 +syn keyword cAnsiFunction fcntl ioctl +syn keyword cAnsiFunction wctrans towctrans towupper +syn keyword cAnsiFunction towlower wctype iswctype +syn keyword cAnsiFunction iswxdigit iswupper iswspace +syn keyword cAnsiFunction iswpunct iswprint iswlower +syn keyword cAnsiFunction iswgraph iswdigit iswcntrl +syn keyword cAnsiFunction iswalpha iswalnum wcsrtombs +syn keyword cAnsiFunction mbsrtowcs wcrtomb mbrtowc +syn keyword cAnsiFunction mbrlen mbsinit wctob +syn keyword cAnsiFunction btowc wcsfxtime wcsftime +syn keyword cAnsiFunction wmemset wmemmove wmemcpy +syn keyword cAnsiFunction wmemcmp wmemchr wcstok +syn keyword cAnsiFunction wcsstr wcsspn wcsrchr +syn keyword cAnsiFunction wcspbrk wcslen wcscspn +syn keyword cAnsiFunction wcschr wcsxfrm wcsncmp +syn keyword cAnsiFunction wcscoll wcscmp wcsncat +syn keyword cAnsiFunction wcscat wcsncpy wcscpy +syn keyword cAnsiFunction wcstoull wcstoul wcstoll +syn keyword cAnsiFunction wcstol wcstold wcstof +syn keyword cAnsiFunction wcstod ungetwc putwchar +syn keyword cAnsiFunction putwc getwchar getwc +syn keyword cAnsiFunction fwide fputws fputwc +syn keyword cAnsiFunction fgetws fgetwc wscanf +syn keyword cAnsiFunction wprintf vwscanf vwprintf +syn keyword cAnsiFunction vswscanf vswprintf vfwscanf +syn keyword cAnsiFunction vfwprintf swscanf swprintf +syn keyword cAnsiFunction fwscanf fwprintf zonetime +syn keyword cAnsiFunction strfxtime strftime localtime +syn keyword cAnsiFunction gmtime ctime asctime +syn keyword cAnsiFunction time mkxtime mktime +syn keyword cAnsiFunction difftime clock strlen +syn keyword cAnsiFunction strerror memset strtok +syn keyword cAnsiFunction strstr strspn strrchr +syn keyword cAnsiFunction strpbrk strcspn strchr +syn keyword cAnsiFunction memchr strxfrm strncmp +syn keyword cAnsiFunction strcoll strcmp memcmp +syn keyword cAnsiFunction strncat strcat strncpy +syn keyword cAnsiFunction strcpy memmove memcpy +syn keyword cAnsiFunction wcstombs mbstowcs wctomb +syn keyword cAnsiFunction mbtowc mblen lldiv +syn keyword cAnsiFunction ldiv div llabs +syn keyword cAnsiFunction labs abs qsort +"syn keyword cAnsiFunction bsearch system getenv +syn keyword cAnsiFunction bsearch getenv +syn keyword cAnsiFunction exit atexit abort +syn keyword cAnsiFunction realloc malloc free +syn keyword cAnsiFunction calloc srand rand +syn keyword cAnsiFunction strtoull strtoul strtoll +syn keyword cAnsiFunction strtol strtold strtof +syn keyword cAnsiFunction strtod atoll atol +syn keyword cAnsiFunction atoi atof perror +syn keyword cAnsiFunction ferror feof clearerr +syn keyword cAnsiFunction rewind ftell fsetpos +syn keyword cAnsiFunction fseek fgetpos fwrite +syn keyword cAnsiFunction fread ungetc puts +syn keyword cAnsiFunction putchar putc gets +syn keyword cAnsiFunction getchar getc fputs +syn keyword cAnsiFunction fputc fgets fgetc +syn keyword cAnsiFunction vsscanf vsprintf vsnprintf +syn keyword cAnsiFunction vscanf vprintf vfscanf +syn keyword cAnsiFunction vfprintf sscanf sprintf +syn keyword cAnsiFunction snprintf scanf printf +syn keyword cAnsiFunction fscanf fprintf setvbuf +syn keyword cAnsiFunction setbuf freopen fopen +syn keyword cAnsiFunction fflush fclose tmpnam +syn keyword cAnsiFunction tmpfile rename remove +syn keyword cAnsiFunction offsetof va_start va_end +syn keyword cAnsiFunction va_copy va_arg raise signal +syn keyword cAnsiFunction longjmp setjmp isunordered +syn keyword cAnsiFunction islessgreater islessequal isless +syn keyword cAnsiFunction isgreaterequal isgreater fmal +syn keyword cAnsiFunction fmaf fma fminl +syn keyword cAnsiFunction fminf fmin fmaxl +syn keyword cAnsiFunction fmaxf fmax fdiml +syn keyword cAnsiFunction fdimf fdim nextafterxl +syn keyword cAnsiFunction nextafterxf nextafterx nextafterl +syn keyword cAnsiFunction nextafterf nextafter nanl +syn keyword cAnsiFunction nanf nan copysignl +syn keyword cAnsiFunction copysignf copysign remquol +syn keyword cAnsiFunction remquof remquo remainderl +syn keyword cAnsiFunction remainderf remainder fmodl +syn keyword cAnsiFunction fmodf fmod truncl +syn keyword cAnsiFunction truncf trunc llroundl +syn keyword cAnsiFunction llroundf llround lroundl +syn keyword cAnsiFunction lroundf lround roundl +syn keyword cAnsiFunction roundf round llrintl +syn keyword cAnsiFunction llrintf llrint lrintl +syn keyword cAnsiFunction lrintf lrint rintl +syn keyword cAnsiFunction rintf rint nearbyintl +syn keyword cAnsiFunction nearbyintf nearbyint floorl +syn keyword cAnsiFunction floorf floor ceill +syn keyword cAnsiFunction ceilf ceil tgammal +syn keyword cAnsiFunction tgammaf tgamma lgammal +syn keyword cAnsiFunction lgammaf lgamma erfcl +syn keyword cAnsiFunction erfcf erfc erfl +syn keyword cAnsiFunction erff erf sqrtl +syn keyword cAnsiFunction sqrtf sqrt powl +syn keyword cAnsiFunction powf pow hypotl +syn keyword cAnsiFunction hypotf hypot fabsl +syn keyword cAnsiFunction fabsf fabs cbrtl +syn keyword cAnsiFunction cbrtf cbrt scalblnl +syn keyword cAnsiFunction scalblnf scalbln scalbnl +syn keyword cAnsiFunction scalbnf scalbn modfl +syn keyword cAnsiFunction modff modf logbl +syn keyword cAnsiFunction logbf logb log2l +syn keyword cAnsiFunction log2f log2 log1pl +syn keyword cAnsiFunction log1pf log1p log10l +syn keyword cAnsiFunction log10f log10 logl +syn keyword cAnsiFunction logf log ldexpl +syn keyword cAnsiFunction ldexpf ldexp ilogbl +syn keyword cAnsiFunction ilogbf ilogb frexpl +syn keyword cAnsiFunction frexpf frexp expm1l +syn keyword cAnsiFunction expm1f expm1 exp2l +syn keyword cAnsiFunction exp2f exp2 expl +syn keyword cAnsiFunction expf exp tanhl +syn keyword cAnsiFunction tanhf tanh sinhl +syn keyword cAnsiFunction sinhf sinh coshl +syn keyword cAnsiFunction coshf cosh atanhl +syn keyword cAnsiFunction atanhf atanh asinhl +syn keyword cAnsiFunction asinhf asinh acoshl +syn keyword cAnsiFunction acoshf acosh tanl +syn keyword cAnsiFunction tanf tan sinl +syn keyword cAnsiFunction sinf sin cosl +syn keyword cAnsiFunction cosf cos atan2l +syn keyword cAnsiFunction atan2f atan2 atanl +syn keyword cAnsiFunction atanf atan asinl +syn keyword cAnsiFunction asinf asin acosl +syn keyword cAnsiFunction acosf acos signbit +syn keyword cAnsiFunction isnormal isnan isinf +syn keyword cAnsiFunction isfinite fpclassify localeconv +syn keyword cAnsiFunction setlocale wcstoumax wcstoimax +syn keyword cAnsiFunction strtoumax strtoimax feupdateenv +syn keyword cAnsiFunction fesetenv feholdexcept fegetenv +syn keyword cAnsiFunction fesetround fegetround fetestexcept +syn keyword cAnsiFunction fesetexceptflag feraiseexcept fegetexceptflag +syn keyword cAnsiFunction feclearexcept toupper tolower +syn keyword cAnsiFunction isxdigit isupper isspace +syn keyword cAnsiFunction ispunct isprint islower +syn keyword cAnsiFunction isgraph isdigit iscntrl +syn keyword cAnsiFunction isalpha isalnum creall +syn keyword cAnsiFunction crealf creal cprojl +syn keyword cAnsiFunction cprojf cproj conjl +syn keyword cAnsiFunction conjf conj cimagl +syn keyword cAnsiFunction cimagf cimag cargl +syn keyword cAnsiFunction cargf carg csqrtl +syn keyword cAnsiFunction csqrtf csqrt cpowl +syn keyword cAnsiFunction cpowf cpow cabsl +syn keyword cAnsiFunction cabsf cabs clogl +syn keyword cAnsiFunction clogf clog cexpl +syn keyword cAnsiFunction cexpf cexp ctanhl +syn keyword cAnsiFunction ctanhf ctanh csinhl +syn keyword cAnsiFunction csinhf csinh ccoshl +syn keyword cAnsiFunction ccoshf ccosh catanhl +syn keyword cAnsiFunction catanhf catanh casinhl +syn keyword cAnsiFunction casinhf casinh cacoshl +syn keyword cAnsiFunction cacoshf cacosh ctanl +syn keyword cAnsiFunction ctanf ctan csinl +syn keyword cAnsiFunction csinf csin ccosl +syn keyword cAnsiFunction ccosf ccos catanl +syn keyword cAnsiFunction catanf catan casinl +syn keyword cAnsiFunction casinf casin cacosl +syn keyword cAnsiFunction cacosf cacos assert +syn keyword cAnsiFunction UINTMAX_C INTMAX_C UINT64_C +syn keyword cAnsiFunction UINT32_C UINT16_C UINT8_C +syn keyword cAnsiFunction INT64_C INT32_C INT16_C INT8_C + +" Common ANSI-standard Names +syn keyword cAnsiName PRId8 PRIi16 PRIo32 PRIu64 +syn keyword cAnsiName PRId16 PRIi32 PRIo64 PRIuLEAST8 +syn keyword cAnsiName PRId32 PRIi64 PRIoLEAST8 PRIuLEAST16 +syn keyword cAnsiName PRId64 PRIiLEAST8 PRIoLEAST16 PRIuLEAST32 +syn keyword cAnsiName PRIdLEAST8 PRIiLEAST16 PRIoLEAST32 PRIuLEAST64 +syn keyword cAnsiName PRIdLEAST16 PRIiLEAST32 PRIoLEAST64 PRIuFAST8 +syn keyword cAnsiName PRIdLEAST32 PRIiLEAST64 PRIoFAST8 PRIuFAST16 +syn keyword cAnsiName PRIdLEAST64 PRIiFAST8 PRIoFAST16 PRIuFAST32 +syn keyword cAnsiName PRIdFAST8 PRIiFAST16 PRIoFAST32 PRIuFAST64 +syn keyword cAnsiName PRIdFAST16 PRIiFAST32 PRIoFAST64 PRIuMAX +syn keyword cAnsiName PRIdFAST32 PRIiFAST64 PRIoMAX PRIuPTR +syn keyword cAnsiName PRIdFAST64 PRIiMAX PRIoPTR PRIx8 +syn keyword cAnsiName PRIdMAX PRIiPTR PRIu8 PRIx16 +syn keyword cAnsiName PRIdPTR PRIo8 PRIu16 PRIx32 +syn keyword cAnsiName PRIi8 PRIo16 PRIu32 PRIx64 + +syn keyword cAnsiName PRIxLEAST8 SCNd8 SCNiFAST32 SCNuLEAST32 +syn keyword cAnsiName PRIxLEAST16 SCNd16 SCNiFAST64 SCNuLEAST64 +syn keyword cAnsiName PRIxLEAST32 SCNd32 SCNiMAX SCNuFAST8 +syn keyword cAnsiName PRIxLEAST64 SCNd64 SCNiPTR SCNuFAST16 +syn keyword cAnsiName PRIxFAST8 SCNdLEAST8 SCNo8 SCNuFAST32 +syn keyword cAnsiName PRIxFAST16 SCNdLEAST16 SCNo16 SCNuFAST64 +syn keyword cAnsiName PRIxFAST32 SCNdLEAST32 SCNo32 SCNuMAX +syn keyword cAnsiName PRIxFAST64 SCNdLEAST64 SCNo64 SCNuPTR +syn keyword cAnsiName PRIxMAX SCNdFAST8 SCNoLEAST8 SCNx8 +syn keyword cAnsiName PRIxPTR SCNdFAST16 SCNoLEAST16 SCNx16 +syn keyword cAnsiName PRIX8 SCNdFAST32 SCNoLEAST32 SCNx32 +syn keyword cAnsiName PRIX16 SCNdFAST64 SCNoLEAST64 SCNx64 +syn keyword cAnsiName PRIX32 SCNdMAX SCNoFAST8 SCNxLEAST8 +syn keyword cAnsiName PRIX64 SCNdPTR SCNoFAST16 SCNxLEAST16 +syn keyword cAnsiName PRIXLEAST8 SCNi8 SCNoFAST32 SCNxLEAST32 +syn keyword cAnsiName PRIXLEAST16 SCNi16 SCNoFAST64 SCNxLEAST64 +syn keyword cAnsiName PRIXLEAST32 SCNi32 SCNoMAX SCNxFAST8 +syn keyword cAnsiName PRIXLEAST64 SCNi64 SCNoPTR SCNxFAST16 +syn keyword cAnsiName PRIXFAST8 SCNiLEAST8 SCNu8 SCNxFAST32 +syn keyword cAnsiName PRIXFAST16 SCNiLEAST16 SCNu16 SCNxFAST64 +syn keyword cAnsiName PRIXFAST32 SCNiLEAST32 SCNu32 SCNxMAX +syn keyword cAnsiName PRIXFAST64 SCNiLEAST64 SCNu64 SCNxPTR +syn keyword cAnsiName PRIXMAX SCNiFAST8 SCNuLEAST8 +syn keyword cAnsiName PRIXPTR SCNiFAST16 SCNuLEAST16 + +syn keyword cAnsiName errno environ + +syn keyword cAnsiName STDC CX_LIMITED_RANGE +syn keyword cAnsiName STDC FENV_ACCESS +syn keyword cAnsiName STDC FP_CONTRACT + +syn keyword cAnsiName and bitor not_eq xor +syn keyword cAnsiName and_eq compl or xor_eq +syn keyword cAnsiName bitand not or_eq + +hi def link cAnsiFunction cFunction +hi def link cAnsiName cIdentifier +hi def link cFunction Function +hi def link cIdentifier Identifier + +" Booleans +syn keyword cBoolean true false TRUE FALSE +hi def link cBoolean Boolean + +" ----------------------------------------------------------------------------- +" Additional optional highlighting +" ----------------------------------------------------------------------------- + +" Operators +"syn match cOperator "\(<<\|>>\|[-+*/%&^|<>!=]\)=" +"syn match cOperator "<<\|>>\|&&\|||\|++\|--\|->" +"syn match cOperator "[.!~*&%<>^|=,+-]" +"syn match cOperator "/[^/*=]"me=e-1 +"syn match cOperator "/$" +"syn match cOperator "&&\|||" +"syn match cOperator "[][]" +" +"" Preprocs +"syn keyword cDefined defined contained containedin=cDefine +"hi def link cDefined cDefine + +"" Functions +"syn match cUserFunction "\<\h\w*\>\(\s\|\n\)*("me=e-1 contains=cType,cDelimiter,cDefine +"syn match cUserFunctionPointer "(\s*\*\s*\h\w*\s*)\(\s\|\n\)*(" contains=cDelimiter,cOperator +" +"hi def link cUserFunction cFunction +"hi def link cUserFunctionPointer cFunction +" +"" Delimiters +"syn match cDelimiter "[();\\]" +"" foldmethod=syntax fix, courtesy of Ivan Freitas +"syn match cBraces display "[{}]" + +" Links +"hi def link cDelimiter Delimiter +" foldmethod=syntax fix, courtesy of Ivan Freitas +"hi def link cBraces Delimiter diff --git a/nvim/after/syntax/cpp.vim b/nvim/after/syntax/cpp.vim new file mode 100644 index 0000000..07d6ed4 --- /dev/null +++ b/nvim/after/syntax/cpp.vim @@ -0,0 +1,2092 @@ +" Vim syntax file +" Language: C++ Additions +" Maintainer: Jon Haggblad +" URL: http://www.haeggblad.com +" Last Change: 1 Feb 2018 +" Version: 0.6 +" Changelog: +" 0.1 - initial version. +" 0.2 - C++14 +" 0.3 - Incorporate lastest changes from Mizuchi/STL-Syntax +" 0.4 - Add template function highlight +" 0.5 - Redo template function highlight to be more robust. Add options. +" 0.6 - more C++14, C++17, library concepts +" +" Additional Vim syntax highlighting for C++ (including C++11/14/17) +" +" This file contains additional syntax highlighting that I use for C++11/14 +" development in Vim. Compared to the standard syntax highlighting for C++ it +" adds highlighting of (user defined) functions and the containers and types +" in the standard library / boost. +" +" Based on: +" http://stackoverflow.com/q/736701 +" http://www.vim.org/scripts/script.php?script_id=4293 +" http://www.vim.org/scripts/script.php?script_id=2224 +" http://www.vim.org/scripts/script.php?script_id=1640 +" http://www.vim.org/scripts/script.php?script_id=3064 + + +" ----------------------------------------------------------------------------- +" Highlight Class and Function names. +" +" Based on the discussion in: http://stackoverflow.com/q/736701 +" ----------------------------------------------------------------------------- + +" Functions +if !exists('g:cpp_no_function_highlight') + syn match cCustomParen transparent "(" contains=cParen contains=cCppParen + syn match cCustomFunc "\w\+\s*(\@=" + hi def link cCustomFunc Function +endif + +" Class and namespace scope +if exists('g:cpp_class_scope_highlight') && g:cpp_class_scope_highlight + syn match cCustomScope "::" + syn match cCustomClass "\w\+\s*::" + \ contains=cCustomScope + hi def link cCustomClass Function +endif + +" Clear cppStructure and replace "class" and/or "template" with matches +" based on user configuration +let s:needs_cppstructure_match = 0 +if exists('g:cpp_class_decl_highlight') && g:cpp_class_decl_highlight + let s:needs_cppstructure_match += 1 +endif +if exists('g:cpp_experimental_template_highlight') && g:cpp_experimental_template_highlight + let s:needs_cppstructure_match += 2 +endif + +syn clear cppStructure +if s:needs_cppstructure_match == 0 + syn keyword cppStructure typename namespace template class +elseif s:needs_cppstructure_match == 1 + syn keyword cppStructure typename namespace template +elseif s:needs_cppstructure_match == 2 + syn keyword cppStructure typename namespace class +elseif s:needs_cppstructure_match == 3 + syn keyword cppStructure typename namespace +endif +unlet s:needs_cppstructure_match + + +" Class name declaration +if exists('g:cpp_class_decl_highlight') && g:cpp_class_decl_highlight + syn match cCustomClassKey "\" + hi def link cCustomClassKey cppStructure + + " Clear cppAccess entirely and redefine as matches + syn clear cppAccess + syn match cCustomAccessKey "\" + syn match cCustomAccessKey "\" + syn match cCustomAccessKey "\" + hi def link cCustomAccessKey cppAccess + + " Match the parts of a class declaration + syn match cCustomClassName "\" + \ contains=cCustomClassKey + syn match cCustomClassName "\" + \ contains=cCustomAccessKey + syn match cCustomClassName "\" + \ contains=cCustomAccessKey + syn match cCustomClassName "\" + \ contains=cCustomAccessKey + hi def link cCustomClassName Function +endif +" Template functions. +" Naive implementation that sorta works in most cases. Should correctly +" highlight everything in test/color2.cpp +if exists('g:cpp_experimental_simple_template_highlight') && g:cpp_experimental_simple_template_highlight + syn region cCustomAngleBrackets matchgroup=AngleBracketContents start="\v%(" contains=cCustomAngleBrackets + syn match cCustomTemplateFunc "\w\+\s*<.*>(\@=" contains=cCustomBrack,cCustomAngleBrackets + hi def link cCustomTemplateFunc Function + +" Template functions (alternative faster parsing). +" More sophisticated implementation that should be faster but doesn't always +" correctly highlight inside template arguments. Should correctly +" highlight everything in test/color.cpp +elseif exists('g:cpp_experimental_template_highlight') && g:cpp_experimental_template_highlight + + syn match cCustomAngleBracketStart "<\_[^;()]\{-}>" contained + \ contains=cCustomAngleBracketStart,cCustomAngleBracketEnd + hi def link cCustomAngleBracketStart cCustomAngleBracketContent + + syn match cCustomAngleBracketEnd ">\_[^<>;()]\{-}>" contained + \ contains=cCustomAngleBracketEnd + hi def link cCustomAngleBracketEnd cCustomAngleBracketContent + + syn match cCustomTemplateFunc "\<\l\w*\s*<\_[^;()]\{-}>(\@="hs=s,he=e-1 + \ contains=cCustomAngleBracketStart + hi def link cCustomTemplateFunc cCustomFunc + + syn match cCustomTemplateClass "\<\w\+\s*<\_[^;()]\{-}>" + \ contains=cCustomAngleBracketStart,cCustomTemplateFunc + hi def link cCustomTemplateClass cCustomClass + + syn match cCustomTemplate "\" + hi def link cCustomTemplate cppStructure + syn match cTemplateDeclare "\" + \ contains=cppStructure,cCustomTemplate,cCustomClassKey,cCustomAngleBracketStart + + " Remove 'operator' from cppOperator and use a custom match + syn clear cppOperator + syn keyword cppOperator typeid + syn keyword cppOperator and bitor or xor compl bitand and_eq or_eq xor_eq not not_eq + + syn match cCustomOperator "\" + hi def link cCustomOperator cppStructure + syn match cTemplateOperatorDeclare "\[<>]=\?" + \ contains=cppOperator,cCustomOperator,cCustomAngleBracketStart +endif + +" Alternative syntax that is used in: +" http://www.vim.org/scripts/script.php?script_id=3064 +"syn match cUserFunction "\<\h\w*\>\(\s\|\n\)*("me=e-1 contains=cType,cDelimiter,cDefine +"hi def link cCustomFunc Function + +" Cluster for all the stdlib functions defined below +syn cluster cppSTLgroup contains=cppSTLfunction,cppSTLfunctional,cppSTLconstant,cppSTLnamespace,cppSTLtype,cppSTLexception,cppSTLiterator,cppSTLiterator_tag,cppSTLenum,cppSTLios,cppSTLcast + + +" ----------------------------------------------------------------------------- +" Standard library types and functions. +" +" Mainly based on the excellent STL Syntax vim script by +" Mizuchi +" http://www.vim.org/scripts/script.php?script_id=4293 +" which in turn is based on the scripts +" http://www.vim.org/scripts/script.php?script_id=2224 +" http://www.vim.org/scripts/script.php?script_id=1640 +" ----------------------------------------------------------------------------- + +syntax keyword cppSTLconstant badbit +syntax keyword cppSTLconstant cerr +syntax keyword cppSTLconstant cin +syntax keyword cppSTLconstant clog +syntax keyword cppSTLconstant cout +syntax keyword cppSTLconstant digits +syntax keyword cppSTLconstant digits10 +syntax keyword cppSTLconstant eofbit +syntax keyword cppSTLconstant failbit +syntax keyword cppSTLconstant goodbit +syntax keyword cppSTLconstant has_denorm +syntax keyword cppSTLconstant has_denorm_loss +syntax keyword cppSTLconstant has_infinity +syntax keyword cppSTLconstant has_quiet_NaN +syntax keyword cppSTLconstant has_signaling_NaN +syntax keyword cppSTLconstant is_bounded +syntax keyword cppSTLconstant is_exact +syntax keyword cppSTLconstant is_iec559 +syntax keyword cppSTLconstant is_integer +syntax keyword cppSTLconstant is_modulo +syntax keyword cppSTLconstant is_signed +syntax keyword cppSTLconstant is_specialized +syntax keyword cppSTLconstant max_digits10 +syntax keyword cppSTLconstant max_exponent +syntax keyword cppSTLconstant max_exponent10 +syntax keyword cppSTLconstant min_exponent +syntax keyword cppSTLconstant min_exponent10 +syntax keyword cppSTLconstant nothrow +syntax keyword cppSTLconstant npos +syntax keyword cppSTLconstant radix +syntax keyword cppSTLconstant round_style +syntax keyword cppSTLconstant tinyness_before +syntax keyword cppSTLconstant traps +syntax keyword cppSTLconstant wcerr +syntax keyword cppSTLconstant wcin +syntax keyword cppSTLconstant wclog +syntax keyword cppSTLconstant wcout +syntax keyword cppSTLexception bad_alloc +syntax keyword cppSTLexception bad_array_new_length +syntax keyword cppSTLexception bad_exception +syntax keyword cppSTLexception bad_typeid bad_cast +syntax keyword cppSTLexception domain_error +syntax keyword cppSTLexception exception +syntax keyword cppSTLexception invalid_argument +syntax keyword cppSTLexception length_error +syntax keyword cppSTLexception logic_error +syntax keyword cppSTLexception out_of_range +syntax keyword cppSTLexception overflow_error +syntax keyword cppSTLexception range_error +syntax keyword cppSTLexception runtime_error +syntax keyword cppSTLexception underflow_error +syntax keyword cppSTLfunction abort +syntax keyword cppSTLfunction abs +syntax keyword cppSTLfunction accumulate +syntax keyword cppSTLfunction acos +syntax keyword cppSTLfunction adjacent_difference +syntax keyword cppSTLfunction adjacent_find +syntax keyword cppSTLfunction adjacent_find_if +syntax keyword cppSTLfunction advance +syntax keyword cppSTLfunctional binary_function +syntax keyword cppSTLfunctional binary_negate +syntax keyword cppSTLfunctional bit_and +syntax keyword cppSTLfunctional bit_not +syntax keyword cppSTLfunctional bit_or +syntax keyword cppSTLfunctional bit_xor +syntax keyword cppSTLfunctional divides +syntax keyword cppSTLfunctional equal_to +syntax keyword cppSTLfunctional greater +syntax keyword cppSTLfunctional greater_equal +syntax keyword cppSTLfunctional less +syntax keyword cppSTLfunctional less_equal +syntax keyword cppSTLfunctional logical_and +syntax keyword cppSTLfunctional logical_not +syntax keyword cppSTLfunctional logical_or +syntax keyword cppSTLfunctional minus +syntax keyword cppSTLfunctional modulus +syntax keyword cppSTLfunctional multiplies +syntax keyword cppSTLfunctional negate +syntax keyword cppSTLfunctional not_equal_to +syntax keyword cppSTLfunctional plus +syntax keyword cppSTLfunctional unary_function +syntax keyword cppSTLfunctional unary_negate +"syntax keyword cppSTLfunction any +syntax keyword cppSTLfunction append +syntax keyword cppSTLfunction arg +syntax keyword cppSTLfunction asctime +syntax keyword cppSTLfunction asin +syntax keyword cppSTLfunction assert +syntax keyword cppSTLfunction assign +syntax keyword cppSTLfunction at +syntax keyword cppSTLfunction atan +syntax keyword cppSTLfunction atan2 +syntax keyword cppSTLfunction atexit +syntax keyword cppSTLfunction atof +syntax keyword cppSTLfunction atoi +syntax keyword cppSTLfunction atol +syntax keyword cppSTLfunction atoll +syntax keyword cppSTLfunction back +syntax keyword cppSTLfunction back_inserter +syntax keyword cppSTLfunction bad +syntax keyword cppSTLfunction beg +"syntax keyword cppSTLfunction begin +syntax keyword cppSTLfunction binary_compose +syntax keyword cppSTLfunction binary_negate +syntax keyword cppSTLfunction binary_search +syntax keyword cppSTLfunction bind1st +syntax keyword cppSTLfunction bind2nd +syntax keyword cppSTLfunction binder1st +syntax keyword cppSTLfunction binder2nd +syntax keyword cppSTLfunction bsearch +syntax keyword cppSTLfunction calloc +syntax keyword cppSTLfunction capacity +syntax keyword cppSTLfunction ceil +syntax keyword cppSTLfunction clear +syntax keyword cppSTLfunction clearerr +syntax keyword cppSTLfunction clock +syntax keyword cppSTLfunction close +syntax keyword cppSTLfunction compare +syntax keyword cppSTLfunction conj +syntax keyword cppSTLfunction construct +syntax keyword cppSTLfunction copy +syntax keyword cppSTLfunction copy_backward +syntax keyword cppSTLfunction cos +syntax keyword cppSTLfunction cosh +syntax keyword cppSTLfunction count +syntax keyword cppSTLfunction count_if +syntax keyword cppSTLfunction c_str +syntax keyword cppSTLfunction ctime +"syntax keyword cppSTLfunction data +syntax keyword cppSTLfunction denorm_min +syntax keyword cppSTLfunction destroy +syntax keyword cppSTLfunction difftime +syntax keyword cppSTLfunction distance +syntax keyword cppSTLfunction div +syntax keyword cppSTLfunction empty +"syntax keyword cppSTLfunction end +syntax keyword cppSTLfunction eof +syntax keyword cppSTLfunction epsilon +syntax keyword cppSTLfunction equal +syntax keyword cppSTLfunction equal_range +syntax keyword cppSTLfunction erase +syntax keyword cppSTLfunction exit +syntax keyword cppSTLfunction exp +syntax keyword cppSTLfunction fabs +syntax keyword cppSTLfunction fail +syntax keyword cppSTLfunction failure +syntax keyword cppSTLfunction fclose +syntax keyword cppSTLfunction feof +syntax keyword cppSTLfunction ferror +syntax keyword cppSTLfunction fflush +syntax keyword cppSTLfunction fgetc +syntax keyword cppSTLfunction fgetpos +syntax keyword cppSTLfunction fgets +syntax keyword cppSTLfunction fill +syntax keyword cppSTLfunction fill_n +syntax keyword cppSTLfunction find +syntax keyword cppSTLfunction find_end +syntax keyword cppSTLfunction find_first_not_of +syntax keyword cppSTLfunction find_first_of +syntax keyword cppSTLfunction find_if +syntax keyword cppSTLfunction find_last_not_of +syntax keyword cppSTLfunction find_last_of +syntax keyword cppSTLfunction first +syntax keyword cppSTLfunction flags +syntax keyword cppSTLfunction flip +syntax keyword cppSTLfunction floor +syntax keyword cppSTLfunction flush +syntax keyword cppSTLfunction fmod +syntax keyword cppSTLfunction fopen +syntax keyword cppSTLfunction for_each +syntax keyword cppSTLfunction fprintf +syntax keyword cppSTLfunction fputc +syntax keyword cppSTLfunction fputs +syntax keyword cppSTLfunction fread +syntax keyword cppSTLfunction free +syntax keyword cppSTLfunction freopen +syntax keyword cppSTLfunction frexp +syntax keyword cppSTLfunction front +syntax keyword cppSTLfunction fscanf +syntax keyword cppSTLfunction fseek +syntax keyword cppSTLfunction fsetpos +syntax keyword cppSTLfunction ftell +syntax keyword cppSTLfunction fwide +syntax keyword cppSTLfunction fwprintf +syntax keyword cppSTLfunction fwrite +syntax keyword cppSTLfunction fwscanf +syntax keyword cppSTLfunction gcount +syntax keyword cppSTLfunction generate +syntax keyword cppSTLfunction generate_n +syntax keyword cppSTLfunction get +syntax keyword cppSTLfunction get_allocator +syntax keyword cppSTLfunction getc +syntax keyword cppSTLfunction getchar +syntax keyword cppSTLfunction getenv +syntax keyword cppSTLfunction getline +syntax keyword cppSTLfunction gets +syntax keyword cppSTLfunction get_temporary_buffer +syntax keyword cppSTLfunction gmtime +syntax keyword cppSTLfunction good +syntax keyword cppSTLfunction ignore +syntax keyword cppSTLfunction imag +syntax keyword cppSTLfunction in +syntax keyword cppSTLfunction includes +syntax keyword cppSTLfunction infinity +syntax keyword cppSTLfunction inner_product +syntax keyword cppSTLfunction inplace_merge +syntax keyword cppSTLfunction insert +syntax keyword cppSTLfunction inserter +syntax keyword cppSTLfunction ios +syntax keyword cppSTLfunction ios_base +syntax keyword cppSTLfunction iostate +syntax keyword cppSTLfunction iota +syntax keyword cppSTLfunction isalnum +syntax keyword cppSTLfunction isalpha +syntax keyword cppSTLfunction iscntrl +syntax keyword cppSTLfunction isdigit +syntax keyword cppSTLfunction isgraph +syntax keyword cppSTLfunction is_heap +syntax keyword cppSTLfunction islower +syntax keyword cppSTLfunction is_open +syntax keyword cppSTLfunction isprint +syntax keyword cppSTLfunction ispunct +syntax keyword cppSTLfunction isspace +syntax keyword cppSTLfunction isupper +syntax keyword cppSTLfunction isxdigit +syntax keyword cppSTLfunction iterator_category +syntax keyword cppSTLfunction iter_swap +syntax keyword cppSTLfunction jmp_buf +syntax keyword cppSTLfunction key_comp +syntax keyword cppSTLfunction labs +syntax keyword cppSTLfunction ldexp +syntax keyword cppSTLfunction ldiv +syntax keyword cppSTLfunction length +syntax keyword cppSTLfunction lexicographical_compare +syntax keyword cppSTLfunction lexicographical_compare_3way +syntax keyword cppSTLfunction llabs +syntax keyword cppSTLfunction lldiv +syntax keyword cppSTLfunction localtime +syntax keyword cppSTLfunction log +syntax keyword cppSTLfunction log10 +syntax keyword cppSTLfunction longjmp +syntax keyword cppSTLfunction lower_bound +syntax keyword cppSTLfunction make_heap +syntax keyword cppSTLfunction make_pair +syntax keyword cppSTLfunction malloc +syntax keyword cppSTLfunction max +syntax keyword cppSTLfunction max_element +syntax keyword cppSTLfunction max_size +syntax keyword cppSTLfunction memchr +syntax keyword cppSTLfunction memcpy +syntax keyword cppSTLfunction mem_fun +syntax keyword cppSTLfunction mem_fun_ref +syntax keyword cppSTLfunction memmove +syntax keyword cppSTLfunction memset +syntax keyword cppSTLfunction merge +syntax keyword cppSTLfunction min +syntax keyword cppSTLfunction min_element +syntax keyword cppSTLfunction mismatch +syntax keyword cppSTLfunction mktime +syntax keyword cppSTLfunction modf +syntax keyword cppSTLfunction next_permutation +syntax keyword cppSTLfunction none +syntax keyword cppSTLfunction norm +syntax keyword cppSTLfunction not1 +syntax keyword cppSTLfunction not2 +syntax keyword cppSTLfunction nth_element +syntax keyword cppSTLtype numeric_limits +syntax keyword cppSTLfunction open +syntax keyword cppSTLfunction partial_sort +syntax keyword cppSTLfunction partial_sort_copy +syntax keyword cppSTLfunction partial_sum +syntax keyword cppSTLfunction partition +syntax keyword cppSTLfunction peek +syntax keyword cppSTLfunction perror +syntax keyword cppSTLfunction polar +syntax keyword cppSTLfunction pop +syntax keyword cppSTLfunction pop_back +syntax keyword cppSTLfunction pop_front +syntax keyword cppSTLfunction pop_heap +syntax keyword cppSTLfunction pow +syntax keyword cppSTLfunction power +syntax keyword cppSTLfunction precision +syntax keyword cppSTLfunction prev_permutation +syntax keyword cppSTLfunction printf +syntax keyword cppSTLfunction ptr_fun +syntax keyword cppSTLfunction push +syntax keyword cppSTLfunction push_back +syntax keyword cppSTLfunction push_front +syntax keyword cppSTLfunction push_heap +syntax keyword cppSTLfunction put +syntax keyword cppSTLfunction putback +syntax keyword cppSTLfunction putc +syntax keyword cppSTLfunction putchar +syntax keyword cppSTLfunction puts +syntax keyword cppSTLfunction qsort +syntax keyword cppSTLfunction quiet_NaN +syntax keyword cppSTLfunction raise +syntax keyword cppSTLfunction rand +syntax keyword cppSTLfunction random_sample +syntax keyword cppSTLfunction random_sample_n +syntax keyword cppSTLfunction random_shuffle +syntax keyword cppSTLfunction rbegin +syntax keyword cppSTLfunction rdbuf +syntax keyword cppSTLfunction rdstate +syntax keyword cppSTLfunction read +syntax keyword cppSTLfunction real +syntax keyword cppSTLfunction realloc +syntax keyword cppSTLfunction remove +syntax keyword cppSTLfunction remove_copy +syntax keyword cppSTLfunction remove_copy_if +syntax keyword cppSTLfunction remove_if +syntax keyword cppSTLfunction rename +syntax keyword cppSTLfunction rend +syntax keyword cppSTLfunction replace +syntax keyword cppSTLfunction replace_copy +syntax keyword cppSTLfunction replace_copy_if +syntax keyword cppSTLfunction replace_if +syntax keyword cppSTLfunction reserve +syntax keyword cppSTLfunction reset +syntax keyword cppSTLfunction resize +syntax keyword cppSTLfunction return_temporary_buffer +syntax keyword cppSTLfunction reverse +syntax keyword cppSTLfunction reverse_copy +syntax keyword cppSTLfunction rewind +syntax keyword cppSTLfunction rfind +syntax keyword cppSTLfunction rotate +syntax keyword cppSTLfunction rotate_copy +syntax keyword cppSTLfunction round_error +syntax keyword cppSTLfunction scanf +syntax keyword cppSTLfunction search +syntax keyword cppSTLfunction search_n +syntax keyword cppSTLfunction second +syntax keyword cppSTLfunction seekg +syntax keyword cppSTLfunction seekp +syntax keyword cppSTLfunction setbuf +syntax keyword cppSTLfunction set_difference +syntax keyword cppSTLfunction setf +syntax keyword cppSTLfunction set_intersection +syntax keyword cppSTLfunction setjmp +syntax keyword cppSTLfunction setlocale +syntax keyword cppSTLfunction set_new_handler +syntax keyword cppSTLfunction set_symmetric_difference +syntax keyword cppSTLfunction set_union +syntax keyword cppSTLfunction setvbuf +syntax keyword cppSTLfunction signal +syntax keyword cppSTLfunction signaling_NaN +syntax keyword cppSTLfunction sin +syntax keyword cppSTLfunction sinh +"syntax keyword cppSTLfunction size +syntax keyword cppSTLfunction sort +syntax keyword cppSTLfunction sort_heap +syntax keyword cppSTLfunction splice +syntax keyword cppSTLfunction sprintf +syntax keyword cppSTLfunction sqrt +syntax keyword cppSTLfunction srand +syntax keyword cppSTLfunction sscanf +syntax keyword cppSTLfunction stable_partition +syntax keyword cppSTLfunction stable_sort +syntax keyword cppSTLfunction str +syntax keyword cppSTLfunction strcat +syntax keyword cppSTLfunction strchr +syntax keyword cppSTLfunction strcmp +syntax keyword cppSTLfunction strcoll +syntax keyword cppSTLfunction strcpy +syntax keyword cppSTLfunction strcspn +syntax keyword cppSTLfunction strerror +syntax keyword cppSTLfunction strftime +syntax keyword cppSTLfunction string +syntax keyword cppSTLfunction strlen +syntax keyword cppSTLfunction strncat +syntax keyword cppSTLfunction strncmp +syntax keyword cppSTLfunction strncpy +syntax keyword cppSTLfunction strpbrk +syntax keyword cppSTLfunction strrchr +syntax keyword cppSTLfunction strspn +syntax keyword cppSTLfunction strstr +syntax keyword cppSTLfunction strtod +syntax keyword cppSTLfunction strtof +syntax keyword cppSTLfunction strtok +syntax keyword cppSTLfunction strtol +syntax keyword cppSTLfunction strtold +syntax keyword cppSTLfunction strtoll +syntax keyword cppSTLfunction strtoul +syntax keyword cppSTLfunction strxfrm +syntax keyword cppSTLfunction substr +syntax keyword cppSTLfunction swap +syntax keyword cppSTLfunction swap_ranges +syntax keyword cppSTLfunction swprintf +syntax keyword cppSTLfunction swscanf +syntax keyword cppSTLfunction sync_with_stdio +"syntax keyword cppSTLfunction system +syntax keyword cppSTLfunction tan +syntax keyword cppSTLfunction tanh +syntax keyword cppSTLfunction tellg +syntax keyword cppSTLfunction tellp +"syntax keyword cppSTLfunction test +"syntax keyword cppSTLfunction time +syntax keyword cppSTLfunction tmpfile +syntax keyword cppSTLfunction tmpnam +syntax keyword cppSTLfunction tolower +syntax keyword cppSTLfunction top +syntax keyword cppSTLfunction to_string +syntax keyword cppSTLfunction to_ulong +syntax keyword cppSTLfunction toupper +syntax keyword cppSTLfunction to_wstring +syntax keyword cppSTLfunction transform +syntax keyword cppSTLfunction unary_compose +syntax keyword cppSTLfunction unget +syntax keyword cppSTLfunction ungetc +syntax keyword cppSTLfunction uninitialized_copy +syntax keyword cppSTLfunction uninitialized_copy_n +syntax keyword cppSTLfunction uninitialized_fill +syntax keyword cppSTLfunction uninitialized_fill_n +syntax keyword cppSTLfunction unique +syntax keyword cppSTLfunction unique_copy +syntax keyword cppSTLfunction unsetf +syntax keyword cppSTLfunction upper_bound +syntax keyword cppSTLfunction va_arg +syntax keyword cppSTLfunction va_copy +syntax keyword cppSTLfunction va_end +syntax keyword cppSTLfunction value_comp +syntax keyword cppSTLfunction va_start +syntax keyword cppSTLfunction vfprintf +syntax keyword cppSTLfunction vfwprintf +syntax keyword cppSTLfunction vprintf +syntax keyword cppSTLfunction vsprintf +syntax keyword cppSTLfunction vswprintf +syntax keyword cppSTLfunction vwprintf +syntax keyword cppSTLfunction width +syntax keyword cppSTLfunction wprintf +syntax keyword cppSTLfunction write +syntax keyword cppSTLfunction wscanf +syntax keyword cppSTLios boolalpha +syntax keyword cppSTLios dec +syntax keyword cppSTLios defaultfloat +syntax keyword cppSTLios endl +syntax keyword cppSTLios ends +syntax keyword cppSTLios fixed +syntax keyword cppSTLios floatfield +syntax keyword cppSTLios flush +syntax keyword cppSTLios get_money +syntax keyword cppSTLios get_time +syntax keyword cppSTLios hex +syntax keyword cppSTLios hexfloat +syntax keyword cppSTLios internal +syntax keyword cppSTLios noboolalpha +syntax keyword cppSTLios noshowbase +syntax keyword cppSTLios noshowpoint +syntax keyword cppSTLios noshowpos +syntax keyword cppSTLios noskipws +syntax keyword cppSTLios nounitbuf +syntax keyword cppSTLios nouppercase +syntax keyword cppSTLios oct +syntax keyword cppSTLios put_money +syntax keyword cppSTLios put_time +syntax keyword cppSTLios resetiosflags +syntax keyword cppSTLios scientific +syntax keyword cppSTLios setbase +syntax keyword cppSTLios setfill +syntax keyword cppSTLios setiosflags +syntax keyword cppSTLios setprecision +syntax keyword cppSTLios setw +syntax keyword cppSTLios showbase +syntax keyword cppSTLios showpoint +syntax keyword cppSTLios showpos +syntax keyword cppSTLios skipws +syntax keyword cppSTLios unitbuf +syntax keyword cppSTLios uppercase +"syntax keyword cppSTLios ws +syntax keyword cppSTLiterator back_insert_iterator +syntax keyword cppSTLiterator bidirectional_iterator +syntax keyword cppSTLiterator const_iterator +syntax keyword cppSTLiterator const_reverse_iterator +syntax keyword cppSTLiterator forward_iterator +syntax keyword cppSTLiterator front_insert_iterator +syntax keyword cppSTLiterator input_iterator +syntax keyword cppSTLiterator insert_iterator +syntax keyword cppSTLiterator istreambuf_iterator +syntax keyword cppSTLiterator istream_iterator +syntax keyword cppSTLiterator iterator +syntax keyword cppSTLiterator ostream_iterator +syntax keyword cppSTLiterator output_iterator +syntax keyword cppSTLiterator random_access_iterator +syntax keyword cppSTLiterator raw_storage_iterator +syntax keyword cppSTLiterator reverse_bidirectional_iterator +syntax keyword cppSTLiterator reverse_iterator +syntax keyword cppSTLiterator_tag bidirectional_iterator_tag +syntax keyword cppSTLiterator_tag forward_iterator_tag +syntax keyword cppSTLiterator_tag input_iterator_tag +syntax keyword cppSTLiterator_tag output_iterator_tag +syntax keyword cppSTLiterator_tag random_access_iterator_tag +syntax keyword cppSTLnamespace rel_ops +syntax keyword cppSTLnamespace std +syntax keyword cppSTLnamespace experimental +syntax keyword cppSTLtype allocator +syntax keyword cppSTLtype auto_ptr +syntax keyword cppSTLtype basic_filebuf +syntax keyword cppSTLtype basic_fstream +syntax keyword cppSTLtype basic_ifstream +syntax keyword cppSTLtype basic_iostream +syntax keyword cppSTLtype basic_istream +syntax keyword cppSTLtype basic_istringstream +syntax keyword cppSTLtype basic_ofstream +syntax keyword cppSTLtype basic_ostream +syntax keyword cppSTLtype basic_ostringstream +syntax keyword cppSTLtype basic_streambuf +syntax keyword cppSTLtype basic_string +syntax keyword cppSTLtype basic_stringbuf +syntax keyword cppSTLtype basic_stringstream +syntax keyword cppSTLtype binary_compose +syntax keyword cppSTLtype binder1st +syntax keyword cppSTLtype binder2nd +syntax keyword cppSTLtype bitset +syntax keyword cppSTLtype char_traits +syntax keyword cppSTLtype char_type +syntax keyword cppSTLtype const_mem_fun1_t +syntax keyword cppSTLtype const_mem_fun_ref1_t +syntax keyword cppSTLtype const_mem_fun_ref_t +syntax keyword cppSTLtype const_mem_fun_t +syntax keyword cppSTLtype const_pointer +syntax keyword cppSTLtype const_reference +syntax keyword cppSTLtype container_type +syntax keyword cppSTLtype deque +syntax keyword cppSTLtype difference_type +syntax keyword cppSTLtype div_t +syntax keyword cppSTLtype double_t +syntax keyword cppSTLtype filebuf +syntax keyword cppSTLtype first_type +syntax keyword cppSTLtype float_denorm_style +syntax keyword cppSTLtype float_round_style +syntax keyword cppSTLtype float_t +syntax keyword cppSTLtype fstream +syntax keyword cppSTLtype gslice_array +syntax keyword cppSTLtype ifstream +syntax keyword cppSTLtype imaxdiv_t +syntax keyword cppSTLtype indirect_array +syntax keyword cppSTLtype int_type +syntax keyword cppSTLtype ios_base +syntax keyword cppSTLtype iostream +syntax keyword cppSTLtype istream +syntax keyword cppSTLtype istringstream +syntax keyword cppSTLtype istrstream +syntax keyword cppSTLtype iterator_traits +syntax keyword cppSTLtype key_compare +syntax keyword cppSTLtype key_type +syntax keyword cppSTLtype ldiv_t +syntax keyword cppSTLtype list +syntax keyword cppSTLtype lldiv_t +syntax keyword cppSTLtype map +syntax keyword cppSTLtype mapped_type +syntax keyword cppSTLtype mask_array +syntax keyword cppSTLtype mem_fun1_t +syntax keyword cppSTLtype mem_fun_ref1_t +syntax keyword cppSTLtype mem_fun_ref_t +syntax keyword cppSTLtype mem_fun_t +syntax keyword cppSTLtype multimap +syntax keyword cppSTLtype multiset +syntax keyword cppSTLtype nothrow_t +syntax keyword cppSTLtype off_type +syntax keyword cppSTLtype ofstream +syntax keyword cppSTLtype ostream +syntax keyword cppSTLtype ostringstream +syntax keyword cppSTLtype ostrstream +syntax keyword cppSTLtype pair +syntax keyword cppSTLtype pointer +syntax keyword cppSTLtype pointer_to_binary_function +syntax keyword cppSTLtype pointer_to_unary_function +syntax keyword cppSTLtype pos_type +syntax keyword cppSTLtype priority_queue +syntax keyword cppSTLtype queue +syntax keyword cppSTLtype reference +syntax keyword cppSTLtype second_type +syntax keyword cppSTLtype sequence_buffer +syntax keyword cppSTLtype set +syntax keyword cppSTLtype sig_atomic_t +syntax keyword cppSTLtype size_type +syntax keyword cppSTLtype slice_array +syntax keyword cppSTLtype stack +syntax keyword cppSTLtype stream +syntax keyword cppSTLtype streambuf +syntax keyword cppSTLtype streamsize +syntax keyword cppSTLtype string +syntax keyword cppSTLtype stringbuf +syntax keyword cppSTLtype stringstream +syntax keyword cppSTLtype strstream +syntax keyword cppSTLtype strstreambuf +syntax keyword cppSTLtype temporary_buffer +syntax keyword cppSTLtype test_type +syntax keyword cppSTLtype time_t +syntax keyword cppSTLtype tm +syntax keyword cppSTLtype traits_type +syntax keyword cppSTLtype type_info +syntax keyword cppSTLtype u16string +syntax keyword cppSTLtype u32string +syntax keyword cppSTLtype unary_compose +syntax keyword cppSTLtype unary_negate +syntax keyword cppSTLtype valarray +syntax keyword cppSTLtype value_compare +syntax keyword cppSTLtype value_type +syntax keyword cppSTLtype vector +syntax keyword cppSTLtype wfilebuf +syntax keyword cppSTLtype wfstream +syntax keyword cppSTLtype wifstream +syntax keyword cppSTLtype wiostream +syntax keyword cppSTLtype wistream +syntax keyword cppSTLtype wistringstream +syntax keyword cppSTLtype wofstream +syntax keyword cppSTLtype wostream +syntax keyword cppSTLtype wostringstream +syntax keyword cppSTLtype wstreambuf +syntax keyword cppSTLtype wstring +syntax keyword cppSTLtype wstringbuf +syntax keyword cppSTLtype wstringstream + +syntax keyword cppSTLfunction mblen +syntax keyword cppSTLfunction mbtowc +syntax keyword cppSTLfunction wctomb +syntax keyword cppSTLfunction mbstowcs +syntax keyword cppSTLfunction wcstombs +syntax keyword cppSTLfunction mbsinit +syntax keyword cppSTLfunction btowc +syntax keyword cppSTLfunction wctob +syntax keyword cppSTLfunction mbrlen +syntax keyword cppSTLfunction mbrtowc +syntax keyword cppSTLfunction wcrtomb +syntax keyword cppSTLfunction mbsrtowcs +syntax keyword cppSTLfunction wcsrtombs + +syntax keyword cppSTLtype mbstate_t + +syntax keyword cppSTLconstant MB_LEN_MAX +syntax keyword cppSTLconstant MB_CUR_MAX +syntax keyword cppSTLconstant __STDC_UTF_16__ +syntax keyword cppSTLconstant __STDC_UTF_32__ + +syntax keyword cppSTLfunction iswalnum +syntax keyword cppSTLfunction iswalpha +syntax keyword cppSTLfunction iswlower +syntax keyword cppSTLfunction iswupper +syntax keyword cppSTLfunction iswdigit +syntax keyword cppSTLfunction iswxdigit +syntax keyword cppSTLfunction iswcntrl +syntax keyword cppSTLfunction iswgraph +syntax keyword cppSTLfunction iswspace +syntax keyword cppSTLfunction iswprint +syntax keyword cppSTLfunction iswpunct +syntax keyword cppSTLfunction iswctype +syntax keyword cppSTLfunction wctype + +syntax keyword cppSTLfunction towlower +syntax keyword cppSTLfunction towupper +syntax keyword cppSTLfunction towctrans +syntax keyword cppSTLfunction wctrans + +syntax keyword cppSTLfunction wcstol +syntax keyword cppSTLfunction wcstoll +syntax keyword cppSTLfunction wcstoul +syntax keyword cppSTLfunction wcstoull +syntax keyword cppSTLfunction wcstof +syntax keyword cppSTLfunction wcstod +syntax keyword cppSTLfunction wcstold + +syntax keyword cppSTLfunction wcscpy +syntax keyword cppSTLfunction wcsncpy +syntax keyword cppSTLfunction wcscat +syntax keyword cppSTLfunction wcsncat +syntax keyword cppSTLfunction wcsxfrm +syntax keyword cppSTLfunction wcslen +syntax keyword cppSTLfunction wcscmp +syntax keyword cppSTLfunction wcsncmp +syntax keyword cppSTLfunction wcscoll +syntax keyword cppSTLfunction wcschr +syntax keyword cppSTLfunction wcsrchr +syntax keyword cppSTLfunction wcsspn +syntax keyword cppSTLfunction wcscspn +syntax keyword cppSTLfunction wcspbrk +syntax keyword cppSTLfunction wcsstr +syntax keyword cppSTLfunction wcstok +syntax keyword cppSTLfunction wmemcpy +syntax keyword cppSTLfunction wmemmove +syntax keyword cppSTLfunction wmemcmp +syntax keyword cppSTLfunction wmemchr +syntax keyword cppSTLfunction wmemset + +syntax keyword cppSTLtype wctrans_t +syntax keyword cppSTLtype wctype_t +syntax keyword cppSTLtype wint_t + +syntax keyword cppSTLconstant WEOF +syntax keyword cppSTLconstant WCHAR_MIN +syntax keyword cppSTLconstant WCHAR_MAX + +" locale +syntax keyword cppSTLtype locale +syntax keyword cppSTLtype ctype_base +syntax keyword cppSTLtype codecvt_base +syntax keyword cppSTLtype messages_base +syntax keyword cppSTLtype time_base +syntax keyword cppSTLtype money_base +syntax keyword cppSTLtype ctype +syntax keyword cppSTLtype codecvt +syntax keyword cppSTLtype collate +syntax keyword cppSTLtype messages +syntax keyword cppSTLtype time_get +syntax keyword cppSTLtype time_put +syntax keyword cppSTLtype num_get +syntax keyword cppSTLtype num_put +syntax keyword cppSTLtype numpunct +syntax keyword cppSTLtype money_get +syntax keyword cppSTLtype money_put +syntax keyword cppSTLtype moneypunct +syntax keyword cppSTLtype ctype_byname +syntax keyword cppSTLtype codecvt_byname +syntax keyword cppSTLtype messages_byname +syntax keyword cppSTLtype collate_byname +syntax keyword cppSTLtype time_get_byname +syntax keyword cppSTLtype time_put_byname +syntax keyword cppSTLtype numpunct_byname +syntax keyword cppSTLtype moneypunct_byname +syntax keyword cppSTLfunction use_facet +syntax keyword cppSTLfunction has_facet +syntax keyword cppSTLfunction isspace isblank iscntrl isupper islower isalpha +syntax keyword cppSTLfunction isdigit ispunct isxdigit isalnum isprint isgraph + +if !exists("cpp_no_cpp11") + syntax keyword cppSTLconstant nullptr + + " containers (array, vector, list, *map, *set, ...) + syntax keyword cppSTLtype array + syntax keyword cppSTLfunction cbegin cend + syntax keyword cppSTLfunction crbegin crend + syntax keyword cppSTLfunction shrink_to_fit + syntax keyword cppSTLfunction emplace + syntax keyword cppSTLfunction emplace_back + syntax keyword cppSTLfunction emplace_front + syntax keyword cppSTLfunction emplace_hint + + " algorithm + syntax keyword cppSTLfunction all_of any_of none_of + syntax keyword cppSTLfunction find_if_not + syntax keyword cppSTLfunction copy_if + syntax keyword cppSTLfunction copy_n + syntax keyword cppSTLfunction move + syntax keyword cppSTLfunction move_backward + syntax keyword cppSTLfunction shuffle + syntax keyword cppSTLfunction is_partitioned + syntax keyword cppSTLfunction partition_copy + syntax keyword cppSTLfunction partition_point + syntax keyword cppSTLfunction is_sorted + syntax keyword cppSTLfunction is_sorted_until + syntax keyword cppSTLfunction is_heap + syntax keyword cppSTLfunction is_heap_until + syntax keyword cppSTLfunction minmax + syntax keyword cppSTLfunction minmax_element + syntax keyword cppSTLfunction is_permutation + syntax keyword cppSTLfunction itoa + + " atomic + syntax keyword cppSTLtype atomic + syntax keyword cppSTLtype atomic_flag + syntax keyword cppSTLtype atomic_bool + syntax keyword cppSTLtype atomic_char + syntax keyword cppSTLtype atomic_schar + syntax keyword cppSTLtype atomic_uchar + syntax keyword cppSTLtype atomic_short + syntax keyword cppSTLtype atomic_ushort + syntax keyword cppSTLtype atomic_int + syntax keyword cppSTLtype atomic_uint + syntax keyword cppSTLtype atomic_long + syntax keyword cppSTLtype atomic_ulong + syntax keyword cppSTLtype atomic_llong + syntax keyword cppSTLtype atomic_ullong + syntax keyword cppSTLtype atomic_char16_t + syntax keyword cppSTLtype atomic_char32_t + syntax keyword cppSTLtype atomic_wchar_t + syntax keyword cppSTLtype atomic_int_least8_t + syntax keyword cppSTLtype atomic_uint_least8_t + syntax keyword cppSTLtype atomic_int_least16_t + syntax keyword cppSTLtype atomic_uint_least16_t + syntax keyword cppSTLtype atomic_int_least32_t + syntax keyword cppSTLtype atomic_uint_least32_t + syntax keyword cppSTLtype atomic_int_least64_t + syntax keyword cppSTLtype atomic_uint_least64_t + syntax keyword cppSTLtype atomic_int_fast8_t + syntax keyword cppSTLtype atomic_uint_fast8_t + syntax keyword cppSTLtype atomic_int_fast16_t + syntax keyword cppSTLtype atomic_uint_fast16_t + syntax keyword cppSTLtype atomic_int_fast32_t + syntax keyword cppSTLtype atomic_uint_fast32_t + syntax keyword cppSTLtype atomic_int_fast64_t + syntax keyword cppSTLtype atomic_uint_fast64_t + syntax keyword cppSTLtype atomic_intptr_t + syntax keyword cppSTLtype atomic_uintptr_t + syntax keyword cppSTLtype atomic_size_t + syntax keyword cppSTLtype atomic_ptrdiff_t + syntax keyword cppSTLtype atomic_intmax_t + syntax keyword cppSTLtype atomic_uintmax_t + syntax keyword cppSTLconstant ATOMIC_FLAG_INIT + syntax keyword cppSTLenum memory_order + syntax keyword cppSTLfunction is_lock_free + syntax keyword cppSTLfunction compare_exchange_weak + syntax keyword cppSTLfunction compare_exchange_strong + syntax keyword cppSTLfunction fetch_add + syntax keyword cppSTLfunction fetch_sub + syntax keyword cppSTLfunction fetch_and + syntax keyword cppSTLfunction fetch_or + syntax keyword cppSTLfunction fetch_xor + syntax keyword cppSTLfunction atomic_is_lock_free + syntax keyword cppSTLfunction atomic_store + syntax keyword cppSTLfunction atomic_store_explicit + syntax keyword cppSTLfunction atomic_load + syntax keyword cppSTLfunction atomic_load_explicit + syntax keyword cppSTLfunction atomic_exchange + syntax keyword cppSTLfunction atomic_exchange_explicit + syntax keyword cppSTLfunction atomic_compare_exchange_weak + syntax keyword cppSTLfunction atomic_compare_exchange_weak_explicit + syntax keyword cppSTLfunction atomic_compare_exchange_strong + syntax keyword cppSTLfunction atomic_compare_exchange_strong_explicit + syntax keyword cppSTLfunction atomic_fetch_add + syntax keyword cppSTLfunction atomic_fetch_add_explicit + syntax keyword cppSTLfunction atomic_fetch_sub + syntax keyword cppSTLfunction atomic_fetch_sub_explicit + syntax keyword cppSTLfunction atomic_fetch_and + syntax keyword cppSTLfunction atomic_fetch_and_explicit + syntax keyword cppSTLfunction atomic_fetch_or + syntax keyword cppSTLfunction atomic_fetch_or_explicit + syntax keyword cppSTLfunction atomic_fetch_xor + syntax keyword cppSTLfunction atomic_fetch_xor_explicit + syntax keyword cppSTLfunction atomic_flag_test_and_set + syntax keyword cppSTLfunction atomic_flag_test_and_set_explicit + syntax keyword cppSTLfunction atomic_flag_clear + syntax keyword cppSTLfunction atomic_flag_clear_explicit + syntax keyword cppSTLfunction atomic_init + syntax keyword cppSTLfunction ATOMIC_VAR_INIT + syntax keyword cppSTLfunction kill_dependency + syntax keyword cppSTLfunction atomic_thread_fence + syntax keyword cppSTLfunction atomic_signal_fence + syntax keyword cppSTLfunction exchange + " syntax keyword cppSTLfunction store + " syntax keyword cppSTLfunction load + + " bitset + syntax keyword cppSTLfunction to_ullong + " syntax keyword cppSTLfunction all + + " cinttypes + syntax keyword cppSTLfunction strtoimax + syntax keyword cppSTLfunction strtoumax + syntax keyword cppSTLfunction wcstoimax + syntax keyword cppSTLfunction wcstoumax + + " chrono + syntax keyword cppSTLnamespace chrono + syntax keyword cppSTLcast duration_cast + syntax keyword cppSTLcast time_point_cast + syntax keyword cppSTLtype duration + syntax keyword cppSTLtype system_clock + syntax keyword cppSTLtype steady_clock + syntax keyword cppSTLtype high_resolution_clock + syntax keyword cppSTLtype time_point + syntax keyword cppSTLtype nanoseconds + syntax keyword cppSTLtype microseconds + syntax keyword cppSTLtype milliseconds + syntax keyword cppSTLtype seconds + syntax keyword cppSTLtype minutes + syntax keyword cppSTLtype hours + syntax keyword cppSTLtype treat_as_floating_point + syntax keyword cppSTLtype duration_values + " syntax keyword cppSTLtype rep period + syntax keyword cppSTLfunction time_since_epoch + syntax keyword cppSTLfunction to_time_t + syntax keyword cppSTLfunction from_time_t + " syntax keyword cppSTLfunction zero + " syntax keyword cppSTLfunction now + + " complex + " syntax keyword cppSTLfunction proj + + " condition_variable + syntax keyword cppSTLtype condition_variable + syntax keyword cppSTLfunction notify_all + syntax keyword cppSTLfunction notify_one + + " cstddef + syntax keyword cppSTLtype nullptr_t max_align_t + + " cstdlib + syntax keyword cppSTLfunction quick_exit + syntax keyword cppSTLfunction _Exit + syntax keyword cppSTLfunction at_quick_exit + + " cuchar + syntax keyword cppSTLfunction mbrtoc16 + syntax keyword cppSTLfunction c16rtomb + syntax keyword cppSTLfunction mbrtoc32 + syntax keyword cppSTLfunction c32rtomb + + " exception + syntax keyword cppSTLtype exception_ptr + syntax keyword cppSTLtype nested_exception + syntax keyword cppSTLfunction get_terminate + syntax keyword cppSTLfunction make_exception_ptr + syntax keyword cppSTLfunction current_exception + syntax keyword cppSTLfunction rethrow_exception + syntax keyword cppSTLfunction throw_with_nested + syntax keyword cppSTLfunction rethrow_if_nested + syntax keyword cppSTLfunction rethrow_nested + + " forward_list + syntax keyword cppSTLtype forward_list + syntax keyword cppSTLfunction before_begin + syntax keyword cppSTLfunction cbefore_begin + syntax keyword cppSTLfunction insert_after + syntax keyword cppSTLfunction emplace_after + syntax keyword cppSTLfunction erase_after + syntax keyword cppSTLfunction splice_after + + " functional + syntax keyword cppSTLexception bad_function_call + syntax keyword cppSTLfunctional function + syntax keyword cppSTLconstant _1 _2 _3 _4 _5 _6 _7 _8 _9 + syntax keyword cppSTLtype hash + syntax keyword cppSTLtype is_bind_expression + syntax keyword cppSTLtype is_placeholder + syntax keyword cppSTLtype reference_wrapper + syntax keyword cppSTLfunction bind + syntax keyword cppSTLfunction mem_fn + syntax keyword cppSTLfunction ref cref + + " future + syntax keyword cppSTLtype future + syntax keyword cppSTLtype packaged_task + syntax keyword cppSTLtype promise + syntax keyword cppSTLtype shared_future + syntax keyword cppSTLenum future_status + syntax keyword cppSTLenum future_errc + syntax keyword cppSTLenum launch + syntax keyword cppSTLexception future_error + syntax keyword cppSTLfunction get_future + syntax keyword cppSTLfunction set_value + syntax keyword cppSTLfunction set_value_at_thread_exit + syntax keyword cppSTLfunction set_exception + syntax keyword cppSTLfunction set_exception_at_thread_exit + syntax keyword cppSTLfunction wait_for + syntax keyword cppSTLfunction wait_until + syntax keyword cppSTLfunction future_category + syntax keyword cppSTLfunction make_error_code + syntax keyword cppSTLfunction make_error_condition + syntax keyword cppSTLfunction make_ready_at_thread_exit + " syntax keyword cppSTLfunction async + " syntax keyword cppSTLfunction share + " syntax keyword cppSTLfunction valid + " syntax keyword cppSTLfunction wait + + " initializer_list + syntax keyword cppSTLtype initializer_list + + " io + syntax keyword cppSTLenum io_errc + syntax keyword cppSTLfunction iostream_category + syntax keyword cppSTLfunction vscanf vfscanf vsscanf + syntax keyword cppSTLfunction snprintf vsnprintf + syntax keyword cppSTLfunction vwscanf vfwscanf vswscanf + + " iterator + syntax keyword cppSTLiterator move_iterator + syntax keyword cppSTLfunction make_move_iterator + syntax keyword cppSTLfunction next prev + + " limits + syntax keyword cppSTLconstant max_digits10 + syntax keyword cppSTLfunction lowest + + " locale + syntax keyword cppSTLtype wstring_convert + syntax keyword cppSTLtype wbuffer_convert + syntax keyword cppSTLtype codecvt_utf8 + syntax keyword cppSTLtype codecvt_utf16 + syntax keyword cppSTLtype codecvt_utf8_utf16 + syntax keyword cppSTLtype codecvt_mode + syntax keyword cppSTLfunction isblank + syntax keyword cppSTLfunction iswblank + + " memory + syntax keyword cppSTLtype unique_ptr + syntax keyword cppSTLtype shared_ptr + syntax keyword cppSTLtype weak_ptr + syntax keyword cppSTLtype owner_less + syntax keyword cppSTLtype enable_shared_from_this + syntax keyword cppSTLtype default_delete + syntax keyword cppSTLtype allocator_traits + syntax keyword cppSTLtype allocator_type + syntax keyword cppSTLtype allocator_arg_t + syntax keyword cppSTLtype uses_allocator + syntax keyword cppSTLtype scoped_allocator_adaptor + syntax keyword cppSTLtype pointer_safety + syntax keyword cppSTLtype pointer_traits + syntax keyword cppSTLconstant allocator_arg + syntax keyword cppSTLexception bad_weak_ptr + syntax keyword cppSTLcast static_pointer_cast + syntax keyword cppSTLcast dynamic_pointer_cast + syntax keyword cppSTLcast const_pointer_cast + syntax keyword cppSTLfunction make_shared + syntax keyword cppSTLfunction declare_reachable + syntax keyword cppSTLfunction undeclare_reachable + syntax keyword cppSTLfunction declare_no_pointers + syntax keyword cppSTLfunction undeclare_no_pointers + syntax keyword cppSTLfunction get_pointer_safety + syntax keyword cppSTLfunction addressof + syntax keyword cppSTLfunction allocate_shared + syntax keyword cppSTLfunction get_deleter + " syntax keyword cppSTLfunction align + + " mutex + syntax keyword cppSTLtype mutex + syntax keyword cppSTLtype timed_mutex + syntax keyword cppSTLtype recursive_mutex + syntax keyword cppSTLtype recursive_timed_mutex + syntax keyword cppSTLtype lock_guard + syntax keyword cppSTLtype unique_lock + syntax keyword cppSTLtype defer_lock_t + syntax keyword cppSTLtype try_to_lock_t + syntax keyword cppSTLtype adopt_lock_t + syntax keyword cppSTLtype once_flag + syntax keyword cppSTLtype condition_variable_any + syntax keyword cppSTLenum cv_status + syntax keyword cppSTLconstant defer_lock try_to_lock adopt_lock + syntax keyword cppSTLfunction try_lock lock unlock try_lock_for try_lock_until + syntax keyword cppSTLfunction call_once + syntax keyword cppSTLfunction owns_lock + syntax keyword cppSTLfunction notify_all_at_thread_exit + syntax keyword cppSTLfunction release + " Note: unique_lock has method 'mutex()', but already set as cppSTLtype + " syntax keyword cppSTLfunction mutex + + " new + syntax keyword cppSTLexception bad_array_new_length + syntax keyword cppSTLfunction get_new_handler + + " numerics, cmath + syntax keyword cppSTLconstant HUGE_VALF + syntax keyword cppSTLconstant HUGE_VALL + syntax keyword cppSTLconstant INFINITY + syntax keyword cppSTLconstant NAN + syntax keyword cppSTLconstant math_errhandling + syntax keyword cppSTLconstant MATH_ERRNO + syntax keyword cppSTLconstant MATH_ERREXCEPT + syntax keyword cppSTLconstant FP_NORMAL + syntax keyword cppSTLconstant FP_SUBNORMAL + syntax keyword cppSTLconstant FP_ZERO + syntax keyword cppSTLconstant FP_INFINITY + syntax keyword cppSTLconstant FP_NAN + syntax keyword cppSTLconstant FLT_EVAL_METHOD + syntax keyword cppSTLfunction imaxabs + syntax keyword cppSTLfunction imaxdiv + syntax keyword cppSTLfunction remainder + syntax keyword cppSTLfunction remquo + syntax keyword cppSTLfunction fma + syntax keyword cppSTLfunction fmax + syntax keyword cppSTLfunction fmin + syntax keyword cppSTLfunction fdim + syntax keyword cppSTLfunction nan + syntax keyword cppSTLfunction nanf + syntax keyword cppSTLfunction nanl + syntax keyword cppSTLfunction exp2 + syntax keyword cppSTLfunction expm1 + syntax keyword cppSTLfunction log1p + syntax keyword cppSTLfunction log2 + syntax keyword cppSTLfunction cbrt + syntax keyword cppSTLfunction hypot + syntax keyword cppSTLfunction asinh + syntax keyword cppSTLfunction acosh + syntax keyword cppSTLfunction atanh + syntax keyword cppSTLfunction erf + syntax keyword cppSTLfunction erfc + syntax keyword cppSTLfunction lgamma + syntax keyword cppSTLfunction tgamma + syntax keyword cppSTLfunction trunc + syntax keyword cppSTLfunction round + syntax keyword cppSTLfunction lround + syntax keyword cppSTLfunction llround + syntax keyword cppSTLfunction nearbyint + syntax keyword cppSTLfunction rint + syntax keyword cppSTLfunction lrint + syntax keyword cppSTLfunction llrint + syntax keyword cppSTLfunction scalbn + syntax keyword cppSTLfunction scalbln + syntax keyword cppSTLfunction ilogb + syntax keyword cppSTLfunction logb + syntax keyword cppSTLfunction nextafter + syntax keyword cppSTLfunction nexttoward + syntax keyword cppSTLfunction copysign + syntax keyword cppSTLfunction fpclassify + syntax keyword cppSTLfunction isfinite + syntax keyword cppSTLfunction isinf + syntax keyword cppSTLfunction isnan + syntax keyword cppSTLfunction isnormal + syntax keyword cppSTLfunction signbit + + " random + syntax keyword cppSTLtype linear_congruential_engine + syntax keyword cppSTLtype mersenne_twister_engine + syntax keyword cppSTLtype subtract_with_carry_engine + syntax keyword cppSTLtype discard_block_engine + syntax keyword cppSTLtype independent_bits_engine + syntax keyword cppSTLtype shuffle_order_engine + syntax keyword cppSTLtype random_device + syntax keyword cppSTLtype default_random_engine + syntax keyword cppSTLtype minstd_rand0 + syntax keyword cppSTLtype minstd_rand + syntax keyword cppSTLtype mt19937 + syntax keyword cppSTLtype mt19937_64 + syntax keyword cppSTLtype ranlux24_base + syntax keyword cppSTLtype ranlux48_base + syntax keyword cppSTLtype ranlux24 + syntax keyword cppSTLtype ranlux48 + syntax keyword cppSTLtype knuth_b + syntax keyword cppSTLtype uniform_int_distribution + syntax keyword cppSTLtype uniform_real_distribution + syntax keyword cppSTLtype bernoulli_distribution + syntax keyword cppSTLtype binomial_distribution + syntax keyword cppSTLtype negative_binomial_distribution + syntax keyword cppSTLtype geometric_distribution + syntax keyword cppSTLtype poisson_distribution + syntax keyword cppSTLtype exponential_distribution + syntax keyword cppSTLtype gamma_distribution + syntax keyword cppSTLtype weibull_distribution + syntax keyword cppSTLtype extreme_value_distribution + syntax keyword cppSTLtype normal_distribution + syntax keyword cppSTLtype lognormal_distribution + syntax keyword cppSTLtype chi_squared_distribution + syntax keyword cppSTLtype cauchy_distribution + syntax keyword cppSTLtype fisher_f_distribution + syntax keyword cppSTLtype student_t_distribution + syntax keyword cppSTLtype discrete_distribution + syntax keyword cppSTLtype piecewise_constant_distribution + syntax keyword cppSTLtype piecewise_linear_distribution + syntax keyword cppSTLtype seed_seq + syntax keyword cppSTLfunction generate_canonical + + " ratio + syntax keyword cppSTLtype ratio + syntax keyword cppSTLtype yocto + syntax keyword cppSTLtype zepto + syntax keyword cppSTLtype atto + syntax keyword cppSTLtype femto + syntax keyword cppSTLtype pico + syntax keyword cppSTLtype nano + syntax keyword cppSTLtype micro + syntax keyword cppSTLtype milli + syntax keyword cppSTLtype centi + syntax keyword cppSTLtype deci + syntax keyword cppSTLtype deca + syntax keyword cppSTLtype hecto + syntax keyword cppSTLtype kilo + syntax keyword cppSTLtype mega + syntax keyword cppSTLtype giga + syntax keyword cppSTLtype tera + syntax keyword cppSTLtype peta + syntax keyword cppSTLtype exa + syntax keyword cppSTLtype zetta + syntax keyword cppSTLtype yotta + syntax keyword cppSTLtype ratio_add + syntax keyword cppSTLtype ratio_subtract + syntax keyword cppSTLtype ratio_multiply + syntax keyword cppSTLtype ratio_divide + syntax keyword cppSTLtype ratio_equal + syntax keyword cppSTLtype ratio_not_equal + syntax keyword cppSTLtype ratio_less + syntax keyword cppSTLtype ratio_less_equal + syntax keyword cppSTLtype ratio_greater + syntax keyword cppSTLtype ratio_greater_equal + + " regex + syntax keyword cppSTLtype basic_regex + syntax keyword cppSTLtype sub_match + syntax keyword cppSTLtype match_results + syntax keyword cppSTLtype regex_traits + syntax keyword cppSTLtype regex_match regex_search regex_replace + syntax keyword cppSTLiterator regex_iterator + syntax keyword cppSTLiterator regex_token_iterator + syntax keyword cppSTLexception regex_error + syntax keyword cppSTLtype syntax_option_type match_flag_type error_type + + " string + syntax keyword cppSTLfunction stoi + syntax keyword cppSTLfunction stol + syntax keyword cppSTLfunction stoll + syntax keyword cppSTLfunction stoul + syntax keyword cppSTLfunction stoull + syntax keyword cppSTLfunction stof + syntax keyword cppSTLfunction stod + syntax keyword cppSTLfunction stold + + " system_error + syntax keyword cppSTLenum errc + syntax keyword cppSTLtype system_error + syntax keyword cppSTLtype error_code + syntax keyword cppSTLtype error_condition + syntax keyword cppSTLtype error_category + syntax keyword cppSTLtype is_error_code_enum + syntax keyword cppSTLtype is_error_condition_enum + " syntax keyword cppSTLfunction default_error_condition + " syntax keyword cppSTLfunction generic_category + " syntax keyword cppSTLfunction system_category + " syntax keyword cppSTLfunction code + " syntax keyword cppSTLfunction category + " syntax keyword cppSTLfunction message + " syntax keyword cppSTLfunction equivalent + + " thread + syntax keyword cppSTLnamespace this_thread + syntax keyword cppSTLtype thread + syntax keyword cppSTLfunction get_id + syntax keyword cppSTLfunction sleep_for + syntax keyword cppSTLfunction sleep_until + syntax keyword cppSTLfunction joinable + syntax keyword cppSTLfunction native_handle + syntax keyword cppSTLfunction hardware_concurrency + " syntax keyword cppSTLfunction yield + " syntax keyword cppSTLfunction join + " syntax keyword cppSTLfunction detach + + " tuple + syntax keyword cppSTLtype tuple + syntax keyword cppSTLtype tuple_size + syntax keyword cppSTLtype tuple_element + syntax keyword cppSTLfunction make_tuple + syntax keyword cppSTLfunction tie + syntax keyword cppSTLfunction forward_as_tuple + syntax keyword cppSTLfunction tuple_cat + " Note: 'ignore' is already set as cppSTLfunction + " syntax keyword cppSTLconstant ignore + + " typeindex + syntax keyword cppSTLtype type_index + + " type_traits + syntax keyword cppSTLtype is_void + syntax keyword cppSTLtype is_integral + syntax keyword cppSTLtype is_floating_point + syntax keyword cppSTLtype is_array + syntax keyword cppSTLtype is_enum + syntax keyword cppSTLtype is_union + syntax keyword cppSTLtype is_class + syntax keyword cppSTLtype is_function + syntax keyword cppSTLtype is_pointer + syntax keyword cppSTLtype is_lvalue_reference + syntax keyword cppSTLtype is_rvalue_reference + syntax keyword cppSTLtype is_member_object_pointer + syntax keyword cppSTLtype is_member_function_pointer + syntax keyword cppSTLtype is_fundamental + syntax keyword cppSTLtype is_arithmetic + syntax keyword cppSTLtype is_scalar + syntax keyword cppSTLtype is_object + syntax keyword cppSTLtype is_compound + syntax keyword cppSTLtype is_reference + syntax keyword cppSTLtype is_member_pointer + syntax keyword cppSTLtype is_const + syntax keyword cppSTLtype is_volatile + syntax keyword cppSTLtype is_trivial + syntax keyword cppSTLtype is_trivially_copyable + syntax keyword cppSTLtype is_standard_layout + syntax keyword cppSTLtype is_pod + syntax keyword cppSTLtype is_literal_type + syntax keyword cppSTLtype is_empty + syntax keyword cppSTLtype is_polymorphic + syntax keyword cppSTLtype is_abstract + syntax keyword cppSTLtype is_signed + syntax keyword cppSTLtype is_unsigned + syntax keyword cppSTLtype is_constructible + syntax keyword cppSTLtype is_trivially_constructible + syntax keyword cppSTLtype is_nothrow_constructible + syntax keyword cppSTLtype is_default_constructible + syntax keyword cppSTLtype is_trivially_default_constructible + syntax keyword cppSTLtype is_nothrow_default_constructible + syntax keyword cppSTLtype is_copy_constructible + syntax keyword cppSTLtype is_trivially_copy_constructible + syntax keyword cppSTLtype is_nothrow_copy_constructible + syntax keyword cppSTLtype is_move_constructible + syntax keyword cppSTLtype is_trivially_move_constructible + syntax keyword cppSTLtype is_nothrow_move_constructible + syntax keyword cppSTLtype is_assignable + syntax keyword cppSTLtype is_trivially_assignable + syntax keyword cppSTLtype is_nothrow_assignable + syntax keyword cppSTLtype is_copy_assignable + syntax keyword cppSTLtype is_trivially_copy_assignable + syntax keyword cppSTLtype is_nothrow_copy_assignable + syntax keyword cppSTLtype is_move_assignable + syntax keyword cppSTLtype is_trivially_move_assignable + syntax keyword cppSTLtype is_nothrow_move_assignable + syntax keyword cppSTLtype is_destructible + syntax keyword cppSTLtype is_trivially_destructible + syntax keyword cppSTLtype is_nothrow_destructible + syntax keyword cppSTLtype has_virtual_destructor + syntax keyword cppSTLtype alignment_of + syntax keyword cppSTLtype rank + syntax keyword cppSTLtype extent + syntax keyword cppSTLtype is_same + syntax keyword cppSTLtype is_base_of + syntax keyword cppSTLtype is_convertible + syntax keyword cppSTLtype remove_cv + syntax keyword cppSTLtype remove_const + syntax keyword cppSTLtype remove_volatile + syntax keyword cppSTLtype add_cv + syntax keyword cppSTLtype add_const + syntax keyword cppSTLtype add_volatile + syntax keyword cppSTLtype remove_reference + syntax keyword cppSTLtype add_lvalue_reference + syntax keyword cppSTLtype add_rvalue_reference + syntax keyword cppSTLtype remove_pointer + syntax keyword cppSTLtype add_pointer + syntax keyword cppSTLtype make_signed + syntax keyword cppSTLtype make_unsigned + syntax keyword cppSTLtype remove_extent + syntax keyword cppSTLtype remove_all_extents + syntax keyword cppSTLtype aligned_storage + syntax keyword cppSTLtype aligned_union + syntax keyword cppSTLtype decay + syntax keyword cppSTLtype enable_if + syntax keyword cppSTLtype conditional + syntax keyword cppSTLtype common_type + syntax keyword cppSTLtype underlying_type + syntax keyword cppSTLtype result_of + syntax keyword cppSTLtype integral_constant + syntax keyword cppSTLtype true_type + syntax keyword cppSTLtype false_type + + " unordered_map, unordered_set, unordered_multimap, unordered_multiset + syntax keyword cppSTLtype unordered_map + syntax keyword cppSTLtype unordered_set + syntax keyword cppSTLtype unordered_multimap + syntax keyword cppSTLtype unordered_multiset + syntax keyword cppSTLtype hasher + syntax keyword cppSTLtype key_equal + syntax keyword cppSTLiterator local_iterator + syntax keyword cppSTLiterator const_local_iterator + syntax keyword cppSTLfunction bucket_count + syntax keyword cppSTLfunction max_bucket_count + syntax keyword cppSTLfunction bucket_size + syntax keyword cppSTLfunction bucket + syntax keyword cppSTLfunction load_factor + syntax keyword cppSTLfunction max_load_factor + syntax keyword cppSTLfunction rehash + syntax keyword cppSTLfunction reserve + syntax keyword cppSTLfunction hash_function + syntax keyword cppSTLfunction key_eq + + " utility + syntax keyword cppSTLtype piecewise_construct_t + syntax keyword cppSTLconstant piecewise_construct + syntax keyword cppSTLfunction declval + syntax keyword cppSTLfunction forward + syntax keyword cppSTLfunction move_if_noexcept + + " raw string literals + syntax region cppRawString matchgroup=cppRawDelimiter start=@\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(@ end=/)\z1"/ contains=@Spell + + syn match cNumber "0b[01]\+" +endif " C++11 + + +if !exists("cpp_no_cpp14") + " chrono + syntax keyword cppSTLnamespace literals + syntax keyword cppSTLnamespace chrono_literals + + " iterator + syntax keyword cppSTLfunction make_reverse_iterator + + " memory + syntax keyword cppSTLfunction make_unique + + " utility + syntax keyword cppSTLtype integer_sequence + syntax keyword cppSTLtype index_sequence + syntax keyword cppSTLtype make_integer_sequence + syntax keyword cppSTLtype make_index_sequence + syntax keyword cppSTLtype index_sequence_for + + " shared_mutex + syntax keyword cppSTLtype shared_timed_mutex + syntax keyword cppSTLtype shared_lock + syntax keyword cppSTLfunction lock_shared + syntax keyword cppSTLfunction unlock_shared + syntax keyword cppSTLfunction try_lock_shared + syntax keyword cppSTLfunction try_lock_shared_for + syntax keyword cppSTLfunction try_lock_shared_until + + " string + syntax keyword cppSTLnamespace string_literals + + " tuple + syntax keyword cppSTLtype tuple_element_t + + " type_traits + syntax keyword cppSTLtype is_null_pointer + syntax keyword cppSTLtype remove_cv_t + syntax keyword cppSTLtype remove_const_t + syntax keyword cppSTLtype remove_volatile_t + syntax keyword cppSTLtype add_cv_t + syntax keyword cppSTLtype add_const_t + syntax keyword cppSTLtype add_volatile_t + syntax keyword cppSTLtype remove_reference_t + syntax keyword cppSTLtype add_lvalue_reference_t + syntax keyword cppSTLtype add_rvalue_reference_t + syntax keyword cppSTLtype remove_pointer_t + syntax keyword cppSTLtype add_pointer_t + syntax keyword cppSTLtype make_signed_t + syntax keyword cppSTLtype make_unsigned_t + syntax keyword cppSTLtype remove_extent_t + syntax keyword cppSTLtype remove_all_extents_t + syntax keyword cppSTLtype aligned_storage_t + syntax keyword cppSTLtype aligned_union_t + syntax keyword cppSTLtype decay_t + syntax keyword cppSTLtype enable_if_t + syntax keyword cppSTLtype conditional_t + syntax keyword cppSTLtype common_type_t + syntax keyword cppSTLtype underlying_type_t + syntax keyword cppSTLtype result_of_t +endif " C++14 + + +if !exists("cpp_no_cpp17") + " algorithm + syntax keyword cppSTLfunction clamp + syntax keyword cppSTLfunction for_each_n + + " any + syntax keyword cppSTLtype any + syntax keyword cppSTLexception bad_any_cast + syntax keyword cppSTLcast any_cast + syntax keyword cppSTLfunction make_any + + " array + syntax keyword cppSTLfunction to_array + syntax keyword cppSTLfunction make_array + + " atomic + syntax keyword cppSTLconstant is_always_lock_free + + " chrono + syntax keyword cppSTLbool treat_as_floating_point_v + + " cmath + syntax keyword cppSTLfunction assoc_laguerre assoc_laguerref assoc_laguerrel + syntax keyword cppSTLfunction assoc_legendre assoc_legendref assoc_legendrel + syntax keyword cppSTLfunction beta betaf betal + syntax keyword cppSTLfunction comp_ellint_1 comp_ellint_1f comp_ellint_1l + syntax keyword cppSTLfunction comp_ellint_2 comp_ellint_2f comp_ellint_2l + syntax keyword cppSTLfunction comp_ellint_3 comp_ellint_3f comp_ellint_3l + syntax keyword cppSTLfunction cyl_bessel_i cyl_bessel_if cyl_bessel_il + syntax keyword cppSTLfunction cyl_bessel_j cyl_bessel_jf cyl_bessel_jl + syntax keyword cppSTLfunction cyl_bessel_k cyl_bessel_kf cyl_bessel_kl + syntax keyword cppSTLfunction cyl_neumann cyl_neumannf cyl_neumannl + syntax keyword cppSTLfunction ellint_1 ellint_1f ellint_1l + syntax keyword cppSTLfunction ellint_2 ellint_2f ellint_2l + syntax keyword cppSTLfunction ellint_3 ellint_3f ellint_3l + syntax keyword cppSTLfunction expint expintf expintl + syntax keyword cppSTLfunction hermite hermitef hermitel + syntax keyword cppSTLfunction legendre legendrefl egendrel + syntax keyword cppSTLfunction laguerre laguerref laguerrel + syntax keyword cppSTLfunction riemann_zeta riemann_zetaf riemann_zetal + syntax keyword cppSTLfunction sph_bessel sph_besself sph_bessell + syntax keyword cppSTLfunction sph_legendre sph_legendref sph_legendrel + syntax keyword cppSTLfunction sph_neumann sph_neumannf sph_neumannl + + " cstdlib + syntax keyword cppSTLfunction aligned_alloc + + " exception + syntax keyword cppSTLfunction uncaught_exceptions + + " execution + syntax keyword cppSTLnamespace execution + syntax keyword cppSTLconstant seq par par_unseq + syntax keyword cppSTLbool is_execution_policy_v + syntax keyword cppSTLtype sequenced_policy + syntax keyword cppSTLtype parallel_policy + syntax keyword cppSTLtype parallel_unsequenced_policy + syntax keyword cppSTLtype is_execution_policy + + " filesystem + syntax keyword cppSTLnamespace filesystem + syntax keyword cppSTLexception filesystem_error + syntax keyword cppSTLtype path + syntax keyword cppSTLtype directory_entry + syntax keyword cppSTLtype directory_iterator + syntax keyword cppSTLtype recursive_directory_iterator + syntax keyword cppSTLtype file_status + syntax keyword cppSTLtype space_info + syntax keyword cppSTLtype file_time_type + syntax keyword cppSTLenum file_type + syntax keyword cppSTLenum perms + syntax keyword cppSTLenum copy_options + syntax keyword cppSTLenum directory_options + syntax keyword cppSTLConstant preferred_separator + syntax keyword cppSTLconstant available + " Note: 'capacity' and 'free' are already set as cppSTLfunction + " syntax keyword cppSTLconstant capacity + " syntax keyword cppSTLconstant free + syntax keyword cppSTLfunction concat + syntax keyword cppSTLfunction make_preferred + syntax keyword cppSTLfunction remove_filename + syntax keyword cppSTLfunction replace_filename + syntax keyword cppSTLfunction replace_extension + syntax keyword cppSTLfunction native + syntax keyword cppSTLfunction string_type + " Note: wstring, u8string, u16string, u32string already set as cppSTLtype + " syntax keyword cppSTLfunction wstring + " syntax keyword cppSTLfunction u8string + " syntax keyword cppSTLfunction u16string + " syntax keyword cppSTLfunction u32string + syntax keyword cppSTLfunction generic_string + syntax keyword cppSTLfunction generic_wstring + syntax keyword cppSTLfunction generic_u8string + syntax keyword cppSTLfunction generic_u16string + syntax keyword cppSTLfunction generic_u32string + syntax keyword cppSTLfunction lexically_normal + syntax keyword cppSTLfunction lexically_relative + syntax keyword cppSTLfunction lexically_proximate + syntax keyword cppSTLfunction root_name + syntax keyword cppSTLfunction root_directory + syntax keyword cppSTLfunction root_path + syntax keyword cppSTLfunction relative_path + syntax keyword cppSTLfunction parent_path + " syntax keyword cppSTLfunction filename + syntax keyword cppSTLfunction stem + syntax keyword cppSTLfunction extension + syntax keyword cppSTLfunction has_root_name + syntax keyword cppSTLfunction has_root_directory + syntax keyword cppSTLfunction has_root_path + syntax keyword cppSTLfunction has_relative_path + syntax keyword cppSTLfunction has_parent_path + syntax keyword cppSTLfunction has_filename + syntax keyword cppSTLfunction has_stem + syntax keyword cppSTLfunction has_extension + syntax keyword cppSTLfunction is_absolute + syntax keyword cppSTLfunction is_relative + syntax keyword cppSTLfunction hash_value + syntax keyword cppSTLfunction u8path + syntax keyword cppSTLfunction path1 + syntax keyword cppSTLfunction path2 + " syntax keyword cppSTLfunction path + syntax keyword cppSTLfunction status + syntax keyword cppSTLfunction symlink_status + syntax keyword cppSTLfunction options + " syntax keyword cppSTLfunction depth + syntax keyword cppSTLfunction recursive_pending + syntax keyword cppSTLfunction disable_recursive_pending + " syntax keyword cppSTLfunction type + syntax keyword cppSTLfunction permissions + syntax keyword cppSTLfunction absolute + syntax keyword cppSTLfunction system_complete + syntax keyword cppSTLfunction canonical + syntax keyword cppSTLfunction weakly_canonical + syntax keyword cppSTLfunction relative + syntax keyword cppSTLfunction proximate + syntax keyword cppSTLfunction copy_file + syntax keyword cppSTLfunction copy_symlink + syntax keyword cppSTLfunction create_directory + syntax keyword cppSTLfunction create_directories + syntax keyword cppSTLfunction create_hard_link + syntax keyword cppSTLfunction create_symlink + syntax keyword cppSTLfunction create_directory_symlink + syntax keyword cppSTLfunction current_path + " syntax keyword cppSTLfunction exists + syntax keyword cppSTLfunction file_size + syntax keyword cppSTLfunction hard_link_count + syntax keyword cppSTLfunction last_write_time + syntax keyword cppSTLfunction read_symlink + syntax keyword cppSTLfunction remove_all + syntax keyword cppSTLfunction resize_file + syntax keyword cppSTLfunction space + syntax keyword cppSTLfunction temp_directory_path + syntax keyword cppSTLfunction is_block_file + syntax keyword cppSTLfunction is_character_file + syntax keyword cppSTLfunction is_directory + syntax keyword cppSTLfunction is_fifo + syntax keyword cppSTLfunction is_other + syntax keyword cppSTLfunction is_regular_file + syntax keyword cppSTLfunction is_socket + syntax keyword cppSTLfunction is_symlink + syntax keyword cppSTLfunction status_known + " Note: 'is_empty' already set as cppSTLtype + " syntax keyword cppSTLfunction is_empty + + " functional + syntax keyword cppSTLtype default_order + syntax keyword cppSTLtype default_order_t + syntax keyword cppSTLtype default_searcher + syntax keyword cppSTLtype boyer_moore_searcher + syntax keyword cppSTLtype boyer_moore_horspool_searcher + syntax keyword cppSTLbool is_bind_expression_v + syntax keyword cppSTLbool is_placeholder_v + syntax keyword cppSTLfunction not_fn + syntax keyword cppSTLfunction make_default_searcher + syntax keyword cppSTLfunction make_boyer_moore_searcher + syntax keyword cppSTLfunction make_boyer_moore_horspool_searcher + " syntax keyword cppSTLfunction invoke + + " memory + syntax keyword cppSTLcast reinterpret_pointer_cast + syntax keyword cppSTLfunction uninitialized_move + syntax keyword cppSTLfunction uninitialized_move_n + syntax keyword cppSTLfunction uninitialized_default_construct + syntax keyword cppSTLfunction uninitialized_default_construct_n + syntax keyword cppSTLfunction uninitialized_value_construct + syntax keyword cppSTLfunction uninitialized_value_construct_n + syntax keyword cppSTLfunction destroy_at + syntax keyword cppSTLfunction destroy_n + + " memory_resource + syntax keyword cppSTLtype polymorphic_allocator + syntax keyword cppSTLtype memory_resource + syntax keyword cppSTLtype synchronized_pool_resource + syntax keyword cppSTLtype unsynchronized_pool_resource + syntax keyword cppSTLtype pool_options + syntax keyword cppSTLtype monotonic_buffer_resource + syntax keyword cppSTLfunction upstream_resource + syntax keyword cppSTLfunction get_default_resource + syntax keyword cppSTLfunction new_default_resource + syntax keyword cppSTLfunction set_default_resource + syntax keyword cppSTLfunction null_memory_resource + syntax keyword cppSTLfunction allocate + syntax keyword cppSTLfunction deallocate + syntax keyword cppSTLfunction construct + syntax keyword cppSTLfunction destruct + syntax keyword cppSTLfunction resource + syntax keyword cppSTLfunction select_on_container_copy_construction + syntax keyword cppSTLfunction do_allocate + syntax keyword cppSTLfunction do_deallocate + syntax keyword cppSTLfunction do_is_equal + + " mutex + syntax keyword cppSTLtype scoped_lock + + " new + syntax keyword cppSTLconstant hardware_destructive_interference_size + syntax keyword cppSTLconstant hardware_constructive_interference_size + syntax keyword cppSTLfunction launder + + " numeric + syntax keyword cppSTLfunction gcd + syntax keyword cppSTLfunction lcm + syntax keyword cppSTLfunction exclusive_scan + syntax keyword cppSTLfunction inclusive_scan + syntax keyword cppSTLfunction transform_reduce + syntax keyword cppSTLfunction transform_exclusive_scan + syntax keyword cppSTLfunction transform_inclusive_scan + " syntax keyword cppSTLfunction reduce + + " optional + syntax keyword cppSTLtype optional + syntax keyword cppSTLtype nullopt_t + syntax keyword cppSTLexception bad_optional_access + syntax keyword cppSTLconstant nullopt + syntax keyword cppSTLfunction make_optional + syntax keyword cppSTLfunction value_or + syntax keyword cppSTLfunction has_value + " syntax keyword cppSTLfunction value + + " string_view + syntax keyword cppSTLtype basic_string_view + syntax keyword cppSTLtype string_view + syntax keyword cppSTLtype wstring_view + syntax keyword cppSTLtype u16string_view + syntax keyword cppSTLtype u32string_view + syntax keyword cppSTLfunction remove_prefix + syntax keyword cppSTLfunction remove_suffix + + " system_error + syntax keyword cppSTLbool is_error_code_enum_v + syntax keyword cppSTLbool is_error_condition_enum_v + + " shared_mutex + syntax keyword cppSTLtype shared_mutex + + " tuple + syntax keyword cppSTLconstant tuple_size_v + syntax keyword cppSTLfunction make_from_tuple + " syntax keyword cppSTLfunction apply + + " type_traits + syntax keyword cppSTLbool is_void_v + syntax keyword cppSTLbool is_null_pointer_v + syntax keyword cppSTLbool is_integral_v + syntax keyword cppSTLbool is_floating_point_v + syntax keyword cppSTLbool is_array_v + syntax keyword cppSTLbool is_enum_v + syntax keyword cppSTLbool is_union_v + syntax keyword cppSTLbool is_class_v + syntax keyword cppSTLbool is_function_v + syntax keyword cppSTLbool is_pointer_v + syntax keyword cppSTLbool is_lvalue_reference_v + syntax keyword cppSTLbool is_rvalue_reference_v + syntax keyword cppSTLbool is_member_object_pointer_v + syntax keyword cppSTLbool is_member_function_pointer_v + syntax keyword cppSTLbool is_fundamental_v + syntax keyword cppSTLbool is_arithmetic_v + syntax keyword cppSTLbool is_scalar_v + syntax keyword cppSTLbool is_object_v + syntax keyword cppSTLbool is_compound_v + syntax keyword cppSTLbool is_reference_v + syntax keyword cppSTLbool is_member_pointer_v + syntax keyword cppSTLbool is_const_v + syntax keyword cppSTLbool is_volatile_v + syntax keyword cppSTLbool is_trivial_v + syntax keyword cppSTLbool is_trivially_copyable_v + syntax keyword cppSTLbool is_standard_layout_v + syntax keyword cppSTLbool is_pod_v + syntax keyword cppSTLbool is_literal_type_v + syntax keyword cppSTLbool is_empty_v + syntax keyword cppSTLbool is_polymorphic_v + syntax keyword cppSTLbool is_abstract_v + syntax keyword cppSTLbool is_signed_v + syntax keyword cppSTLbool is_unsigned_v + syntax keyword cppSTLbool is_constructible_v + syntax keyword cppSTLbool is_trivially_constructible_v + syntax keyword cppSTLbool is_nothrow_constructible_v + syntax keyword cppSTLbool is_default_constructible_v + syntax keyword cppSTLbool is_trivially_default_constructible_v + syntax keyword cppSTLbool is_nothrow_default_constructible_v + syntax keyword cppSTLbool is_copy_constructible_v + syntax keyword cppSTLbool is_trivially_copy_constructible_v + syntax keyword cppSTLbool is_nothrow_copy_constructible_v + syntax keyword cppSTLbool is_move_constructible_v + syntax keyword cppSTLbool is_trivially_move_constructible_v + syntax keyword cppSTLbool is_nothrow_move_constructible_v + syntax keyword cppSTLbool is_assignable_v + syntax keyword cppSTLbool is_trivially_assignable_v + syntax keyword cppSTLbool is_nothrow_assignable_v + syntax keyword cppSTLbool is_copy_assignable_v + syntax keyword cppSTLbool is_trivially_copy_assignable_v + syntax keyword cppSTLbool is_nothrow_copy_assignable_v + syntax keyword cppSTLbool is_move_assignable_v + syntax keyword cppSTLbool is_trivially_move_assignable_v + syntax keyword cppSTLbool is_nothrow_move_assignable_v + syntax keyword cppSTLbool is_destructible_v + syntax keyword cppSTLbool is_trivially_destructible_v + syntax keyword cppSTLbool is_nothrow_destructible_v + syntax keyword cppSTLbool has_virtual_destructor_v + syntax keyword cppSTLbool is_same_v + syntax keyword cppSTLbool is_base_of_v + syntax keyword cppSTLbool is_convertible_v + syntax keyword cppSTLbool is_callable_v + syntax keyword cppSTLbool is_nowthrow_callable_v + syntax keyword cppSTLbool conjunction_v + syntax keyword cppSTLbool disjunction_v + syntax keyword cppSTLbool negation_v + syntax keyword cppSTLbool has_unique_object_representations_v + syntax keyword cppSTLbool is_swappable_v + syntax keyword cppSTLbool is_swappable_with_v + syntax keyword cppSTLbool is_nothrow_swappable_v + syntax keyword cppSTLbool is_nothrow_swappable_with_v + syntax keyword cppSTLbool is_invocable_v + syntax keyword cppSTLbool is_invocable_r_v + syntax keyword cppSTLbool is_nothrow_invocable_v + syntax keyword cppSTLbool is_nothrow_invocable_r_v + syntax keyword cppSTLbool is_aggregate_v + syntax keyword cppSTLconstant alignment_of_v + syntax keyword cppSTLconstant rank_v + syntax keyword cppSTLconstant extent_v + syntax keyword cppSTLtype bool_constant + syntax keyword cppSTLtype is_callable + syntax keyword cppSTLtype is_nowthrow_callable + syntax keyword cppSTLtype conjunction + syntax keyword cppSTLtype disjunction + syntax keyword cppSTLtype negation + syntax keyword cppSTLtype void_t + syntax keyword cppSTLtype has_unique_object_representations + syntax keyword cppSTLtype is_swappable + syntax keyword cppSTLtype is_swappable_with + syntax keyword cppSTLtype is_nothrow_swappable + syntax keyword cppSTLtype is_nothrow_swappable_with + syntax keyword cppSTLtype is_invocable + syntax keyword cppSTLtype is_invocable_r + syntax keyword cppSTLtype is_nothrow_invocable + syntax keyword cppSTLtype is_nothrow_invocable_r + syntax keyword cppSTLtype invoke_result + syntax keyword cppSTLtype invoke_result_t + syntax keyword cppSTLtype is_aggregate + + " unordered_map, unordered_set, unordered_multimap, unordered_multiset + syntax keyword cppSTLtype node_type + syntax keyword cppSTLtype insert_return_type + syntax keyword cppSTLfunction try_emplace + syntax keyword cppSTLfunction insert_or_assign + syntax keyword cppSTLfunction extract + + " utility + syntax keyword cppSTLtype in_place_tag + syntax keyword cppSTLtype in_place_t + syntax keyword cppSTLtype in_place_type_t + syntax keyword cppSTLtype in_place_index_t + syntax keyword cppSTLfunction in_place + syntax keyword cppSTLfunction as_const + + " variant + syntax keyword cppSTLtype variant + syntax keyword cppSTLtype monostate + syntax keyword cppSTLtype variant_size + syntax keyword cppSTLtype variant_alternative + syntax keyword cppSTLtype variant_alternative_t + syntax keyword cppSTLconstant variant_size_v + syntax keyword cppSTLconstant variant_npos + syntax keyword cppSTLexception bad_variant_access + syntax keyword cppSTLfunction valueless_by_exception + syntax keyword cppSTLfunction holds_alternative + syntax keyword cppSTLfunction get_if + syntax keyword cppSTLfunction visit + " syntax keyword cppSTLfunction index +endif " C++17 + + +if !exists("cpp_no_cpp20") + " type_traits + syntax keyword cppSTLtype remove_cvref remove_cvref_t +endif + + +if exists('g:cpp_concepts_highlight') && g:cpp_concepts_highlight + syntax keyword cppStatement concept + syntax keyword cppStorageClass requires + syntax keyword cppSTLtype DefaultConstructible + syntax keyword cppSTLtype MoveConstructible + syntax keyword cppSTLtype CopyConstructible + syntax keyword cppSTLtype MoveAssignable + syntax keyword cppSTLtype CopyAssignable + syntax keyword cppSTLtype Destructible + syntax keyword cppSTLtype TriviallyCopyable + syntax keyword cppSTLtype TrivialType + syntax keyword cppSTLtype StandardLayoutType + syntax keyword cppSTLtype PODType + syntax keyword cppSTLtype EqualityComparable + syntax keyword cppSTLtype LessThanComparable + syntax keyword cppSTLtype Swappable + syntax keyword cppSTLtype ValueSwappable + syntax keyword cppSTLtype NullablePointer + syntax keyword cppSTLtype Hash + syntax keyword cppSTLtype Allocator + syntax keyword cppSTLtype FunctionObject + syntax keyword cppSTLtype Callable + syntax keyword cppSTLtype Predicate + syntax keyword cppSTLtype BinaryPredicate + syntax keyword cppSTLtype Compare + syntax keyword cppSTLtype Container + syntax keyword cppSTLtype ReversibleContainer + syntax keyword cppSTLtype AllocatorAwareContainer + syntax keyword cppSTLtype SequenceContainer + syntax keyword cppSTLtype ContiguousContainer + syntax keyword cppSTLtype AssociativeContainer + syntax keyword cppSTLtype UnorderedAssociativeContainer + syntax keyword cppSTLtype DefaultInsertable + syntax keyword cppSTLtype CopyInsertable + syntax keyword cppSTLtype CopyInsertable + syntax keyword cppSTLtype MoveInsertable + syntax keyword cppSTLtype EmplaceConstructible + syntax keyword cppSTLtype Erasable + syntax keyword cppSTLtype Iterator + syntax keyword cppSTLtype InputIterator + syntax keyword cppSTLtype OutputIterator + syntax keyword cppSTLtype ForwardIterator + syntax keyword cppSTLtype BidirectionalIterator + syntax keyword cppSTLtype RandomAccessIterator + syntax keyword cppSTLtype ContiguousIterator + syntax keyword cppSTLtype UnformattedInputFunction + syntax keyword cppSTLtype FormattedInputFunction + syntax keyword cppSTLtype UnformattedOutputFunction + syntax keyword cppSTLtype FormattedOutputFunction + syntax keyword cppSTLtype SeedSequence + syntax keyword cppSTLtype UniformRandomBitGenerator + syntax keyword cppSTLtype RandomNumberEngine + syntax keyword cppSTLtype RandomNumberEngineAdaptor + syntax keyword cppSTLtype RandomNumberDistribution + syntax keyword cppSTLtype BasicLockable + syntax keyword cppSTLtype Lockable + syntax keyword cppSTLtype TimedLockable + syntax keyword cppSTLtype Mutex + syntax keyword cppSTLtype TimedMutex + syntax keyword cppSTLtype SharedMutex + syntax keyword cppSTLtype SharedTimedMutex + syntax keyword cppSTLtype UnaryTypeTrait + syntax keyword cppSTLtype BinaryTypeTrait + syntax keyword cppSTLtype TransformationTrait + syntax keyword cppSTLtype Clock + syntax keyword cppSTLtype TrivialClock + syntax keyword cppSTLtype CharTraits + syntax keyword cppSTLtype pos_type + syntax keyword cppSTLtype off_type + syntax keyword cppSTLtype BitmaskType + syntax keyword cppSTLtype NumericType + syntax keyword cppSTLtype RegexTraits + syntax keyword cppSTLtype LiteralType +endif " C++ concepts + + +if !exists("cpp_no_boost") + syntax keyword cppSTLnamespace boost + syntax keyword cppSTLcast lexical_cast +endif " boost + + +" Default highlighting +if version >= 508 || !exists("did_cpp_syntax_inits") + if version < 508 + let did_cpp_syntax_inits = 1 + command -nargs=+ HiLink hi link + else + command -nargs=+ HiLink hi def link + endif + HiLink cppSTLbool Boolean + HiLink cppStorageClass StorageClass + HiLink cppStatement Statement + HiLink cppSTLfunction Function + HiLink cppSTLfunctional Typedef + HiLink cppSTLconstant Constant + HiLink cppSTLnamespace Constant + HiLink cppSTLtype Typedef + HiLink cppSTLexception Exception + HiLink cppSTLiterator Typedef + HiLink cppSTLiterator_tag Typedef + HiLink cppSTLenum Typedef + HiLink cppSTLios Function + HiLink cppSTLcast Statement " be consistent with official syntax + HiLink cppRawString String + HiLink cppRawDelimiter Delimiter + delcommand HiLink +endif diff --git a/nvim/colors/dark-meadow.vim b/nvim/colors/dark-meadow.vim new file mode 100644 index 0000000..2d1108e --- /dev/null +++ b/nvim/colors/dark-meadow.vim @@ -0,0 +1,154 @@ +" Name: dark-meadow +" Author: jliu2179 +" Maintainer: jliu2179 +" License: MIT + +highlight clear + +if exists('syntax_on') + syntax reset +endif + +let g:colors_name = 'dark-meadow' +set background=dark + +" Color palette +let s:clear = ['NONE', 'NONE' ] +let s:DeepSkyBlue3 = ['31' , '#0087af'] +let s:Purple4 = ['55' , '#5f00af'] +let s:Purple3 = ['56' , '#5f00ff'] +let s:SteelBlue1 = ['81' , '#5fd7ff'] +let s:DarkMagenta = ['90' , '#870087'] +let s:SkyBlue1 = ['117' , '#87afff'] +let s:DarkViolet = ['128' , '#af00d7'] +let s:Magenta2 = ['165' , '#d700ff'] +let s:Red1 = ['196' , '#ff0000'] +let s:Magenta1 = ['201' , '#ff00ff'] +let s:HotPink = ['206' , '#ff5fd7'] +let s:MediumOrchid1 = ['207' , '#ff5faf'] +let s:Yellow1 = ['226' , '#ffff00'] +let s:MistyRose1 = ['224' , '#ffd7ff'] +let s:Grey7 = ['233' , '#121212'] +let s:Grey42 = ['242' , '#6c6c6c'] +let s:Grey54 = ['245' , '#8a8a8a'] +let s:Grey66 = ['248' , '#a8a8a8'] + + +" Text style +let s:italic = 'italic' +let s:bold = 'bold' +let s:underline = 'underline' +let s:none = 'NONE' + +" Helper function to set up highlight executions +function! s:highlight(group, fg, bg, style) + exec "highlight " . a:group + \ . " ctermfg=" . a:fg[0] + \ . " ctermbg=" . a:bg[0] + \ . " cterm=" . a:style + \ . " guifg=" . a:fg[1] + \ . " guibg=" . a:bg[1] + \ . " gui=" . a:style +endfunction + +" Syntax highlighting groups +" +" For reference on what each group does, please refer to this: +" vimdoc.sourceforge.net/htmldoc/syntax.html +" +call s:highlight('Comment', s:DeepSkyBlue3, s:clear, s:italic ) +call s:highlight('Constant', s:DarkViolet, s:clear, s:none ) +call s:highlight('String', s:DarkMagenta, s:clear, s:none ) +call s:highlight('Character', s:MediumOrchid1, s:clear, s:none ) +call s:highlight('Number', s:SteelBlue1, s:clear, s:none ) +call s:highlight('Boolean', s:Yellow1, s:clear, s:none ) +call s:highlight('Float', s:SteelBlue1, s:clear, s:none ) +call s:highlight('Identifier', s:MistyRose1, s:clear, s:none ) +call s:highlight('Function', s:Purple4, s:clear, s:none ) +call s:highlight('Statement', s:MediumOrchid1, s:clear, s:bold ) +call s:highlight('Conditional', s:SkyBlue1, s:clear, s:bold ) +call s:highlight('Repeat', s:Magenta1, s:clear, s:bold ) +call s:highlight('Label', s:SkyBlue1, s:clear, s:bold ) +call s:highlight('Operator', s:Purple3, s:clear, s:none ) +call s:highlight('Keyword', s:Purple3, s:clear, s:none ) +call s:highlight('Exception', s:Magenta1, s:clear, s:italic ) +call s:highlight('PreProc', s:Grey54, s:clear, s:italic ) +call s:highlight('Include', s:Purple4, s:clear, s:italic ) +call s:highlight('Define', s:Magenta2, s:clear, s:italic ) +call s:highlight('Macro', s:HotPink, s:clear, s:italic ) +call s:highlight('PreCondit', s:Purple4, s:clear, s:italic ) +call s:highlight('Type', s:MediumOrchid1, s:clear, s:bold ) +call s:highlight('StorageClass', s:Purple3, s:clear, s:bold ) +call s:highlight('Structure', s:Purple3, s:clear, s:bold ) +call s:highlight('Typedef', s:Purple3, s:clear, s:bold ) +call s:highlight('Special', s:Grey66, s:clear, s:none ) +call s:highlight('SpecialChar', s:MediumOrchid1, s:clear, s:none ) +call s:highlight('Delimiter', s:DeepSkyBlue3, s:clear, s:none ) +call s:highlight('SpecialComment', s:Grey54, s:clear, s:none ) +call s:highlight('Debug', s:Red1, s:clear, s:none ) +call s:highlight('Underlined', s:Grey54, s:clear, s:underline ) +call s:highlight('Error', s:Red1, s:clear, s:underline ) +call s:highlight('Todo', s:Yellow1, s:clear, s:none ) + + +" Interface highlighting +call s:highlight('Normal', s:clear, s:Grey7, s:none ) +call s:highlight('Visual', s:clear, s:Grey42, s:none ) +call s:highlight('Cursor', s:Grey66, s:clear, s:none ) +call s:highlight('LineNr', s:MistyRose1, s:clear, s:none ) +call s:highlight('CursorLineNr', s:DarkMagenta, s:clear, s:italic ) + + +" Java syntax highlighting +call s:highlight('javaParen', s:DarkMagenta, s:clear, s:none ) +call s:highlight('javaCommentTitle', s:DeepSkyBlue3, s:clear, s:none ) +call s:highlight('javaDocParam', s:DeepSkyBlue3, s:clear, s:none ) +call s:highlight('javaDocTags', s:DeepSkyBlue3, s:clear, s:none ) +call s:highlight('javaScopeDecl', s:Grey66, s:clear, s:none ) +call s:highlight('javaStorageClass', s:MediumOrchid1, s:clear, s:none ) + + +" Python syntax highlighting +call s:highlight('pythonFunction', s:Grey66, s:clear, s:none ) +call s:highlight('pythonBuiltin', s:Grey66, s:clear, s:italic ) + + +" Vimscript syntax highlighting +call s:highlight('vimOption', s:DarkViolet, s:clear, s:none ) + + +" *NOTE* +" +" The following groups are plug specific and would require the following plugs +" from github in order for the groups to work. +" + +" Elm syntax highlighting +" Requires plug: ElmCast/Magenta2-vim +" +call s:highlight('elmTypeDef', s:MediumOrchid1, s:clear, s:bold ) +call s:highlight('elmAlias', s:Grey66, s:clear, s:none ) +call s:highlight('elmTopLevelDecl', s:SkyBlue1, s:clear, s:bold ) +call s:highlight('elmBraces', s:DarkMagenta, s:clear, s:none ) + + +" Elixir syntax highlighting +" Requires plug: elixir-editors/vim-elixir +" +call s:highlight('elixirAlias', s:Magenta2, s:clear, s:italic ) +call s:highlight('elixirDefine', s:MediumOrchid1, s:clear, s:none ) +call s:highlight('elixirBlockDefinition', s:MediumOrchid1, s:clear, s:none ) +call s:highlight('elixirFunctionDeclaration', s:Grey66, s:clear, s:none ) + + +" GOLang syntax highlighting +" Requires plug: fatih/vim-go +" +call s:highlight('goPackage', s:Magenta2, s:clear, s:italic ) +call s:highlight('goImport', s:Purple4, s:clear, s:italic ) + + +" Rust syntax highlighting +" Requires plug: rust-lang/rust.vim +" +call s:highlight('rustMacro', s:MediumOrchid1, s:clear, s:none ) diff --git a/nvim/colors/hashpunk-lapis.vim b/nvim/colors/hashpunk-lapis.vim new file mode 100644 index 0000000..3873bd7 --- /dev/null +++ b/nvim/colors/hashpunk-lapis.vim @@ -0,0 +1,191 @@ +" Name: hashpunk +" Author: abnt713 +" Maintainer: abnt713 +" License: MIT + +highlight clear + +if exists('syntax_on') + syntax reset +endif + +let g:colors_name = 'hashpunk-lapis' +set background=dark + +" Dark Meadow Legacy +let s:clear = ['NONE', 'NONE' ] +let s:DarkMagenta = ['90' , '#870087'] +let s:Purple4 = ['55' , '#5f00af'] +let s:SkyBlue1 = ['117' , '#87afff'] +let s:Magenta2 = ['165' , '#d700ff'] +let s:MediumOrchid1 = ['207' , '#ff5faf'] + +" Hashpunk +let s:MainColor = ['110', '#875fff'] +let s:ComplementaryColor = ['111', '#8787ff'] + +let s:Grey0 = ['16', '#000000'] +let s:Grey7 = ['233', '#121212'] +let s:Grey15 = ['235', '#262626'] +let s:Grey19 = ['236', '#303030'] +let s:Grey42 = ['242', '#6c6c6c'] +let s:Grey54 = ['245', '#505050'] +let s:Grey66 = ['248', '#a8a8a8'] +let s:Grey74 = ['250', '#bcbcbc'] +let s:Grey93 = ['255', '#eeeeee'] + +" Text style +let s:italic = 'italic' +let s:bold = 'bold' +let s:underline = 'underline' +let s:none = 'NONE' + +" Helper function to set up highlight executions +function! s:highlight(group, fg, bg, style) + exec "highlight " . a:group + \ . " ctermfg=" . a:fg[0] + \ . " ctermbg=" . a:bg[0] + \ . " cterm=" . a:style + \ . " guifg=" . a:fg[1] + \ . " guibg=" . a:bg[1] + \ . " gui=" . a:style +endfunction + +" Syntax highlighting groups +" +" For reference on what each group does, please refer to this: +" vimdoc.sourceforge.net/htmldoc/syntax.html +" +call s:highlight('Comment', s:Grey42, s:clear, s:italic) +call s:highlight('Constant', s:MainColor, s:clear, s:none) +call s:highlight('String', s:Grey93, s:clear, s:none) +call s:highlight('Character', s:Grey93, s:clear, s:none) +call s:highlight('Number', s:Grey93, s:clear, s:none) +call s:highlight('Boolean', s:ComplementaryColor, s:clear, s:none) +call s:highlight('Float', s:MainColor, s:clear, s:none) + +call s:highlight('Identifier', s:MainColor, s:clear, s:none) +call s:highlight('Function', s:MainColor, s:clear, s:none) + +call s:highlight('Statement', s:MainColor, s:clear, s:bold) +call s:highlight('Conditional', s:MainColor, s:clear, s:bold) +call s:highlight('Repeat', s:MainColor, s:clear, s:bold) +call s:highlight('Label', s:MainColor, s:clear, s:bold) +call s:highlight('Operator', s:MainColor, s:clear, s:none) +call s:highlight('Keyword', s:MainColor, s:clear, s:none) +call s:highlight('Exception', s:MainColor, s:clear, s:italic) + +call s:highlight('PreProc', s:Grey54, s:clear, s:italic) +call s:highlight('Include', s:Grey74, s:clear, s:italic) +call s:highlight('Define', s:Grey66, s:clear, s:italic) +call s:highlight('Macro', s:Grey66, s:clear, s:italic) +call s:highlight('PreCondit', s:MainColor, s:clear, s:italic) + +call s:highlight('Type', s:MainColor, s:clear, s:bold) +call s:highlight('StorageClass', s:MainColor, s:clear, s:bold) +call s:highlight('Structure', s:MainColor, s:clear, s:bold) +call s:highlight('Typedef', s:MainColor, s:clear, s:bold) + +call s:highlight('Special', s:Grey66, s:clear, s:none) +call s:highlight('SpecialChar', s:MainColor, s:clear, s:none) +call s:highlight('Delimiter', s:MainColor, s:clear, s:none) +call s:highlight('SpecialComment', s:Grey54, s:clear, s:none) +call s:highlight('Debug', s:MainColor, s:clear, s:none) +call s:highlight('Underlined', s:Grey54, s:clear, s:underline) +call s:highlight('Error', s:MainColor, s:clear, s:underline) +call s:highlight('Todo', s:MainColor, s:clear, s:none) + +call s:highlight('Directory', s:Grey93, s:clear, s:bold) +call s:highlight('CursorLine', s:MainColor, s:clear, s:bold) +call s:highlight('MatchParen', s:MainColor, s:Grey93, s:none) +call s:highlight('ColorColumn', s:MainColor, s:Grey15, s:none) + + +" Interface highlighting +call s:highlight('Normal', s:Grey93, s:Grey7, s:none) +call s:highlight('Visual', s:clear, s:Grey0, s:none) +call s:highlight('Cursor', s:clear, s:Grey0, s:none) +call s:highlight('iCursor', s:clear, s:Grey0, s:none) +call s:highlight('LineNr', s:Grey66, s:clear, s:none) +call s:highlight('NonText', s:Grey66, s:clear, s:none) +call s:highlight('CursorLineNr', s:Grey0, s:Grey7, s:none) +call s:highlight('VertSplit', s:Grey15, s:clear, s:none) + +" Pmenu +call s:highlight('Pmenu', s:Grey93, s:Grey19, s:none) +call s:highlight('PmenuSel', s:MainColor, s:Grey15, s:none) + +" Search +call s:highlight('Search', s:Grey93, s:MainColor, s:none) + +" GitDiff +call s:highlight('DiffAdd', s:MainColor, s:Grey93, s:none) +call s:highlight('DiffChange', s:Grey7, s:Grey93, s:none) +call s:highlight('DiffText', s:MainColor, s:Grey74, s:none) +call s:highlight('DiffDelete', s:Grey0, s:MainColor, s:none) + +" Git Gutter +call s:highlight('GitGutterAdd', s:Grey93, s:clear, s:none) +call s:highlight('GitGutterChange', s:Grey93, s:clear, s:none) +call s:highlight('GitGutterDelete', s:Grey93, s:clear, s:none) +call s:highlight('GitGutterChangeDelete', s:Grey93, s:clear, s:none) +call s:highlight('SignColumn', s:Grey93, s:clear, s:none) + + +" Java syntax highlighting +call s:highlight('javaParen', s:MainColor, s:clear, s:none) +call s:highlight('javaCommentTitle', s:Grey42, s:clear, s:none) +call s:highlight('javaDocParam', s:MainColor, s:clear, s:none) +call s:highlight('javaDocTags', s:Grey54, s:clear, s:none) +call s:highlight('javaScopeDecl', s:Grey54, s:clear, s:none) +call s:highlight('javaStorageClass', s:MainColor, s:clear, s:none) + + +" Python syntax highlighting +call s:highlight('pythonFunction', s:Grey93, s:clear, s:none) +call s:highlight('pythonBuiltin', s:Grey54, s:clear, s:italic) + + +" Vimscript syntax highlighting +call s:highlight('vimOption', s:Grey93, s:clear, s:none) + + +" NERDTree +call s:highlight('NERDTreeClosable', s:MainColor, s:clear, s:none) +call s:highlight('NERDTreeOpenable', s:MainColor, s:clear, s:none) + +" *NOTE* +" +" The following groups are plug specific and would require the following plugs +" from github in order for the groups to work. +" + +" Elm syntax highlighting +" Requires plug: ElmCast/Magenta2-vim +" +call s:highlight('Magenta2TypeDef', s:MediumOrchid1, s:clear, s:bold) +call s:highlight('Magenta2Alias', s:Grey66, s:clear, s:none) +call s:highlight('Magenta2TopLevelDecl', s:SkyBlue1, s:clear, s:bold) +call s:highlight('Magenta2Braces', s:DarkMagenta, s:clear, s:none) + + +" Elixir syntax highlighting +" Requires plug: elixir-editors/vim-elixir +" +call s:highlight('elixirAlias', s:Magenta2, s:clear, s:italic) +call s:highlight('elixirDefine', s:MediumOrchid1, s:clear, s:none) +call s:highlight('elixirBlockDefinition', s:MediumOrchid1, s:clear, s:none) +call s:highlight('elixirFunctionDeclaration', s:Grey66, s:clear, s:none) + + +" GOLang syntax highlighting +" Requires plug: fatih/vim-go +" +call s:highlight('goPackage', s:Magenta2, s:clear, s:italic) +call s:highlight('goImport', s:Purple4, s:clear, s:italic) + + +" Rust syntax highlighting +" Requires plug: rust-lang/rust.vim +" +call s:highlight('rustMacro', s:MediumOrchid1, s:clear, s:none) diff --git a/nvim/colors/hashpunk-sweet.vim b/nvim/colors/hashpunk-sweet.vim new file mode 100644 index 0000000..bc8c476 --- /dev/null +++ b/nvim/colors/hashpunk-sweet.vim @@ -0,0 +1,191 @@ +" Name: hashpunk +" Author: abnt713 +" Maintainer: abnt713 +" License: MIT + +highlight clear + +if exists('syntax_on') + syntax reset +endif + +let g:colors_name = 'hashpunk-sweet' +set background=dark + +" Dark Meadow Legacy +let s:clear = ['NONE', 'NONE' ] +let s:DarkMagenta = ['90' , '#870087'] +let s:Purple4 = ['55' , '#5f00af'] +let s:SkyBlue1 = ['117' , '#87afff'] +let s:Magenta2 = ['165' , '#d700ff'] +let s:MediumOrchid1 = ['207' , '#ff5faf'] + +" Hashpunk +let s:MainColor = ['161', '#d7005f'] +let s:ComplementaryColor = ['162', '#d70087'] + +let s:Grey0 = ['16', '#000000'] +let s:Grey7 = ['233', '#121212'] +let s:Grey15 = ['235', '#262626'] +let s:Grey19 = ['236', '#303030'] +let s:Grey42 = ['242', '#6c6c6c'] +let s:Grey54 = ['245', '#505050'] +let s:Grey66 = ['248', '#a8a8a8'] +let s:Grey74 = ['250', '#bcbcbc'] +let s:Grey93 = ['255', '#eeeeee'] + +" Text style +let s:italic = 'italic' +let s:bold = 'bold' +let s:underline = 'underline' +let s:none = 'NONE' + +" Helper function to set up highlight executions +function! s:highlight(group, fg, bg, style) + exec "highlight " . a:group + \ . " ctermfg=" . a:fg[0] + \ . " ctermbg=" . a:bg[0] + \ . " cterm=" . a:style + \ . " guifg=" . a:fg[1] + \ . " guibg=" . a:bg[1] + \ . " gui=" . a:style +endfunction + +" Syntax highlighting groups +" +" For reference on what each group does, please refer to this: +" vimdoc.sourceforge.net/htmldoc/syntax.html +" +call s:highlight('Comment', s:Grey42, s:clear, s:italic) +call s:highlight('Constant', s:MainColor, s:clear, s:none) +call s:highlight('String', s:Grey93, s:clear, s:none) +call s:highlight('Character', s:Grey93, s:clear, s:none) +call s:highlight('Number', s:Grey93, s:clear, s:none) +call s:highlight('Boolean', s:ComplementaryColor, s:clear, s:none) +call s:highlight('Float', s:MainColor, s:clear, s:none) + +call s:highlight('Identifier', s:MainColor, s:clear, s:none) +call s:highlight('Function', s:MainColor, s:clear, s:none) + +call s:highlight('Statement', s:MainColor, s:clear, s:bold) +call s:highlight('Conditional', s:MainColor, s:clear, s:bold) +call s:highlight('Repeat', s:MainColor, s:clear, s:bold) +call s:highlight('Label', s:MainColor, s:clear, s:bold) +call s:highlight('Operator', s:MainColor, s:clear, s:none) +call s:highlight('Keyword', s:MainColor, s:clear, s:none) +call s:highlight('Exception', s:MainColor, s:clear, s:italic) + +call s:highlight('PreProc', s:Grey54, s:clear, s:italic) +call s:highlight('Include', s:Grey74, s:clear, s:italic) +call s:highlight('Define', s:Grey66, s:clear, s:italic) +call s:highlight('Macro', s:Grey66, s:clear, s:italic) +call s:highlight('PreCondit', s:MainColor, s:clear, s:italic) + +call s:highlight('Type', s:MainColor, s:clear, s:bold) +call s:highlight('StorageClass', s:MainColor, s:clear, s:bold) +call s:highlight('Structure', s:MainColor, s:clear, s:bold) +call s:highlight('Typedef', s:MainColor, s:clear, s:bold) + +call s:highlight('Special', s:Grey66, s:clear, s:none) +call s:highlight('SpecialChar', s:MainColor, s:clear, s:none) +call s:highlight('Delimiter', s:MainColor, s:clear, s:none) +call s:highlight('SpecialComment', s:Grey54, s:clear, s:none) +call s:highlight('Debug', s:MainColor, s:clear, s:none) +call s:highlight('Underlined', s:Grey54, s:clear, s:underline) +call s:highlight('Error', s:MainColor, s:clear, s:underline) +call s:highlight('Todo', s:MainColor, s:clear, s:none) + +call s:highlight('Directory', s:Grey93, s:clear, s:bold) +call s:highlight('CursorLine', s:MainColor, s:clear, s:bold) +call s:highlight('MatchParen', s:MainColor, s:Grey93, s:none) +call s:highlight('ColorColumn', s:MainColor, s:Grey15, s:none) + + +" Interface highlighting +call s:highlight('Normal', s:Grey93, s:Grey7, s:none) +call s:highlight('Visual', s:clear, s:Grey0, s:none) +call s:highlight('Cursor', s:clear, s:Grey0, s:none) +call s:highlight('iCursor', s:clear, s:Grey0, s:none) +call s:highlight('LineNr', s:Grey66, s:clear, s:none) +call s:highlight('NonText', s:Grey66, s:clear, s:none) +call s:highlight('CursorLineNr', s:Grey0, s:Grey7, s:none) +call s:highlight('VertSplit', s:Grey15, s:clear, s:none) + +" Pmenu +call s:highlight('Pmenu', s:Grey93, s:Grey19, s:none) +call s:highlight('PmenuSel', s:MainColor, s:Grey15, s:none) + +" Search +call s:highlight('Search', s:Grey93, s:MainColor, s:none) + +" GitDiff +call s:highlight('DiffAdd', s:MainColor, s:Grey93, s:none) +call s:highlight('DiffChange', s:Grey7, s:Grey93, s:none) +call s:highlight('DiffText', s:MainColor, s:Grey74, s:none) +call s:highlight('DiffDelete', s:Grey0, s:MainColor, s:none) + +" Git Gutter +call s:highlight('GitGutterAdd', s:Grey93, s:clear, s:none) +call s:highlight('GitGutterChange', s:Grey93, s:clear, s:none) +call s:highlight('GitGutterDelete', s:Grey93, s:clear, s:none) +call s:highlight('GitGutterChangeDelete', s:Grey93, s:clear, s:none) +call s:highlight('SignColumn', s:Grey93, s:clear, s:none) + + +" Java syntax highlighting +call s:highlight('javaParen', s:MainColor, s:clear, s:none) +call s:highlight('javaCommentTitle', s:Grey42, s:clear, s:none) +call s:highlight('javaDocParam', s:MainColor, s:clear, s:none) +call s:highlight('javaDocTags', s:Grey54, s:clear, s:none) +call s:highlight('javaScopeDecl', s:Grey54, s:clear, s:none) +call s:highlight('javaStorageClass', s:MainColor, s:clear, s:none) + + +" Python syntax highlighting +call s:highlight('pythonFunction', s:Grey93, s:clear, s:none) +call s:highlight('pythonBuiltin', s:Grey54, s:clear, s:italic) + + +" Vimscript syntax highlighting +call s:highlight('vimOption', s:Grey93, s:clear, s:none) + + +" NERDTree +call s:highlight('NERDTreeClosable', s:MainColor, s:clear, s:none) +call s:highlight('NERDTreeOpenable', s:MainColor, s:clear, s:none) + +" *NOTE* +" +" The following groups are plug specific and would require the following plugs +" from github in order for the groups to work. +" + +" Elm syntax highlighting +" Requires plug: ElmCast/Magenta2-vim +" +call s:highlight('Magenta2TypeDef', s:MediumOrchid1, s:clear, s:bold) +call s:highlight('Magenta2Alias', s:Grey66, s:clear, s:none) +call s:highlight('Magenta2TopLevelDecl', s:SkyBlue1, s:clear, s:bold) +call s:highlight('Magenta2Braces', s:DarkMagenta, s:clear, s:none) + + +" Elixir syntax highlighting +" Requires plug: elixir-editors/vim-elixir +" +call s:highlight('elixirAlias', s:Magenta2, s:clear, s:italic) +call s:highlight('elixirDefine', s:MediumOrchid1, s:clear, s:none) +call s:highlight('elixirBlockDefinition', s:MediumOrchid1, s:clear, s:none) +call s:highlight('elixirFunctionDeclaration', s:Grey66, s:clear, s:none) + + +" GOLang syntax highlighting +" Requires plug: fatih/vim-go +" +call s:highlight('goPackage', s:Magenta2, s:clear, s:italic) +call s:highlight('goImport', s:Purple4, s:clear, s:italic) + + +" Rust syntax highlighting +" Requires plug: rust-lang/rust.vim +" +call s:highlight('rustMacro', s:MediumOrchid1, s:clear, s:none) diff --git a/nvim/colors/hashpunk.vim b/nvim/colors/hashpunk.vim new file mode 100644 index 0000000..20cc93c --- /dev/null +++ b/nvim/colors/hashpunk.vim @@ -0,0 +1,202 @@ +" Name: hashpunk +" Author: abnt713 +" Maintainer: abnt713 +" License: MIT + +highlight clear + +if exists('syntax_on') + syntax reset +endif + +let g:colors_name = 'hashpunk' +set background=dark + +" Dark Meadow Legacy +let s:clear = ['NONE', 'NONE' ] +let s:DarkMagenta = ['90' , '#870087'] +let s:Purple4 = ['55' , '#5f00af'] +let s:SkyBlue1 = ['117' , '#87afff'] +let s:Magenta3 = ['127' , '#d700ff'] +let s:Magenta2 = ['165' , '#d700ff'] +let s:MediumOrchid1 = ['207' , '#ff5faf'] +let s:MediumOrchid3 = ['133' , '#ff5faf'] +let s:HotPink2 = ['169' , '#ff5faf'] +let s:Orange = ['209' , '#ff875f'] + +" Hashpunk +let s:MainColor = ['197', '#ff3366'] +let s:ComplementaryColor = ['198', '#fe0040'] + +let s:Grey0 = ['16', '#000000'] +let s:Grey7 = ['233', '#121212'] +let s:Grey15 = ['235', '#262626'] +let s:Grey19 = ['236', '#303030'] +let s:Grey42 = ['242', '#6c6c6c'] +let s:Grey54 = ['245', '#505050'] +let s:Grey66 = ['248', '#a8a8a8'] +let s:Grey74 = ['250', '#bcbcbc'] +let s:Grey93 = ['255', '#eeeeee'] + +" Text style +let s:italic = 'italic' +let s:bold = 'bold' +let s:underline = 'underline' +let s:none = 'NONE' + +" Helper function to set up highlight executions +function! s:highlight(group, fg, bg, style) + exec "highlight " . a:group + \ . " ctermfg=" . a:fg[0] + \ . " ctermbg=" . a:bg[0] + \ . " cterm=" . a:style + \ . " guifg=" . a:fg[1] + \ . " guibg=" . a:bg[1] + \ . " gui=" . a:style +endfunction + +" Syntax highlighting groups +" +" For reference on what each group does, please refer to this: +" vimdoc.sourceforge.net/htmldoc/syntax.html +" +call s:highlight('Comment', s:HotPink2, s:clear, s:italic) +call s:highlight('Constant', s:MainColor, s:clear, s:none) +call s:highlight('String', s:ComplementaryColor, s:clear, s:none) +call s:highlight('Character', s:ComplementaryColor, s:clear, s:none) +call s:highlight('Number', s:ComplementaryColor, s:clear, s:none) +call s:highlight('Boolean', s:ComplementaryColor, s:clear, s:none) +call s:highlight('Float', s:ComplementaryColor, s:clear, s:none) + +call s:highlight('Identifier', s:MainColor, s:clear, s:none) +call s:highlight('Function', s:Grey74, s:clear, s:none) + +call s:highlight('Statement', s:MainColor, s:clear, s:none) +call s:highlight('Conditional', s:MainColor, s:clear, s:bold) +call s:highlight('Repeat', s:MainColor, s:clear, s:bold) +call s:highlight('Label', s:MainColor, s:clear, s:bold) +call s:highlight('Operator', s:MainColor, s:clear, s:none) +call s:highlight('Keyword', s:MainColor, s:clear, s:none) +call s:highlight('Exception', s:MainColor, s:clear, s:italic) + +call s:highlight('PreProc', s:Grey54, s:clear, s:italic) +call s:highlight('Include', s:Grey74, s:clear, s:italic) +call s:highlight('Define', s:Grey66, s:clear, s:italic) +call s:highlight('Macro', s:Grey66, s:clear, s:italic) +call s:highlight('PreCondit', s:MainColor, s:clear, s:italic) + +call s:highlight('Type', s:MainColor, s:clear, s:none) +call s:highlight('StorageClass', s:MainColor, s:clear, s:none) +call s:highlight('Structure', s:MainColor, s:clear, s:bold) +call s:highlight('Typedef', s:MainColor, s:clear, s:bold) + +call s:highlight('Special', s:Grey66, s:clear, s:none) +call s:highlight('SpecialChar', s:MainColor, s:clear, s:none) +call s:highlight('Delimiter', s:MainColor, s:clear, s:none) +call s:highlight('SpecialComment', s:Grey66, s:clear, s:none) +call s:highlight('Debug', s:MainColor, s:clear, s:none) +call s:highlight('Underlined', s:Grey54, s:clear, s:underline) +call s:highlight('Error', s:MainColor, s:clear, s:underline) +call s:highlight('Todo', s:ComplementaryColor, s:clear, s:bold) + +call s:highlight('Directory', s:Grey93, s:clear, s:bold) +call s:highlight('CursorLine', s:MainColor, s:clear, s:bold) +call s:highlight('MatchParen', s:MainColor, s:Grey93, s:none) +call s:highlight('ColorColumn', s:MainColor, s:Grey15, s:none) + + +" Interface highlighting +call s:highlight('Normal', s:Grey93, s:Grey7, s:none) +call s:highlight('Visual', s:Grey93, s:ComplementaryColor, s:none) +call s:highlight('Cursor', s:clear, s:Grey0, s:none) +call s:highlight('iCursor', s:clear, s:Grey0, s:none) +call s:highlight('LineNr', s:Grey66, s:clear, s:none) +call s:highlight('NonText', s:Grey66, s:clear, s:none) +call s:highlight('CursorLineNr', s:Grey0, s:Grey7, s:none) +call s:highlight('VertSplit', s:Grey15, s:clear, s:none) + +" Pmenu +call s:highlight('Pmenu', s:Grey93, s:Grey19, s:none) +call s:highlight('PmenuSel', s:MainColor, s:Grey15, s:none) + +" Search +call s:highlight('Search', s:Grey93, s:MainColor, s:none) + +" GitDiff +call s:highlight('DiffAdd', s:MainColor, s:Grey93, s:none) +call s:highlight('DiffChange', s:Grey7, s:Grey93, s:none) +call s:highlight('DiffText', s:MainColor, s:Grey74, s:none) +call s:highlight('DiffDelete', s:Grey0, s:MainColor, s:none) + +" Git Gutter +call s:highlight('GitGutterAdd', s:Grey93, s:clear, s:none) +call s:highlight('GitGutterChange', s:Grey93, s:clear, s:none) +call s:highlight('GitGutterDelete', s:Grey93, s:clear, s:none) +call s:highlight('GitGutterChangeDelete', s:Grey93, s:clear, s:none) +call s:highlight('SignColumn', s:Grey93, s:clear, s:none) + +" CPP +call s:highlight('cppStructure', s:MainColor, s:clear, s:none) +call s:highlight('cppStatement', s:MainColor, s:clear, s:none) +call s:highlight('cType', s:MainColor, s:clear, s:none) +call s:highlight('cRepeat', s:MainColor, s:clear, s:none) +call s:highlight('cppSTLtype', s:MainColor, s:clear, s:none) + + +" Java syntax highlighting +call s:highlight('javaParen', s:MainColor, s:clear, s:none) +call s:highlight('javaCommentTitle', s:Grey42, s:clear, s:none) +call s:highlight('javaDocParam', s:MainColor, s:clear, s:none) +call s:highlight('javaDocTags', s:Grey54, s:clear, s:none) +call s:highlight('javaScopeDecl', s:Grey54, s:clear, s:none) +call s:highlight('javaStorageClass', s:MainColor, s:clear, s:none) + + +" Python syntax highlighting +call s:highlight('pythonFunction', s:Grey93, s:clear, s:none) +call s:highlight('pythonBuiltin', s:Grey54, s:clear, s:italic) + + +" Vimscript syntax highlighting +call s:highlight('vimOption', s:Grey93, s:clear, s:none) + + +" NERDTree +call s:highlight('NERDTreeClosable', s:MainColor, s:clear, s:none) +call s:highlight('NERDTreeOpenable', s:MainColor, s:clear, s:none) + +" *NOTE* +" +" The following groups are plug specific and would require the following plugs +" from github in order for the groups to work. +" + +" Elm syntax highlighting +" Requires plug: ElmCast/Magenta2-vim +" +call s:highlight('Magenta2TypeDef', s:MediumOrchid1, s:clear, s:bold) +call s:highlight('Magenta2Alias', s:Grey66, s:clear, s:none) +call s:highlight('Magenta2TopLevelDecl', s:SkyBlue1, s:clear, s:bold) +call s:highlight('Magenta2Braces', s:DarkMagenta, s:clear, s:none) + + +" Elixir syntax highlighting +" Requires plug: elixir-editors/vim-elixir +" +call s:highlight('elixirAlias', s:Magenta2, s:clear, s:italic) +call s:highlight('elixirDefine', s:MediumOrchid1, s:clear, s:none) +call s:highlight('elixirBlockDefinition', s:MediumOrchid1, s:clear, s:none) +call s:highlight('elixirFunctionDeclaration', s:Grey66, s:clear, s:none) + + +" GOLang syntax highlighting +" Requires plug: fatih/vim-go +" +call s:highlight('goPackage', s:Magenta2, s:clear, s:italic) +call s:highlight('goImport', s:Purple4, s:clear, s:italic) + + +" Rust syntax highlighting +" Requires plug: rust-lang/rust.vim +" +call s:highlight('rustMacro', s:MediumOrchid1, s:clear, s:none) diff --git a/nvim/colors/molokai-jaseg.vim b/nvim/colors/molokai-jaseg.vim new file mode 100644 index 0000000..6449905 --- /dev/null +++ b/nvim/colors/molokai-jaseg.vim @@ -0,0 +1,218 @@ +" Vim color file +" +" Author: Tomas Restrepo +" +" Note: Based on the monokai theme for textmate +" by Wimer Hazenberg and its darker variant +" by Hamish Stuart Macpherson +" + +hi clear + +set background=dark +if version > 580 + " no guarantees for version 5.8 and below, but this makes it stop + " complaining + hi clear + if exists("syntax_on") + syntax reset + endif +endif +let g:colors_name="molokai" + +if exists("g:molokai_original") + let s:molokai_original = g:molokai_original +else + let s:molokai_original = 0 +endif + + +hi Boolean guifg=#AE81FF +hi Character guifg=#E6DB74 +hi Number guifg=#AE81FF +hi String guifg=#E6DB74 +hi Conditional guifg=#F92672 gui=bold +hi Constant guifg=#AE81FF gui=bold +hi Cursor guifg=#000000 guibg=#F8F8F0 +hi Debug guifg=#BCA3A3 gui=bold +hi Define guifg=#66D9EF +hi Delimiter guifg=#8F8F8F +hi DiffAdd guibg=#13354A +hi DiffChange guifg=#89807D guibg=#4C4745 +hi DiffDelete guifg=#960050 guibg=#1E0010 +hi DiffText guibg=#4C4745 gui=italic,bold + +hi Directory guifg=#A6E22E gui=bold +hi Error guifg=#960050 guibg=#1E0010 +hi ErrorMsg guifg=#F92672 guibg=#232526 gui=bold +hi Exception guifg=#A6E22E gui=bold +hi Float guifg=#AE81FF +hi FoldColumn guifg=#465457 guibg=#000000 +hi Folded guifg=#465457 guibg=#000000 +hi Function guifg=#A6E22E +hi Identifier guifg=#FD971F +hi Ignore guifg=#808080 guibg=bg +hi IncSearch guifg=#C4BE89 guibg=#000000 + +hi Keyword guifg=#F92672 gui=bold +hi Label guifg=#E6DB74 gui=none +hi Macro guifg=#C4BE89 gui=italic +hi SpecialKey guifg=#66D9EF gui=italic + +hi MatchParen guifg=#000000 guibg=#FD971F gui=bold +hi ModeMsg guifg=#E6DB74 +hi MoreMsg guifg=#E6DB74 +hi Operator guifg=#F92672 + +" complete menu +hi Pmenu guifg=#66D9EF guibg=#000000 +hi PmenuSel guibg=#808080 +hi PmenuSbar guibg=#080808 +hi PmenuThumb guifg=#66D9EF + +hi PreCondit guifg=#A6E22E gui=bold +hi PreProc guifg=#A6E22E +hi Question guifg=#66D9EF +hi Repeat guifg=#F92672 gui=bold +hi Search guifg=#FFFFFF guibg=#455354 +" marks column +hi SignColumn guifg=#A6E22E guibg=#232526 +hi SpecialChar guifg=#F92672 gui=bold +hi SpecialComment guifg=#465457 gui=bold +hi Special guifg=#66D9EF guibg=bg gui=italic +hi SpecialKey guifg=#888A85 gui=italic +if has("spell") + hi SpellBad guisp=#FF0000 gui=undercurl + hi SpellCap guisp=#7070F0 gui=undercurl + hi SpellLocal guisp=#70F0F0 gui=undercurl + hi SpellRare guisp=#FFFFFF gui=undercurl +endif +hi Statement guifg=#F92672 gui=bold +hi StatusLine guifg=#455354 guibg=fg +hi StatusLineNC guifg=#808080 guibg=#080808 +hi StorageClass guifg=#FD971F gui=italic +hi Structure guifg=#66D9EF +hi Tag guifg=#F92672 gui=italic +hi Title guifg=#ef5939 +hi Todo guifg=#FFFFFF guibg=bg gui=bold + +hi Typedef guifg=#66D9EF +hi Type guifg=#66D9EF gui=none +hi Underlined guifg=#808080 gui=underline + +hi VertSplit guifg=#808080 guibg=#080808 gui=bold +hi VisualNOS guibg=#403D3D +hi Visual guibg=#403D3D +hi WarningMsg guifg=#FFFFFF guibg=#333333 gui=bold +hi WildMenu guifg=#66D9EF guibg=#000000 + +if s:molokai_original == 1 + hi Normal guifg=#F8F8F2 guibg=#272822 + hi Comment guifg=#75715E + hi CursorLine guibg=#3E3D32 + hi CursorColumn guibg=#3E3D32 + hi LineNr guifg=#BCBCBC guibg=#3B3A32 + hi NonText guifg=#BCBCBC guibg=#3B3A32 +else + hi Normal guifg=#F8F8F2 guibg=#1B1D1E + hi Comment guifg=#465457 + hi CursorLine guibg=#293739 + hi CursorColumn guibg=#293739 + hi LineNr guifg=#BCBCBC guibg=#232526 + hi NonText guifg=#BCBCBC guibg=#232526 +end + +" +" Support for 256-color terminal +" +if &t_Co > 255 + hi Boolean ctermfg=135 + hi Character ctermfg=144 + hi Number ctermfg=135 + hi String ctermfg=144 + hi Conditional ctermfg=161 cterm=bold + hi Constant ctermfg=135 cterm=bold + hi Cursor ctermfg=16 ctermbg=253 + hi Debug ctermfg=225 cterm=bold + hi Define ctermfg=81 + hi Delimiter ctermfg=241 + + hi DiffAdd ctermbg=24 + hi DiffChange ctermfg=181 ctermbg=239 + hi DiffDelete ctermfg=162 ctermbg=53 + hi DiffText ctermbg=102 cterm=bold + + hi Directory ctermfg=118 cterm=bold + hi Error ctermfg=219 ctermbg=89 + hi ErrorMsg ctermfg=199 ctermbg=16 cterm=bold + hi Exception ctermfg=118 cterm=bold + hi Float ctermfg=135 + hi FoldColumn ctermfg=67 ctermbg=16 + hi Folded ctermfg=67 ctermbg=16 + hi Function ctermfg=118 + hi Identifier ctermfg=208 + hi Ignore ctermfg=244 ctermbg=232 + hi IncSearch ctermfg=193 ctermbg=16 + + hi Keyword ctermfg=161 cterm=bold + hi Label ctermfg=229 cterm=none + hi Macro ctermfg=193 + hi SpecialKey ctermfg=81 + + hi MatchParen ctermfg=16 ctermbg=208 cterm=bold + hi ModeMsg ctermfg=229 + hi MoreMsg ctermfg=229 + hi Operator ctermfg=161 + + " complete menu + hi Pmenu ctermfg=81 ctermbg=16 + hi PmenuSel ctermbg=244 + hi PmenuSbar ctermbg=232 + hi PmenuThumb ctermfg=81 + + hi PreCondit ctermfg=118 cterm=bold + hi PreProc ctermfg=118 + hi Question ctermfg=81 + hi Repeat ctermfg=161 cterm=bold + hi Search ctermfg=253 ctermbg=66 + + " marks column + hi SignColumn ctermfg=118 ctermbg=235 + hi SpecialChar ctermfg=161 cterm=bold + hi SpecialComment ctermfg=245 cterm=bold + hi Special ctermfg=81 ctermbg=232 + hi SpecialKey ctermfg=245 + + hi Statement ctermfg=161 cterm=bold + hi StatusLine ctermfg=238 ctermbg=253 + hi StatusLineNC ctermfg=244 ctermbg=232 + hi StorageClass ctermfg=208 + hi Structure ctermfg=81 + hi Tag ctermfg=161 + hi Title ctermfg=166 + hi Todo ctermfg=231 ctermbg=232 cterm=bold + + hi Typedef ctermfg=81 + hi Type ctermfg=81 cterm=none + hi Underlined ctermfg=244 cterm=underline + + hi VertSplit ctermfg=244 ctermbg=232 cterm=bold + hi VisualNOS ctermbg=238 + hi Visual ctermbg=235 + hi WarningMsg ctermfg=231 ctermbg=238 cterm=bold + hi WildMenu ctermfg=81 ctermbg=16 + +" hi Normal ctermfg=252 ctermbg=233 +" hi Comment ctermfg=59 +" hi CursorLine ctermbg=234 cterm=none +" hi CursorColumn ctermbg=234 +" hi LineNr ctermfg=250 ctermbg=234 +" hi NonText ctermfg=250 ctermbg=234 + + hi Normal ctermfg=15 + hi Comment ctermfg=248 + hi CursorLine ctermbg=237 + hi CursorColumn ctermbg=237 + hi LineNr ctermfg=250 ctermbg=237 + hi NonText ctermfg=250 +end diff --git a/nvim/colors/molokai.vim b/nvim/colors/molokai.vim new file mode 100644 index 0000000..aae9420 --- /dev/null +++ b/nvim/colors/molokai.vim @@ -0,0 +1,211 @@ +" Vim color file +" +" Author: Tomas Restrepo +" +" Note: Based on the monokai theme for textmate +" by Wimer Hazenberg and its darker variant +" by Hamish Stuart Macpherson +" + +hi clear + +set background=dark +if version > 580 + " no guarantees for version 5.8 and below, but this makes it stop + " complaining + hi clear + if exists("syntax_on") + syntax reset + endif +endif +let g:colors_name="molokai" + +if exists("g:molokai_original") + let s:molokai_original = g:molokai_original +else + let s:molokai_original = 0 +endif + + +hi Boolean guifg=#AE81FF +hi Character guifg=#E6DB74 +hi Number guifg=#AE81FF +hi String guifg=#E6DB74 +hi Conditional guifg=#F92672 gui=bold +hi Constant guifg=#AE81FF gui=bold +hi Cursor guifg=#000000 guibg=#F8F8F0 +hi Debug guifg=#BCA3A3 gui=bold +hi Define guifg=#66D9EF +hi Delimiter guifg=#8F8F8F +hi DiffAdd guibg=#13354A +hi DiffChange guifg=#89807D guibg=#4C4745 +hi DiffDelete guifg=#960050 guibg=#1E0010 +hi DiffText guibg=#4C4745 gui=italic,bold + +hi Directory guifg=#A6E22E gui=bold +hi Error guifg=#960050 guibg=#1E0010 +hi ErrorMsg guifg=#F92672 guibg=#232526 gui=bold +hi Exception guifg=#A6E22E gui=bold +hi Float guifg=#AE81FF +hi FoldColumn guifg=#465457 guibg=#000000 +hi Folded guifg=#465457 guibg=#000000 +hi Function guifg=#A6E22E +hi Identifier guifg=#FD971F +hi Ignore guifg=#808080 guibg=bg +hi IncSearch guifg=#C4BE89 guibg=#000000 + +hi Keyword guifg=#F92672 gui=bold +hi Label guifg=#E6DB74 gui=none +hi Macro guifg=#C4BE89 gui=italic +hi SpecialKey guifg=#66D9EF gui=italic + +hi MatchParen guifg=#000000 guibg=#FD971F gui=bold +hi ModeMsg guifg=#E6DB74 +hi MoreMsg guifg=#E6DB74 +hi Operator guifg=#F92672 + +" complete menu +hi Pmenu guifg=#66D9EF guibg=#000000 +hi PmenuSel guibg=#808080 +hi PmenuSbar guibg=#080808 +hi PmenuThumb guifg=#66D9EF + +hi PreCondit guifg=#A6E22E gui=bold +hi PreProc guifg=#A6E22E +hi Question guifg=#66D9EF +hi Repeat guifg=#F92672 gui=bold +hi Search guifg=#FFFFFF guibg=#455354 +" marks column +hi SignColumn guifg=#A6E22E guibg=#232526 +hi SpecialChar guifg=#F92672 gui=bold +hi SpecialComment guifg=#465457 gui=bold +hi Special guifg=#66D9EF guibg=bg gui=italic +hi SpecialKey guifg=#888A85 gui=italic +if has("spell") + hi SpellBad guisp=#FF0000 gui=undercurl + hi SpellCap guisp=#7070F0 gui=undercurl + hi SpellLocal guisp=#70F0F0 gui=undercurl + hi SpellRare guisp=#FFFFFF gui=undercurl +endif +hi Statement guifg=#F92672 gui=bold +hi StatusLine guifg=#455354 guibg=fg +hi StatusLineNC guifg=#808080 guibg=#080808 +hi StorageClass guifg=#FD971F gui=italic +hi Structure guifg=#66D9EF +hi Tag guifg=#F92672 gui=italic +hi Title guifg=#ef5939 +hi Todo guifg=#FFFFFF guibg=bg gui=bold + +hi Typedef guifg=#66D9EF +hi Type guifg=#66D9EF gui=none +hi Underlined guifg=#808080 gui=underline + +hi VertSplit guifg=#808080 guibg=#080808 gui=bold +hi VisualNOS guibg=#403D3D +hi Visual guibg=#403D3D +hi WarningMsg guifg=#FFFFFF guibg=#333333 gui=bold +hi WildMenu guifg=#66D9EF guibg=#000000 + +if s:molokai_original == 1 + hi Normal guifg=#F8F8F2 guibg=#272822 + hi Comment guifg=#75715E + hi CursorLine guibg=#3E3D32 + hi CursorColumn guibg=#3E3D32 + hi LineNr guifg=#BCBCBC guibg=#3B3A32 + hi NonText guifg=#BCBCBC guibg=#3B3A32 +else + hi Normal guifg=#F8F8F2 guibg=#1B1D1E + hi Comment guifg=#465457 + hi CursorLine guibg=#293739 + hi CursorColumn guibg=#293739 + hi LineNr guifg=#BCBCBC guibg=#232526 + hi NonText guifg=#BCBCBC guibg=#232526 +end + +" +" Support for 256-color terminal +" +if &t_Co > 255 + hi Boolean ctermfg=135 + hi Character ctermfg=144 + hi Number ctermfg=135 + hi String ctermfg=144 + hi Conditional ctermfg=161 cterm=bold + hi Constant ctermfg=135 cterm=bold + hi Cursor ctermfg=16 ctermbg=253 + hi Debug ctermfg=225 cterm=bold + hi Define ctermfg=81 + hi Delimiter ctermfg=241 + + hi DiffAdd ctermbg=24 + hi DiffChange ctermfg=181 ctermbg=239 + hi DiffDelete ctermfg=162 ctermbg=53 + hi DiffText ctermbg=102 cterm=bold + + hi Directory ctermfg=118 cterm=bold + hi Error ctermfg=219 ctermbg=89 + hi ErrorMsg ctermfg=199 ctermbg=16 cterm=bold + hi Exception ctermfg=118 cterm=bold + hi Float ctermfg=135 + hi FoldColumn ctermfg=67 ctermbg=16 + hi Folded ctermfg=67 ctermbg=16 + hi Function ctermfg=118 + hi Identifier ctermfg=208 + hi Ignore ctermfg=244 ctermbg=232 + hi IncSearch ctermfg=193 ctermbg=16 + + hi Keyword ctermfg=161 cterm=bold + hi Label ctermfg=229 cterm=none + hi Macro ctermfg=193 + hi SpecialKey ctermfg=81 + + hi MatchParen ctermfg=16 ctermbg=208 cterm=bold + hi ModeMsg ctermfg=229 + hi MoreMsg ctermfg=229 + hi Operator ctermfg=161 + + " complete menu + hi Pmenu ctermfg=81 ctermbg=16 + hi PmenuSel ctermbg=244 + hi PmenuSbar ctermbg=232 + hi PmenuThumb ctermfg=81 + + hi PreCondit ctermfg=118 cterm=bold + hi PreProc ctermfg=118 + hi Question ctermfg=81 + hi Repeat ctermfg=161 cterm=bold + hi Search ctermfg=253 ctermbg=66 + + " marks column + hi SignColumn ctermfg=118 ctermbg=235 + hi SpecialChar ctermfg=161 cterm=bold + hi SpecialComment ctermfg=245 cterm=bold + hi Special ctermfg=81 ctermbg=232 + hi SpecialKey ctermfg=245 + + hi Statement ctermfg=161 cterm=bold + hi StatusLine ctermfg=238 ctermbg=253 + hi StatusLineNC ctermfg=244 ctermbg=232 + hi StorageClass ctermfg=208 + hi Structure ctermfg=81 + hi Tag ctermfg=161 + hi Title ctermfg=166 + hi Todo ctermfg=231 ctermbg=232 cterm=bold + + hi Typedef ctermfg=81 + hi Type ctermfg=81 cterm=none + hi Underlined ctermfg=244 cterm=underline + + hi VertSplit ctermfg=244 ctermbg=232 cterm=bold + hi VisualNOS ctermbg=238 + hi Visual ctermbg=235 + hi WarningMsg ctermfg=231 ctermbg=238 cterm=bold + hi WildMenu ctermfg=81 ctermbg=16 + + hi Normal ctermfg=252 ctermbg=233 + hi Comment ctermfg=59 + hi CursorLine ctermbg=234 cterm=none + hi CursorColumn ctermbg=234 + hi LineNr ctermfg=250 ctermbg=234 + hi NonText ctermfg=250 ctermbg=234 +end diff --git a/nvim/init.vim b/nvim/init.vim new file mode 100644 index 0000000..d490843 --- /dev/null +++ b/nvim/init.vim @@ -0,0 +1,51 @@ + +set rnu nu +set et sw=4 ts=4 +set tw=120 +set smartcase ignorecase +set colorcolumn=120 +set wildmode=longest,list,full +set wildmenu +set nofoldenable +colorscheme hashpunk + +"call plug#begin('~/.config/nvim/vim_plug_plugins') +"Plug 'numirias/semshi' +"Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } +""Plug 'deoplete-plugins/deoplete-jedi' +"Plug 'Shougo/echodoc' +"Plug 'lionawurscht/deoplete-biblatex' +"Plug 'fszymanski/deoplete-emoji' +"Plug 'deoplete-plugins/deoplete-clang' +"Plug 'sebastianmarkow/deoplete-rust' +"" Plug 'Shougo/defx.nvim', { 'do': ':UpdateRemotePlugins' } +"call plug#end() + +"let g:deoplete#sources#rust#racer_binary='/usr/bin/racer' + +"let g:deoplete#enable_at_startup = 1 +"let g:echodoc#enable_at_startup = 1 +set completeopt-=preview + +" Hide '--- INSERT ---' line for echodoc to work +set noshowmode + +"function MyCustomHighlights() +" hi semshiLocal ctermfg=250 guifg=#ff875f +" hi semshiGlobal ctermfg=197 guifg=#ffaf00 cterm=NONE gui=NONE +" hi semshiImported ctermfg=248 guifg=#ffaf00 cterm=NONE gui=NONE +" hi semshiParameter ctermfg=250 guifg=#5fafff +" hi semshiParameterUnused ctermfg=248 guifg=#87d7ff cterm=underline gui=underline +" hi semshiFree ctermfg=250 guifg=#ffafd7 +" hi semshiBuiltin ctermfg=197 guifg=#ff5fff +" hi semshiAttribute ctermfg=250 guifg=#00ffaf +" hi semshiSelf ctermfg=197 guifg=#b2b2b2 +" hi semshiUnresolved ctermfg=197 guifg=#ffff00 cterm=underline gui=underline +" hi semshiSelected ctermfg=NONE guifg=#ffffff ctermbg=NONE guibg=NONE cterm=underline gui=underline +" +" hi semshiErrorSign ctermfg=248 guifg=#ffffff ctermbg=198 guibg=#d70000 +" hi semshiErrorChar ctermfg=248 guifg=#ffffff ctermbg=53 guibg=#d70000 +" " To avoid flicker when using semshi +" set signcolumn=yes +"endfunction +"autocmd FileType python call MyCustomHighlights() diff --git a/tmux.conf b/tmux.conf new file mode 100644 index 0000000..42b7cf5 --- /dev/null +++ b/tmux.conf @@ -0,0 +1,54 @@ +# setw -g utf8 on +# set -g status-utf8 on + +set-option -g default-shell /usr/bin/fish +set-option -g status-keys vi +set-option -g mode-keys vi +set-option -g lock-command vlock +set-option -g escape-time 0 + +set -g update-environment "DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY DBUS_SESSION_BUS_ADDRESS" +#set-window-option -g mode-mouse on + +#### COLOUR + +set -g default-terminal screen-256color +set -g aggressive-resize on + +# default statusbar colors +set-option -g status-bg colour14 +set-option -g status-fg colour0 +#set-option -g status-attr default + +# default window title colors +#set-window-option -g window-status-fg colour244 +#set-window-option -g window-status-bg default +#set-window-option -g window-status-attr dim + +# active window title colors +#set-window-option -g window-status-current-fg colour166 #orange +#set-window-option -g window-status-current-bg default +#set-window-option -g window-status-current-attr bright + +# pane border +#set-option -g pane-border-fg colour235 #base02 +#set-option -g pane-active-border-fg colour240 #base01 + +# message text +set-option -g message-bg colour13 +#set-option -g message-fg colour166 #orange + +# pane number display +#set-option -g display-panes-active-colour colour33 #blue +#set-option -g display-panes-colour colour166 #orange + +# clock +#set-window-option -g clock-mode-colour colour64 #green + +bind-key P new-window -n ipy ipython3 -i -c "cd /tmp" +bind-key u new-window -n units units + +bind-key -n M-h select-pane -L +bind-key -n M-j select-pane -D +bind-key -n M-k select-pane -U +bind-key -n M-l select-pane -R