-*- mode: org -*- #+TITLE: sisudoc spine (doc_reform) vim syntax highlighting & colorschemes #+DESCRIPTION: documents - structuring, various output representations & search #+FILETAGS: :spine:info: #+AUTHOR: Ralph Amissah #+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] #+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah #+LANGUAGE: en #+STARTUP: content hideblocks hidestars noindent entitiespretty #+PROPERTY: header-args :exports code #+PROPERTY: header-args+ :noweb yes #+PROPERTY: header-args+ :results no #+PROPERTY: header-args+ :cache no #+PROPERTY: header-args+ :padline no #+PROPERTY: header-args+ :mkdirp yes #+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t - [[./doc-reform.org][doc-reform.org]] [[./][org/]] * Vim Syntax highlighting ** filetype #+HEADER: :tangle "../sundry/editor-syntax-etc/vim/filetype.vim" #+BEGIN_SRC text " SiSU filetype file if exists("did_load_filetypes") finish endif augroup filetypedetect au! BufNewFile,BufRead *.sst,*.ssm,*.ssi,*.-sst setf sisu-spine au! BufNewFile,BufRead *._sst,*.sst.meta,*.-sst.meta,*._sst.meta setf sisu-spine augroup END #+END_SRC ** debian vim addon manager #+HEADER: :tangle "../sundry/editor-syntax-etc/vim/vim-sisu.yaml" #+BEGIN_SRC text #vim-addons: debian vim-addon-manager addon: sisu description: SiSU documents - structuring, publishing in multiple formats and search basedir: /usr/share/vim-scripts/ files: - ftplugin/sisu.vim - syntax/sisu.vim #+END_SRC ** markup syntax *** sisu.vim #+HEADER: :tangle "../sundry/editor-syntax-etc/vim/syntax/sisu.vim" #+BEGIN_SRC text " SiSU Vim syntax file " SiSU Maintainer: Ralph Amissah " SiSU Markup: SiSU (sisu-5.6.7) " Last Change: 2017-06-22 " URL: " "(originally looked at Ruby Vim by Mirko Nasato) if version < 600 syntax clear elseif exists("b:current_syntax") finish else endif let s:cpo_save = &cpo set cpo&vim "% "Errors: syn match sisu_error contains=sisu_link,sisu_error_wspace "" "% "Markers Identifiers: if !exists("sisu_no_identifiers") syn match sisu_mark_endnote "\~^" syn match sisu_break contains=@NoSpell " \\\\\( \|$\)\|
\|
" syn match sisu_control contains=@NoSpell "^\(-\\\\-\|=\\\\=\|-\.\.-\|<:p[bn]>\)\s*$" syn match sisu_control contains=@NoSpell "^<:\(bo\|---\)>\s*$" syn match sisu_marktail contains=@NoSpell "^--[+~-]#\s*$" syn match sisu_marktail "[~-]#" syn match sisu_control "\"" syn match sisu_underline "\(^\| \)_[a-zA-Z0-9]\+_\([ .,]\|$\)" syn match sisu_number contains=@NoSpell "[0-9a-f]\{32\}\|[0-9a-f]\{64\}" syn match sisu_link contains=@NoSpell "\(_\?https\?://\|\.\.\/\)\S\+" syn match sisu_link " \*\~\S\+" syn match sisu_require contains=@NoSpell "^<<\s*[a-zA-Z0-9^./_-]\+\.ss[it]$" syn match sisu_structure "^:A\~$" "% "Document Sub Headers: syn match sisu_sub_header_title "^\s\+:\(subtitle\|short\|edition\|language\|lang_char\|note\):\s" "group=sisu_header_content syn match sisu_sub_header_creator "^\s\+:\(author\|editor\|contributor\|illustrator\|photographer\|translator\|digitized_by\|prepared_by\|audio\|video\):\s" " &hon &institution syn match sisu_sub_header_rights "^\s\+:\(copyright\|text\|translation\|illustrations\|photographs\|preparation\|digitization\|audio\|video\|license\|all\):\s" " access_rights license syn match sisu_sub_header_classify "^\s\+:\(topic_register\|keywords\|subject\|dewey\|loc\):\s" syn match sisu_sub_header_identifier "^\s\+:\(oclc\|isbn\):\s" syn match sisu_sub_header_date "^\s\+:\(added_to_site\|available\|created\|issued\|modified\|published\|valid\|translated\|original_publication\):\s" syn match sisu_sub_header_original "^\s\+:\(publisher\|date\|language\|lang_char\|institution\|nationality\|source\):\s" syn match sisu_sub_header_make "^\s\+:\(headings\|num_top\|breaks\|language\|italics\|bold\|emphasis\|substitute\|omit\|plaintext_wrap\|texpdf_font_mono\|texpdf_font\|stamp\|promo\|ad\|manpage\|home_button_text\|home_button_image\|cover_image\|footer\):\s" syn match sisu_sub_header_notes "^\s\+:\(description\|abstract\|comment\|coverage\|relation\|source\|history\|type\|format\|prefix\|prefix_[ab]\|suffix\):\s" syn match sisu_within_index_ignore "\S\+[:;]\(\s\+\|$\)" syn match sisu_within_index "[:|;]\|+\d\+" "% "semantic markers: (ignore) syn match sisu_sem_marker ";{\|};[a-z._]*[a-z]" syn match sisu_sem_marker_block "\([a-z][a-z._]*\|\):{\|}:[a-z._]*[a-z]" syn match sisu_sem_ex_marker ";\[\|\];[a-z._]*[a-z]" syn match sisu_sem_ex_marker_block "\([a-z][a-z._]*\|\):\[\|\]:[a-z._]*[a-z]" syn match sisu_sem_block contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_mark_endnote,sisu_content_endnote "\([a-z]*\):{[^}].\{-}}:\1" syn match sisu_sem_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker ";{[^}].\{-}};[a-z]\+" syn match sisu_sem_ex_block contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_mark_endnote,sisu_content_endnote "\([a-z]*\):\[[^}].\{-}\]:\1" syn match sisu_sem_ex_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker ";\[[^}].\{-}\];[a-z]\+" endif "% "URLs Numbers And ASCII Codes: syn match sisu_number "\<\(0x\x\+\|0b[01]\+\|0\o\+\|0\.\d\+\|0\|[1-9][\.0-9_]*\)\>" syn match sisu_number "?\(\\M-\\C-\|\\c\|\\C-\|\\M-\)\=\(\\\o\{3}\|\\x\x\{2}\|\\\=\w\)" "% "Tuned Error: (is error if not already matched) syn match sisu_error contains=sisu_error "[\~/\*!_]{\|}[\~/\*!_]" syn match sisu_error contains=sisu_error "]" "% "Simple Paired Enclosed Markup: "url/link syn region sisu_link contains=sisu_error,sisu_error_wspace matchgroup=sisu_action start="^<<\s*|[a-zA-Z0-9^._-]\+|@|[a-zA-Z0-9^._-]\+|"rs=s+2 end="$" "% "Document Header: " title syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_title matchgroup=sisu_header start="^[@]title:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " creator syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_creator matchgroup=sisu_header start="^[@]creator:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " dates syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_date matchgroup=sisu_header start="^[@]date:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " publisher syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_publisher matchgroup=sisu_header start="^[@]publisher:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " rights syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_rights matchgroup=sisu_header start="^[@]rights:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " classify document syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_classify matchgroup=sisu_header start="^[@]classify:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " identifier document syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_identifier matchgroup=sisu_header start="^[@]identifier:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " original language (depreciated) syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_original matchgroup=sisu_header start="^[@]original:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " notes syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_notes matchgroup=sisu_header start="^[@]notes:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " links of interest syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_linked,sisu_sub_header_links matchgroup=sisu_header start="^[@]links:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " make, processing instructions syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_make matchgroup=sisu_header start="^[@]make:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" "% "Headings: syn region sisu_heading contains=sisu_mark_endnote,sisu_content_endnote,sisu_marktail,sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_ocn,sisu_error,sisu_error_wspace matchgroup=sisu_structure start="^\([1-4]\|:\?[A-D]\)\~\(\S\+\|[^-]\)" end="$" "% "Block Group Text: " table syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^table{.\+" end="}table" " table syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^```\s\+table" end="^```\(\s\|$\)" syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^{\(t\|table\)\(\~h\)\?\(\sc[0-9]\+;\)\?[0-9; ]*}" end="\n$" " block, group, poem, alt syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^\z(block\|group\|poem\|alt\){" end="^}\z1" syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^```\s\+\(block\|group\|poem\|alt\)" end="^```\(\s\|$\)" " box syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^box\(\.[a-z]\+\)\?{" end="^}box" syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^```\s\+\box\(\.[a-z]\+\)\?" end="^```\(\s\|$\)" " code syn region sisu_content_alt contains=sisu_error,@NoSpell matchgroup=sisu_contain start="^code\(\.[a-z][0-9a-z_]\+\)\?{" end="^}code" syn region sisu_content_alt contains=sisu_error,@NoSpell matchgroup=sisu_contain start="^```\s\+code\(\.[a-z][0-9a-z_]\+\)\?" end="^```\(\s\|$\)" " quote syn region sisu_normal contains=sisu_fontface,sisu_bold,sisu_control,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_contain start="^```\s\+quote" end="^```\(\s\|$\)" "% "Endnotes: " regular endnote or asterisk or plus sign endnote syn region sisu_content_endnote contains=sisu_link,sisu_strikeout,sisu_underline,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error,sisu_error_wspace,sisu_mark,sisu_break,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker matchgroup=sisu_mark_endnote start="\~{[*+]*" end="}\~" skip="\n" " numbered asterisk or plus sign endnote syn region sisu_content_endnote contains=sisu_link,sisu_strikeout,sisu_underline,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error,sisu_error_wspace,sisu_mark,sisu_break,sisu_sem_block,sisu_sem_content,sisu_sem_marker matchgroup=sisu_mark_endnote start="\~\[[*+]*" end="\]\~" skip="\n" " endnote content marker (for binary content marking) syn region sisu_content_endnote contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_link,sisu_identifier,sisu_error,sisu_error_wspace,sisu_mark,sisu_break matchgroup=sisu_mark_endnote start="\^\~" end="\n$" "% "Links And Images: " image with url link (and possibly footnote of url) syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_sem_block,sisu_error matchgroup=sisu_link start="{\(\~^\s\)\?" end="}\(https\?:/\/\|:\|\.\.\/\|#\)\S\+" oneline " sisu outputs, short notation syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_sem_block,sisu_error matchgroup=sisu_link start="{\(\~^\s\)\?" end="\[[1-5][sS]*\]}\S\+\.ss[tm]" oneline " image syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_link start="{" end="}image" oneline "% "Some Line Operations: " bold line syn region sisu_bold contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^!_ " end=" \\\\\|$" " indent and bullet paragraph syn region sisu_normal contains=sisu_fontface,sisu_bold,sisu_control,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^_\([1-9*]\|[1-9]\*\) " end="$" " indent and bullet (bold start) paragraph syn region sisu_bold contains=sisu_fontface,sisu_bold,sisu_control,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^_\([1-9*]\|[1-9]\*\)!_\? " end=" \\\\\|$" " hanging indent paragraph [proposed] syn region sisu_normal contains=sisu_fontface,sisu_bold,sisu_control,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^_[0-9]\?_[0-9] " end="$" " hanging indent (bold start/ definition) paragraph [proposed] syn region sisu_bold contains=sisu_fontface,sisu_bold,sisu_control,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^_[0-9]\?_[0-9]!_\? " end=" \\\\\|$" " list numbering syn region sisu_normal contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^\(#[ 1]\|_# \)" end="$" "% "Font Face Curly Brackets: "syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_sem start="\S\+:{" end="}:[^<>,.!?:; ]\+" oneline " book index: syn region sisu_index contains=sisu_within_index_ignore,sisu_within_index matchgroup=sisu_index_block start="^={" end="}" " emphasis: syn region sisu_bold contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="\*{" end="}\*" " bold: syn region sisu_bold contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="!{" end="}!" " underscore: syn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="_{" end="}_" " italics: syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="/{" end="}/" " added: syn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="+{" end="}+" " superscript: syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="\^{" end="}\^" " subscript: syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start=",{" end="}," " monospace: syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="#{" end="}#" " strikethrough: syn region sisu_strikeout contains=sisu_error matchgroup=sisu_fontface start="-{" end="}-" "% "Single Words Bold Italicise Etc: (depreciated) syn region sisu_bold contains=sisu_error matchgroup=sisu_bold start="\([ (]\|^\)\*[^\|{\n\~\\]"hs=e-1 end="\*"he=e-0 skip="[a-zA-Z0-9']" oneline syn region sisu_identifier contains=sisu_error matchgroup=sisu_content_alt start="\([ ]\|^\)/[^{ \|\n\\]"hs=e-1 end="/\[ \.\]" skip="[a-zA-Z0-9']" oneline "misc syn region sisu_identifier contains=sisu_error matchgroup=sisu_fontface start="\^[^ {\|\n\\]"rs=s+1 end="\^[ ,.;:'})\\\n]" skip="[a-zA-Z0-9']" oneline "% "Expensive Mode: if !exists("sisu_no_expensive") else " not Expensive syn region sisu_content_alt matchgroup=sisu_control start="^\s*def\s" matchgroup=NONE end="[?!]\|\>" skip="\.\|\(::\)" oneline endif " Expensive? "% "Headers And Headings: (Document Instructions) syn match sisu_control contains=sisu_error,sisu_error_wspace "4\~! \S\+" syn region sisu_markpara contains=sisu_error,sisu_error_wspace start="^=begin" end="^=end.*$" "% "Errors: syn match sisu_error_wspace contains=sisu_error_wspace "^\s\+[^:]" syn match sisu_error_wspace contains=sisu_error_wspace "\s\s\+" syn match sisu_error_wspace contains=sisu_error_wspace "\s\+$" syn match sisu_error contains=sisu_error_wspace "\t\+" syn match sisu_error contains=sisu_error,sisu_error_wspace "\([^ (][_\\]\||[^ (}]\)https\?:\S\+" syn match sisu_error contains=sisu_error "_\?https\?:\S\+[}><]" syn match sisu_error contains=sisu_error "\([!*/_\+,^]\){\([^(\}\1)]\)\{-}\n$" syn match sisu_error contains=sisu_error "^[\~]{[^{]\{-}\n$" syn match sisu_error contains=sisu_error "\s\+.{{" syn match sisu_error contains=sisu_error "^\~\s*$" syn match sisu_error contains=sisu_error "^0\~.*" syn match sisu_error contains=sisu_error "^[1-9]\~\s*$" syn match sisu_error contains=sisu_error "^[1-9]\~\S\+\s*$" syn match sisu_error contains=sisu_error "[^{]\~\^[^ \)]" syn match sisu_error contains=sisu_error "\~\^\s\+\.\s*" syn match sisu_error contains=sisu_error "{\~^\S\+" syn match sisu_error contains=sisu_error "[_/\*!^]{[ .,:;?><]*}[_/\*!^]" syn match sisu_error contains=sisu_error "[^ (\"'(\[][_/\*!]{\|}[_/\*!][a-zA-Z0-9)\]\"']" syn match sisu_error contains=sisu_error "" "errors for filetype sisu, though not error in 'metaverse': syn match sisu_error contains=sisu_error,sisu_match,sisu_strikeout,sisu_contain,sisu_content_alt,sisu_mark,sisu_break,sisu_number "<[a-zA-Z\/]\+>" syn match sisu_error "/\?<\([biu]\)>[^()]\{-}\n$" "% "Error Exceptions: syn match sisu_control "\n$" "contains=ALL "syn match sisu_control " //" syn match sisu_error "%{" syn match sisu_error "
_\?https\?:\S\+\|_\?https\?:\S\+
" syn match sisu_error "[><]_\?https\?:\S\+\|_\?https\?:\S\+[><]" syn match sisu_comment "^%\{1,2\}.\+" "% "Definitions Default Highlighting: hi def link sisu_normal Normal hi def link sisu_bold Statement hi def link sisu_header PreProc hi def link sisu_header_content Normal hi def link sisu_sub_header_title Statement hi def link sisu_sub_header_creator Statement hi def link sisu_sub_header_date Statement hi def link sisu_sub_header_publisher Statement hi def link sisu_sub_header_rights Statement hi def link sisu_sub_header_classify Statement hi def link sisu_sub_header_identifier Statement hi def link sisu_sub_header_original Statement hi def link sisu_sub_header_links Statement hi def link sisu_sub_header_notes Statement hi def link sisu_sub_header_make Statement hi def link sisu_heading Title hi def link sisu_structure Operator hi def link sisu_contain Include hi def link sisu_mark_endnote Delimiter hi def link sisu_require NonText hi def link sisu_link NonText hi def link sisu_linked String hi def link sisu_fontface Delimiter hi def link sisu_strikeout DiffDelete hi def link sisu_content_alt Special hi def link sisu_sem_content SpecialKey hi def link sisu_sem_block Special hi def link sisu_sem_marker Visual "hi def link sisu_sem_marker Structure hi def link sisu_sem_marker_block MatchParen hi def link sisu_sem_ex_marker FoldColumn hi def link sisu_sem_ex_marker_block Folded hi def link sisu_sem_ex_content Comment "hi def link sisu_sem_ex_content SpecialKey hi def link sisu_sem_ex_block Comment hi def link sisu_index SpecialKey hi def link sisu_index_block Visual hi def link sisu_content_endnote Special hi def link sisu_control Delimiter hi def link sisu_within_index Delimiter hi def link sisu_within_index_ignore SpecialKey hi def link sisu_ocn Include hi def link sisu_number Number hi def link sisu_identifier Function hi def link sisu_underline Underlined hi def link sisu_markpara Include hi def link sisu_marktail Include hi def link sisu_mark Identifier hi def link sisu_break Structure hi def link sisu_html Type hi def link sisu_action Identifier hi def link sisu_comment Comment hi def link sisu_error_sem_marker Error hi def link sisu_error_wspace Error hi def link sisu_error Error let b:current_syntax = "sisu" let &cpo = s:cpo_save unlet s:cpo_save #+END_SRC *** sisu-spine.vim #+HEADER: :tangle "../sundry/editor-syntax-etc/vim/syntax/sisu-spine.vim" #+BEGIN_SRC text " SiSU Vim syntax file (sisu-spine) " SiSU Maintainer: Ralph Amissah " SiSU Markup: SiSU (sisu-5.6.7) " sisu-spine Markup: sisu-spine " Last Change: 2017-06-22, 2025-02-21 " URL: " " "(originally looked at Ruby Vim by Mirko Nasato) if version < 600 syntax clear elseif exists("b:current_syntax") finish else endif let s:cpo_save = &cpo set cpo&vim "% "Errors: syn match sisu_error contains=sisu_link,sisu_error_wspace "" "% "Markers Identifiers: if !exists("sisu_no_identifiers") syn match sisu_mark_endnote "\~^" syn match sisu_break contains=@NoSpell " \\\\\( \|$\)\|
\|
" syn match sisu_control contains=@NoSpell "^\(-\\\\-\|=\\\\=\|-\.\.-\|<:p[bn]>\)\s*$" syn match sisu_control contains=@NoSpell "^<:\(bo\|---\)>\s*$" syn match sisu_marktail contains=@NoSpell "^--[+~-]#\s*$" syn match sisu_marktail "[~-]#" syn match sisu_control "\"" syn match sisu_underline "\(^\| \)_[a-zA-Z0-9]\+_\([ .,]\|$\)" syn match sisu_number contains=@NoSpell "[0-9a-f]\{32\}\|[0-9a-f]\{64\}" syn match sisu_link contains=@NoSpell "\(_\?https\?://\|\.\.\/\)\S\+" syn match sisu_link " \*\~\S\+" syn match sisu_require contains=@NoSpell "^<<\s*[a-zA-Z0-9^./_-]\+\.ss[it]$" syn match sisu_structure "^:A\~$" "% "Document Sub Headers: syn match sisu_sub_header_title "^\s\+:\(subtitle\|short\|edition\|language\|lang_char\|note\):\s" "group=sisu_header_content syn match sisu_sub_header_creator "^\s\+:\(author\|editor\|contributor\|illustrator\|photographer\|translator\|digitized_by\|prepared_by\|audio\|video\):\s" " &hon &institution syn match sisu_sub_header_rights "^\s\+:\(copyright\|text\|translation\|illustrations\|photographs\|preparation\|digitization\|audio\|video\|license\|all\):\s" " access_rights license syn match sisu_sub_header_classify "^\s\+:\(topic_register\|keywords\|subject\|dewey\|loc\):\s" syn match sisu_sub_header_identifier "^\s\+:\(oclc\|isbn\):\s" syn match sisu_sub_header_date "^\s\+:\(added_to_site\|available\|created\|issued\|modified\|published\|valid\|translated\|original_publication\):\s" syn match sisu_sub_header_original "^\s\+:\(publisher\|date\|language\|lang_char\|institution\|nationality\|source\):\s" syn match sisu_sub_header_make "^\s\+:\(headings\|num_top\|breaks\|language\|italics\|bold\|emphasis\|substitute\|omit\|plaintext_wrap\|texpdf_font_mono\|texpdf_font\|stamp\|promo\|ad\|manpage\|home_button_text\|home_button_image\|cover_image\|footer\):\s" syn match sisu_sub_header_notes "^\s\+:\(description\|abstract\|comment\|coverage\|relation\|source\|history\|type\|format\|prefix\|prefix_[ab]\|suffix\):\s" syn match sisu_within_index_ignore "\S\+[:;]\(\s\+\|$\)" syn match sisu_within_index "[:|;]\|+\d\+" "% "semantic markers: (ignore) syn match sisu_sem_marker ";{\|};[a-z._]*[a-z]" syn match sisu_sem_marker_block "\([a-z][a-z._]*\|\):{\|}:[a-z._]*[a-z]" syn match sisu_sem_ex_marker ";\[\|\];[a-z._]*[a-z]" syn match sisu_sem_ex_marker_block "\([a-z][a-z._]*\|\):\[\|\]:[a-z._]*[a-z]" syn match sisu_sem_block contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_mark_endnote,sisu_content_endnote "\([a-z]*\):{[^}].\{-}}:\1" syn match sisu_sem_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker ";{[^}].\{-}};[a-z]\+" syn match sisu_sem_ex_block contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_mark_endnote,sisu_content_endnote "\([a-z]*\):\[[^}].\{-}\]:\1" syn match sisu_sem_ex_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker ";\[[^}].\{-}\];[a-z]\+" endif "% "URLs Numbers And ASCII Codes: syn match sisu_number "\<\(0x\x\+\|0b[01]\+\|0\o\+\|0\.\d\+\|0\|[1-9][\.0-9_]*\)\>" syn match sisu_number "?\(\\M-\\C-\|\\c\|\\C-\|\\M-\)\=\(\\\o\{3}\|\\x\x\{2}\|\\\=\w\)" "% "Tuned Error: (is error if not already matched) syn match sisu_error contains=sisu_error "[\~/\*!_]{\|}[\~/\*!_]" syn match sisu_error contains=sisu_error "
]" "% "Simple Paired Enclosed Markup: "url/link syn region sisu_link contains=sisu_error,sisu_error_wspace matchgroup=sisu_action start="^<<\s*|[a-zA-Z0-9^._-]\+|@|[a-zA-Z0-9^._-]\+|"rs=s+2 end="$" "% "Document Header: " title syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_title matchgroup=sisu_header start="^[@]title:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " creator syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_creator matchgroup=sisu_header start="^[@]creator:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " dates syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_date matchgroup=sisu_header start="^[@]date:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " publisher syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_publisher matchgroup=sisu_header start="^[@]publisher:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " rights syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_rights matchgroup=sisu_header start="^[@]rights:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " classify document syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_classify matchgroup=sisu_header start="^[@]classify:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " identifier document syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_identifier matchgroup=sisu_header start="^[@]identifier:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " original language (depreciated) syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_original matchgroup=sisu_header start="^[@]original:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " notes syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_notes matchgroup=sisu_header start="^[@]notes:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " links of interest syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_linked,sisu_sub_header_links matchgroup=sisu_header start="^[@]links:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" " make, processing instructions syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_make matchgroup=sisu_header start="^[@]make:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$" "% "Headings: syn region sisu_heading contains=sisu_mark_endnote,sisu_content_endnote,sisu_marktail,sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_ocn,sisu_error,sisu_error_wspace matchgroup=sisu_structure start="^\([1-4]\|:\?[A-D]\)\~\(\S\+\|[^-]\)" end="$" "% "Block Group Text: " table syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^table{.\+" end="}table" " table syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^```\s\+table" end="^```\(\s\|$\)" syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^'''\s\+table" end="^'''\(\s\|$\)" syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^{\(t\|table\)\(\~h\)\?\(\sc[0-9]\+;\)\?[0-9; ]*}" end="\n$" " block, group, poem, alt syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^\z(block\|group\|poem\|alt\){" end="^}\z1" syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^```\s\+\(block\|group\|poem\|alt\)" end="^```\(\s\|$\)" syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^'''\s\+\(block\|group\|poem\|alt\)" end="^'''\(\s\|$\)" " box syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^box\(\.[a-z]\+\)\?{" end="^}box" syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^```\s\+\box\(\.[a-z]\+\)\?" end="^```\(\s\|$\)" syn region sisu_content_alt contains=sisu_mark_endnote,sisu_content_endnote,sisu_link,sisu_mark,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^'''\s\+\box\(\.[a-z]\+\)\?" end="^'''\(\s\|$\)" " code syn region sisu_content_alt contains=sisu_error,@NoSpell matchgroup=sisu_contain start="^code\(\.[a-z][0-9a-z_]\+\)\?{" end="^}code" syn region sisu_content_alt contains=sisu_error,@NoSpell matchgroup=sisu_contain start="^```\s\+code\(\.[a-z][0-9a-z_]\+\)\?" end="^```\(\s\|$\)" syn region sisu_content_alt contains=sisu_error,@NoSpell matchgroup=sisu_contain start="^'''\s\+code\(\.[a-z][0-9a-z_]\+\)\?" end="^'''\(\s\|$\)" " quote syn region sisu_normal contains=sisu_fontface,sisu_bold,sisu_control,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_contain start="^```\s\+quote" end="^```\(\s\|$\)" syn region sisu_normal contains=sisu_fontface,sisu_bold,sisu_control,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_contain start="^'''\s\+quote" end="^'''\(\s\|$\)" "% "Endnotes: " regular endnote or asterisk or plus sign endnote syn region sisu_content_endnote contains=sisu_link,sisu_strikeout,sisu_underline,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error,sisu_error_wspace,sisu_mark,sisu_break,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker matchgroup=sisu_mark_endnote start="\~{[*+]*" end="}\~" skip="\n" " numbered asterisk or plus sign endnote syn region sisu_content_endnote contains=sisu_link,sisu_strikeout,sisu_underline,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error,sisu_error_wspace,sisu_mark,sisu_break,sisu_sem_block,sisu_sem_content,sisu_sem_marker matchgroup=sisu_mark_endnote start="\~\[[*+]*" end="\]\~" skip="\n" " endnote content marker (for binary content marking) syn region sisu_content_endnote contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_link,sisu_identifier,sisu_error,sisu_error_wspace,sisu_mark,sisu_break matchgroup=sisu_mark_endnote start="\^\~" end="\n$" "% "Links And Images: " image with url link (and possibly footnote of url) syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_sem_block,sisu_error matchgroup=sisu_link start="{\(\~^\s\)\?" end="}\(https\?:/\/\|:\|\.\.\/\|#\)\S\+" oneline " sisu outputs, short notation syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_sem_block,sisu_error matchgroup=sisu_link start="{\(\~^\s\)\?" end="\[[1-5][sS]*\]}\S\+\.ss[tm]" oneline " image syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_link start="{" end="}image" oneline "% "Some Line Operations: " bold line syn region sisu_bold contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^!_ " end=" \\\\\|$" " indent and bullet paragraph syn region sisu_normal contains=sisu_fontface,sisu_bold,sisu_control,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^_\([1-9*]\|[1-9]\*\) " end="$" " indent and bullet (bold start) paragraph syn region sisu_bold contains=sisu_fontface,sisu_bold,sisu_control,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^_\([1-9*]\|[1-9]\*\)!_\? " end=" \\\\\|$" " hanging indent paragraph [proposed] syn region sisu_normal contains=sisu_fontface,sisu_bold,sisu_control,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^_[0-9]\?_[0-9] " end="$" " hanging indent (bold start/ definition) paragraph [proposed] syn region sisu_bold contains=sisu_fontface,sisu_bold,sisu_control,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^_[0-9]\?_[0-9]!_\? " end=" \\\\\|$" " list numbering syn region sisu_normal contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^\(#[ 1]\|_# \)" end="$" "% "Font Face Curly Brackets: "syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_sem start="\S\+:{" end="}:[^<>,.!?:; ]\+" oneline " book index: syn region sisu_index contains=sisu_within_index_ignore,sisu_within_index matchgroup=sisu_index_block start="^={" end="}" " emphasis: syn region sisu_bold contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="\*{" end="}\*" " bold: syn region sisu_bold contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="!{" end="}!" " underscore: syn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="_{" end="}_" " italics: syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="/{" end="}/" " added: syn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="+{" end="}+" " superscript: syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="\^{" end="}\^" " subscript: syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start=",{" end="}," " monospace: syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_bold,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="#{" end="}#" " strikethrough: syn region sisu_strikeout contains=sisu_error matchgroup=sisu_fontface start="-{" end="}-" "% "Single Words Bold Italicise Etc: (depreciated) syn region sisu_bold contains=sisu_error matchgroup=sisu_bold start="\([ (]\|^\)\*[^\|{\n\~\\]"hs=e-1 end="\*"he=e-0 skip="[a-zA-Z0-9']" oneline syn region sisu_identifier contains=sisu_error matchgroup=sisu_content_alt start="\([ ]\|^\)/[^{ \|\n\\]"hs=e-1 end="/\[ \.\]" skip="[a-zA-Z0-9']" oneline "misc syn region sisu_identifier contains=sisu_error matchgroup=sisu_fontface start="\^[^ {\|\n\\]"rs=s+1 end="\^[ ,.;:'})\\\n]" skip="[a-zA-Z0-9']" oneline "% "Expensive Mode: if !exists("sisu_no_expensive") else " not Expensive syn region sisu_content_alt matchgroup=sisu_control start="^\s*def\s" matchgroup=NONE end="[?!]\|\>" skip="\.\|\(::\)" oneline endif " Expensive? "% "Headers And Headings: (Document Instructions) syn match sisu_control contains=sisu_error,sisu_error_wspace "4\~! \S\+" syn region sisu_markpara contains=sisu_error,sisu_error_wspace start="^=begin" end="^=end.*$" "% "Errors: syn match sisu_error_wspace contains=sisu_error_wspace "^\s\+[^:]" syn match sisu_error_wspace contains=sisu_error_wspace "\s\s\+" syn match sisu_error_wspace contains=sisu_error_wspace "\s\+$" syn match sisu_error contains=sisu_error_wspace "\t\+" syn match sisu_error contains=sisu_error,sisu_error_wspace "\([^ (][_\\]\||[^ (}]\)https\?:\S\+" syn match sisu_error contains=sisu_error "_\?https\?:\S\+[}><]" syn match sisu_error contains=sisu_error "\([!*/_\+,^]\){\([^(\}\1)]\)\{-}\n$" syn match sisu_error contains=sisu_error "^[\~]{[^{]\{-}\n$" syn match sisu_error contains=sisu_error "\s\+.{{" syn match sisu_error contains=sisu_error "^\~\s*$" syn match sisu_error contains=sisu_error "^0\~.*" syn match sisu_error contains=sisu_error "^[1-9]\~\s*$" syn match sisu_error contains=sisu_error "^[1-9]\~\S\+\s*$" syn match sisu_error contains=sisu_error "[^{]\~\^[^ \)]" syn match sisu_error contains=sisu_error "\~\^\s\+\.\s*" syn match sisu_error contains=sisu_error "{\~^\S\+" syn match sisu_error contains=sisu_error "[_/\*!^]{[ .,:;?><]*}[_/\*!^]" syn match sisu_error contains=sisu_error "[^ (\"'(\[][_/\*!]{\|}[_/\*!][a-zA-Z0-9)\]\"']" syn match sisu_error contains=sisu_error "" "errors for filetype sisu, though not error in 'metaverse': syn match sisu_error contains=sisu_error,sisu_match,sisu_strikeout,sisu_contain,sisu_content_alt,sisu_mark,sisu_break,sisu_number "<[a-zA-Z\/]\+>" syn match sisu_error "/\?<\([biu]\)>[^()]\{-}\n$" "% "Error Exceptions: syn match sisu_control "\n$" "contains=ALL "syn match sisu_control " //" syn match sisu_error "%{" syn match sisu_error "
_\?https\?:\S\+\|_\?https\?:\S\+
" syn match sisu_error "[><]_\?https\?:\S\+\|_\?https\?:\S\+[><]" syn match sisu_comment "^%\{1,2\}.\+" "% "Definitions Default Highlighting: hi def link sisu_normal Normal hi def link sisu_bold Statement hi def link sisu_header PreProc hi def link sisu_header_content Normal hi def link sisu_sub_header_title Statement hi def link sisu_sub_header_creator Statement hi def link sisu_sub_header_date Statement hi def link sisu_sub_header_publisher Statement hi def link sisu_sub_header_rights Statement hi def link sisu_sub_header_classify Statement hi def link sisu_sub_header_identifier Statement hi def link sisu_sub_header_original Statement hi def link sisu_sub_header_links Statement hi def link sisu_sub_header_notes Statement hi def link sisu_sub_header_make Statement hi def link sisu_heading Title hi def link sisu_structure Operator hi def link sisu_contain Include hi def link sisu_mark_endnote Delimiter hi def link sisu_require NonText hi def link sisu_link NonText hi def link sisu_linked String hi def link sisu_fontface Delimiter hi def link sisu_strikeout DiffDelete hi def link sisu_content_alt Special hi def link sisu_sem_content SpecialKey hi def link sisu_sem_block Special hi def link sisu_sem_marker Visual "hi def link sisu_sem_marker Structure hi def link sisu_sem_marker_block MatchParen hi def link sisu_sem_ex_marker FoldColumn hi def link sisu_sem_ex_marker_block Folded hi def link sisu_sem_ex_content Comment "hi def link sisu_sem_ex_content SpecialKey hi def link sisu_sem_ex_block Comment hi def link sisu_index SpecialKey hi def link sisu_index_block Visual hi def link sisu_content_endnote Special hi def link sisu_control Delimiter hi def link sisu_within_index Delimiter hi def link sisu_within_index_ignore SpecialKey hi def link sisu_ocn Include hi def link sisu_number Number hi def link sisu_identifier Function hi def link sisu_underline Underlined hi def link sisu_markpara Include hi def link sisu_marktail Include hi def link sisu_mark Identifier hi def link sisu_break Structure hi def link sisu_html Type hi def link sisu_action Identifier hi def link sisu_comment Comment hi def link sisu_error_sem_marker Error hi def link sisu_error_wspace Error hi def link sisu_error Error let b:current_syntax = "sisu" let &cpo = s:cpo_save unlet s:cpo_save #+END_SRC ** color files *** def.vim #+HEADER: :tangle "../sundry/editor-syntax-etc/vim/colors/def.vim" #+BEGIN_SRC text "%% Vim color file " Name: def " Maintainer: Ralph Amissah " Last Change: 2013-02-14, 2016-07-28, 2022-09-05 " URL: " " Note: primarily 16 color cterm improved by tweaking of .Xdefaults " (with occasional other colors selected from 256 color palate) " .Xdefaults tweaking to make identical to def (256) provided, " along with an alternative possibility using colors beyond " 256 color palate : hi clear : if exists("syntax_on") | syntax reset | endif : let colors_name = "def" : set t_Co=256 : set background=dark " ------- " terminal def " ------- : hi Normal ctermfg=7 ctermbg=236 : hi Cursor ctermfg=0 ctermbg=166 : hi lCursor cterm=reverse : hi CursorLine cterm=bold,underline "ctermul=166 "bg:236,59 : hi CursorLineNr cterm=bold ctermfg=0 ctermbg=166 : hi LineNr cterm=bold ctermfg=59 ctermbg=16 : hi StatusLine cterm=bold,reverse : hi StatusLineNC cterm=reverse : hi StatusLineTerm cterm=bold ctermfg=15 ctermbg=2 : hi StatusLineTermNC ctermfg=15 ctermbg=2 : hi ColorColumn cterm=none ctermfg=231 ctermbg=236 "bg:233,59,242,67 " hi ColorColumn cterm=inverse " hi ColorColumn ctermfg=16 ctermbg=235 " hi ColorColumn ctermfg=5 ctermbg=90 : hi Folded cterm=none ctermfg=67 ctermbg=16 "fg:248,59,242,3,2,67 " hi Folded cterm=none ctermfg=59 ctermbg=16 "fg:248,59,242,3 : hi FoldColumn ctermfg=4 ctermbg=69 : hi Search cterm=none ctermfg=0 ctermbg=57 "bg:57,11 : hi IncSearch cterm=none ctermfg=0 ctermbg=154 : hi SpecialKey ctermfg=4 : hi Visual cterm=reverse : hi VisualNOS cterm=bold,underline : hi MoreMsg ctermfg=2 : hi ModeMsg cterm=bold : hi Question ctermfg=2 : hi Title cterm=bold ctermfg=3 : hi NonText cterm=bold ctermfg=4 : hi Directory ctermfg=4 : hi WildMenu ctermfg=0 ctermbg=3 : hi VertSplit cterm=reverse : hi DiffAdd cterm=none ctermfg=0 ctermbg=2 : hi DiffChange cterm=none ctermfg=0 ctermbg=7 : hi DiffDelete cterm=none ctermfg=0 ctermbg=7 : hi DiffText cterm=none ctermfg=0 ctermbg=6 : hi String cterm=none ctermfg=3 : hi Comment cterm=none ctermfg=4 : hi Constant ctermfg=1 : hi Special ctermfg=6 "fg:67,140,5 : hi Identifier cterm=none ctermfg=2 "bg:172,4,2 (default usually bold; choose orange, blue or lime green) : hi Statement ctermfg=4 : hi Operator ctermfg=2 : hi PreProc ctermfg=1 "fg:2,5,140 : hi Type ctermfg=3 "fg:67,2 : hi Include ctermfg=1 "fg:124,140,5 : hi Delimiter cterm=none ctermfg=2 : hi Ignore cterm=bold ctermfg=7 : hi Todo ctermfg=0 ctermbg=3 : hi Underlined cterm=underline "ctermul=166 "fg:4,6 : hi Define ctermfg=3 : hi Function ctermfg=6 : hi Structure ctermfg=2 : hi MatchParen cterm=bold ctermfg=7 ctermbg=4 : hi SpellBad cterm=underline ctermfg=5 ctermbg=0 : hi SpellCap cterm=underline ctermfg=5 ctermbg=0 : hi SpellLocal cterm=underline ctermfg=5 ctermbg=0 : hi SpellRare cterm=underline ctermfg=5 ctermbg=0 : hi TrailingWhitespace ctermbg=1 : hi ExtraWhitespace ctermbg=1 : hi WarningMsg ctermfg=1 : hi ErrorMsg cterm=bold ctermfg=7 ctermbg=1 : hi Error cterm=bold ctermfg=7 ctermbg=1 : if &diff : highlight! link DiffText MatchParen : endif " ------- " gui def " ------- : hi Normal guifg=#D3D3D3 guibg=#000000 : hi Cursor guifg=#000000 guibg=#CC9966 : hi lCursor gui=reverse : hi CursorLine gui=bold : hi CursorLineNr gui=bold guifg=#000000 guibg=#D75F00 : hi CursorColumn guibg=#00005F : hi LineNr gui=bold guifg=#808080 guibg=#000000 : hi StatusLine gui=bold,reverse : hi StatusLineNC gui=reverse : hi Search gui=none guifg=#000000 guibg=#5F00FF : hi IncSearch gui=none guifg=#000000 guibg=#AFFF00 : hi SpecialKey guifg=#5971AD : hi Visual gui=reverse : hi VisualNOS gui=bold,underline : hi MoreMsg guifg=#4E9A06 : hi ModeMsg gui=bold : hi Question guifg=#4E9A06 : hi Title gui=bold guifg=#C4A000 : hi NonText gui=bold guifg=#5971AD : hi Directory guifg=#5971AD : hi WildMenu guifg=#000000 guibg=#C4A000 : hi VertSplit gui=reverse : hi Folded gui=none guifg=#808080 guibg=#000000 : hi FoldColumn guifg=#5971AD guibg=#D3D3D3 : hi DiffAdd gui=none guifg=#000000 guibg=#4E9A06 : hi DiffChange gui=none guifg=#000000 guibg=#D3D3D3 : hi DiffDelete gui=none guifg=#000000 guibg=#D3D3D3 : hi DiffText gui=none guifg=#000000 guibg=#06989A : hi String gui=none guifg=#C4A000 : hi Comment gui=none guifg=#5971AD guibg=#000000 : hi Constant guifg=#CC0000 : hi Special guifg=#06989A : hi Identifier guifg=#06989A : hi Statement guifg=#4E9A06 : hi Operator guifg=#4E9A06 : hi PreProc guifg=#CC0000 : hi Type gui=bold guifg=#C4A000 : hi Delimiter gui=none guifg=#4E9A06 : hi Ignore gui=bold guifg=#D3D3D3 : hi Todo guifg=#000000 guibg=#C4A000 : hi Underlined gui=underline : hi Include guifg=#CC0000 : hi Define guifg=#C4A000 : hi Function guifg=#06989A : hi Structure guifg=#4E9A06 : hi MatchParen gui=bold guifg=#D3D3D3 guibg=#5971AD : hi ColorColumn guibg=#00005F : hi SpellBad gui=underline guifg=#75507B guibg=#000000 : hi SpellCap gui=underline guifg=#75507B guibg=#000000 : hi SpellLocal gui=underline guifg=#75507B guibg=#000000 : hi SpellRare gui=underline guifg=#75507B guibg=#000000 : hi TrailingWhitespace guibg=#080000 : hi ExtraWhitespace guibg=#CC0000 : hi WarningMsg guifg=#CC0000 : hi ErrorMsg gui=bold guifg=#D3D3D3 guibg=#CC0000 : hi Error gui=bold guifg=#D3D3D3 guibg=#CC0000 #+END_SRC *** slate.vim #+HEADER: :tangle "../sundry/editor-syntax-etc/vim/colors/slate.vim" #+BEGIN_SRC text "%% SiSU Vim color file " Name: Slate " Maintainer: Ralph Amissah " Last Change: 2013-02-09, 2022-09-05 " URL: " " " Notes: cterm now uses frugal-sisu 8 colors for term " (for gui originally looked at desert Hans Fugal " (April/May 2003)) : hi clear : if exists("syntax_on") : syntax reset : endif : let colors_name = "slate" : set background=dark " ------- " 0 = black, 1 = red, 2 = green, 3 = yellow/orange, 4 = blue, 5 = magenta, 6 = cyan, 7 = white " ------- : hi Normal ctermbg=0 ctermfg=7 guibg=grey15 guifg=white : hi Cursor term=reverse cterm=reverse guibg=khaki guifg=slategrey : hi lCursor term=reverse cterm=reverse : hi StatusLine term=reverse cterm=bold,reverse gui=none guibg=#c2bfa5 guifg=black : hi StatusLineNC term=reverse cterm=reverse gui=none guibg=#c2bfa5 guifg=grey40 : hi Search term=reverse cterm=none ctermbg=2 ctermfg=0 guibg=peru guifg=wheat : hi IncSearch term=reverse cterm=bold ctermbg=2 ctermfg=7 guibg=black guifg=green : hi SpecialKey term=bold ctermfg=4 guifg=yellowgreen : hi Visual term=reverse cterm=reverse gui=none guibg=olivedrab guifg=khaki : hi VisualNOS term=bold,underline cterm=bold,underline : hi MoreMsg term=bold ctermfg=2 guifg=SeaGreen : hi ModeMsg term=bold cterm=bold guifg=goldenrod : hi Question term=standout ctermfg=2 guifg=springgreen : hi Title term=bold cterm=bold ctermfg=3 gui=bold guifg=gold : hi NonText term=bold cterm=bold ctermfg=4 guibg=grey15 guifg=RoyalBlue : hi LineNr term=underline cterm=bold ctermbg=0 ctermfg=0* guifg=grey50 : hi Directory term=bold ctermfg=4 : hi WildMenu term=standout ctermbg=3 ctermfg=0 guibg=darkyellow guifg=black : hi VertSplit term=reverse cterm=reverse gui=none guibg=#c2bfa5 guifg=grey40 : hi Folded term=standout cterm=none ctermbg=0 ctermfg=7 guibg=black guifg=grey40 : hi FoldColumn term=standout ctermbg=7 ctermfg=4 guibg=black guifg=grey20 : hi DiffChange cterm=none ctermbg=7 ctermfg=0 guibg=darkgrey guifg=white : hi DiffText cterm=none ctermbg=6 ctermfg=0 guibg=darkcyan guifg=white : hi DiffAdd cterm=none ctermbg=2 ctermfg=0 guibg=darkgreen guifg=white : hi DiffDelete cterm=none ctermbg=7 ctermfg=0 guibg=darkgrey guifg=black : hi String cterm=none ctermfg=3 guifg=SkyBlue : hi Comment term=bold cterm=none ctermbg=0 ctermfg=7 guifg=grey40 : hi Constant term=underline ctermfg=1 guifg=#ffa0a0 : hi Special term=bold ctermfg=6 guifg=darkkhaki : hi Identifier term=underline ctermfg=6 guifg=salmon : hi Statement term=bold ctermfg=6 guifg=CornflowerBlue : hi Operator term=bold ctermfg=1 guifg=red : hi PreProc term=underline ctermbg=7 ctermfg=1 guibg=white guifg=red : hi Type term=underline ctermfg=2 guifg=CornflowerBlue : hi Delimiter term=none cterm=none ctermfg=1 : hi Ignore cterm=bold ctermfg=7 guifg=grey40 : hi Todo term=standout ctermbg=3 ctermfg=0 guibg=yellow2 guifg=orangered : hi Underlined term=underline cterm=underline : hi Include ctermfg=1 guifg=red : hi Define ctermfg=3 gui=bold guifg=gold : hi Function ctermfg=6 guifg=navajowhite : hi Structure ctermfg=2 guifg=green : hi MatchParen cterm=bold ctermbg=4 ctermfg=7 : hi CursorLine cterm=bold,underline guibg=black : hi CursorColumn cterm=bold guibg=black : hi SpellBad term=underline,standout cterm=none ctermbg=7 ctermfg=0 guibg=darkmagenta guifg=white : hi SpellCap term=underline,standout cterm=none ctermbg=7 ctermfg=0 : hi SpellLocal term=underline,standout cterm=none ctermbg=7 ctermfg=0 guibg=darkmagenta guifg=white : hi SpellRare term=underline,standout cterm=none ctermbg=7 ctermfg=0 : hi WarningMsg term=standout ctermfg=1 guibg=darkmagenta guifg=salmon : hi ErrorMsg term=standout cterm=bold ctermbg=1 ctermfg=7 guibg=darkmagenta guifg=white : hi Error term=reverse cterm=bold ctermbg=1 ctermfg=7 guibg=darkmagenta guifg=white : if &diff : highlight! link DiffText MatchParen : endif : hi Black ctermbg=grey ctermfg=black guibg=grey guifg=black : hi Red ctermbg=black ctermfg=red guibg=black guifg=red : hi Magenta ctermbg=black ctermfg=magenta guibg=black guifg=magenta : hi Blue ctermbg=black ctermfg=blue guibg=black guifg=blue : hi Cyan ctermbg=black ctermfg=cyan guibg=black guifg=cyan : hi Green ctermbg=black ctermfg=green guibg=black guifg=green : hi Yellow ctermbg=black ctermfg=yellow guibg=black guifg=yellow : hi White ctermbg=black ctermfg=white guibg=black guifg=white #+END_SRC *** def-sisu.vim #+HEADER: :tangle "../sundry/editor-syntax-etc/vim/colors/def-sisu.vim" #+BEGIN_SRC text " Vim color file " Name: def-sisu " Maintainer: Ralph Amissah " Last Change: 2013-02-14 " URL: " " Note: primarily 16 color cterm improved by tweaking of .Xdefaults " (with occasional other colors selected from 256 color palate) " .Xdefaults tweaking to make identical to def (256) provided, " along with an alternative possibility using colors beyond " 256 color palate :hi clear if exists("syntax_on") syntax reset endif :set t_Co=256 :set background=dark :let colors_name = "def-sisu" " ------- " terminal def " ------- :hi Normal ctermbg=0 ctermfg=7 ":hi Cursor ctermbg=5 ctermfg=0 :hi lCursor cterm=reverse :hi StatusLine cterm=bold,reverse :hi StatusLineNC cterm=reverse :hi Search cterm=none ctermbg=57 ctermfg=0 :hi IncSearch cterm=none ctermbg=154 ctermfg=0 :hi SpecialKey ctermfg=4 :hi Visual cterm=reverse :hi VisualNOS cterm=bold,underline :hi MoreMsg ctermfg=2 :hi ModeMsg cterm=bold :hi Question ctermfg=2 :hi Title cterm=bold ctermfg=3 :hi NonText cterm=bold ctermfg=4 :hi LineNr cterm=bold ctermbg=0 ctermfg=0* :hi CursorLineNr cterm=bold ctermbg=166 ctermfg=0 :hi Directory ctermfg=4 :hi WildMenu ctermbg=3 ctermfg=0 :hi VertSplit cterm=reverse :hi Folded cterm=none ctermbg=0 ctermfg=8 :hi FoldColumn ctermbg=7 ctermfg=4 :hi DiffAdd cterm=none ctermbg=2 ctermfg=0 :hi DiffChange cterm=none ctermbg=7 ctermfg=0 :hi DiffDelete cterm=none ctermbg=7 ctermfg=0 :hi DiffText cterm=none ctermbg=6 ctermfg=0 :hi String cterm=none ctermfg=3 :hi Comment cterm=none ctermbg=0 ctermfg=4 :hi Constant ctermfg=1 :hi Special ctermfg=6 :hi Identifier ctermfg=6 :hi Statement ctermfg=6 :hi Operator ctermfg=1 :hi PreProc ctermbg=7 ctermfg=1 :hi Type ctermfg=2 :hi Delimiter cterm=none ctermfg=1 :hi Ignore cterm=bold ctermfg=7 :hi Todo ctermbg=3 ctermfg=0 :hi Underlined cterm=underline :hi Include ctermfg=1 :hi Define ctermfg=3 :hi Function ctermfg=6 :hi Structure ctermfg=2 :hi MatchParen cterm=bold ctermbg=4 ctermfg=7 :hi CursorLine cterm=bold :hi CursorColumn ctermbg=17 :hi ColorColumn ctermbg=17 :hi SpellBad cterm=underline ctermbg=0 ctermfg=5 :hi SpellCap cterm=underline ctermbg=0 ctermfg=5 :hi SpellLocal cterm=underline ctermbg=0 ctermfg=5 :hi SpellRare cterm=underline ctermbg=0 ctermfg=5 :hi TrailingWhitespace ctermbg=1 :hi ExtraWhitespace ctermbg=1 :hi WarningMsg ctermfg=1 :hi ErrorMsg cterm=bold ctermbg=1 ctermfg=7 :hi Error cterm=bold ctermbg=1 ctermfg=7 " ------- " gui def " ------- :hi Normal guibg=#000000 guifg=#D3D3D3 :hi Cursor guibg=#CC9966 guifg=#000000 :hi lCursor gui=reverse :hi StatusLine gui=bold,reverse :hi StatusLineNC gui=reverse :hi Search gui=none guibg=#5F00FF guifg=#000000 :hi IncSearch gui=none guibg=#AFFF00 guifg=#000000 :hi SpecialKey guifg=#5971AD :hi Visual gui=reverse :hi VisualNOS gui=bold,underline :hi MoreMsg guifg=#4E9A06 :hi ModeMsg gui=bold :hi Question guifg=#4E9A06 :hi Title gui=bold guifg=#C4A000 :hi NonText gui=bold guifg=#5971AD :hi LineNr gui=bold guibg=#000000 guifg=#808080 :hi CursorLineNr gui=bold guibg=#D75F00 guifg=#000000 :hi Directory guifg=#5971AD :hi WildMenu guibg=#C4A000 guifg=#000000 :hi VertSplit gui=reverse :hi Folded gui=none guibg=#000000 guifg=#808080 :hi FoldColumn guibg=#D3D3D3 guifg=#5971AD :hi DiffAdd gui=none guibg=#4E9A06 guifg=#000000 :hi DiffChange gui=none guibg=#D3D3D3 guifg=#000000 :hi DiffDelete gui=none guibg=#D3D3D3 guifg=#000000 :hi DiffText gui=none guibg=#06989A guifg=#000000 :hi String gui=none guifg=#C4A000 :hi Comment gui=none guibg=#000000 guifg=#5971AD :hi Constant guifg=#CC0000 :hi Special guifg=#06989A :hi Identifier guifg=#06989A :hi Statement guifg=#06989A :hi Operator guifg=#CC0000 :hi PreProc guibg=#D3D3D3 guifg=#CC0000 :hi Type guifg=#4E9A06 :hi Delimiter gui=none guifg=#CC0000 :hi Ignore gui=bold guifg=#D3D3D3 :hi Todo guibg=#C4A000 guifg=#000000 :hi Underlined gui=underline :hi Include guifg=#CC0000 :hi Define guifg=#C4A000 :hi Function guifg=#06989A :hi Structure guifg=#4E9A06 :hi MatchParen gui=bold guibg=#5971AD guifg=#D3D3D3 :hi CursorLine gui=bold :hi CursorColumn guibg=#00005F :hi ColorColumn guibg=#00005F :hi SpellBad gui=underline guibg=#000000 guifg=#75507B :hi SpellCap gui=underline guibg=#000000 guifg=#75507B :hi SpellLocal gui=underline guibg=#000000 guifg=#75507B :hi SpellRare gui=underline guibg=#000000 guifg=#75507B :hi TrailingWhitespace guibg=#080000 :hi ExtraWhitespace guibg=#CC0000 :hi WarningMsg guifg=#CC0000 :hi ErrorMsg gui=bold guibg=#CC0000 guifg=#D3D3D3 :hi Error gui=bold guibg=#CC0000 guifg=#D3D3D3 " ------- "256 color .Xdefaults vim: cterm giu " " " ------- " 256 color .Xdefaults vim: cterm giu def " ------- " 16 color standard altered 256 altered beyond 256 " black/dark grey " 0 [ 0:#000000] #000000 " 8 [ 8:#808080] [59:#5F5F5F] #555555 " red " 1 [ 1:#800000] 160:#DF0000 #CC0000 " 9 [ 9:#FF0000] #EF2929 " green " 2 [ 2:#008000] 112:#87DF00 #4E9A06 " 10 [10:#00FF00] 154:#AFFF00 #8AE234 " yellow/orange " 3 [ 3:#808000] 178:#DFAF00 #C4A000 " 11 [11:#FFFF00] 184:#DFDF00 #FC9E4F " blue " 4 [ 4:#000080] 24:#005F87 #5971AD " 12 [12:#0000FF] 73:#5FAFAF #729FCF " magenta " 5 [ 5:#800080] 90:#870087 #75507B " 13 [13:#FF00FF] 126:#AF0087 #AD7FA8 " cyan " 6 [ 6:#008080] 37:#00AFAF #06989A " 14 [14:#00FFFF] 87:#5FFFFF #34E2E2 " white " 7 [ 7:#C0C0C0] #D3D3D3 " 15 [15:#FFFFFF] #EEEEEE " -------- " .Xdefaults (rxvt urxvt setting beyond 256 colors, vim colorscheme "def" gui settings) " (vim colorscheme "def" cterm matches "def" gui if .Xdefaults set thus) " -------- " ! black " Rxvt.color0 : #000000 " Rxvt.color8 : #555555 " ! red " Rxvt.color1 : #CC0000 " Rxvt.color9 : #EF2929 " ! green " Rxvt.color2 : #4E9A06 " Rxvt.color10 : #8AE234 " ! yellow " Rxvt.color3 : #C4A000 " Rxvt.color11 : #FCE94F " ! blue " Rxvt.color4 : #5971AD " Rxvt.color12 : #729FCF " ! magenta " Rxvt.color5 : #75507B " Rxvt.color13 : #AD7FA8 " ! cyan " Rxvt.color6 : #06989A " Rxvt.color14 : #34E2E2 " ! white " Rxvt.color7 : #D3D7CF " Rxvt.color15 : #EEEEEE " -------- " .Xdefaults 256 (rxvt urxvt setting, vim colorscheme "def256" cterm & gui settings) " (vim colorscheme "def" cterm matches "def256" if .Xdefaults set thus) " -------- " ! black " Rxvt.color0 : #000000 " Rxvt.color8 : #808080 " ! red " Rxvt.color1 : #DF0000 " Rxvt.color9 : #FF0000 " ! green " Rxvt.color2 : #87DF00 " Rxvt.color10 : #AFFF00 " ! yellow " Rxvt.color3 : #DFAF00 " Rxvt.color11 : #FFFF00 " ! blue " Rxvt.color4 : #5F87DF " Rxvt.color12 : #87DFFF " ! magenta " Rxvt.color5 : #8700DF " Rxvt.color13 : #87DFFF " ! cyan " Rxvt.color6 : #00DFDF " Rxvt.color14 : #5F5FDF " ! white " Rxvt.color7 : #C0C0C0 " Rxvt.color15 : #FFFFFF #+END_SRC *** redo.vim #+HEADER: :tangle "../sundry/editor-syntax-etc/vim/colors/redo.vim" #+BEGIN_SRC text "%% Vim color file " Name: redo " Maintainer: Ralph Amissah " Last Change: 2013-02-14, 2016-07-28, 2022-09-05 " URL: <> " Note: this is a redo of def : hi clear : if exists("syntax_on") | syntax reset | endif : let colors_name = "redo" : set t_Co=256 : set background=dark " ------- " terminal def " ------- : hi Normal ctermfg=7 ctermbg=234 : hi Cursor ctermfg=0 ctermbg=166 : hi lCursor cterm=reverse : hi CursorLine cterm=bold,underline "ctermul=242 "bg:236,59 : hi CursorLineNr cterm=bold ctermfg=0 ctermbg=166 : hi LineNr cterm=none ctermfg=248 ctermbg=236 : hi StatusLine cterm=bold,reverse : hi StatusLineNC cterm=reverse : hi StatusLineTerm cterm=bold ctermfg=15 ctermbg=2 : hi StatusLineTermNC ctermfg=15 ctermbg=2 : hi ColorColumn ctermfg=231 ctermbg=236 "bg:233,59,236 " hi ColorColumn cterm=inverse " hi ColorColumn ctermfg=16 ctermbg=235 " hi ColorColumn ctermfg=5 ctermbg=90 : hi Folded cterm=none ctermfg=248 ctermbg=0 "fg:248,59,242,3 : hi FoldColumn ctermfg=4 ctermbg=69 : hi Search cterm=none ctermfg=0 ctermbg=57 "bg:57,11 : hi IncSearch cterm=none ctermfg=0 ctermbg=154 : hi SpecialKey ctermfg=4 : hi Visual cterm=reverse : hi VisualNOS cterm=bold,underline : hi MoreMsg ctermfg=2 : hi ModeMsg cterm=bold : hi Question ctermfg=2 : hi Title cterm=bold ctermfg=3 : hi NonText cterm=bold ctermfg=4 : hi Directory ctermfg=4 : hi WildMenu ctermfg=0 ctermbg=3 : hi VertSplit cterm=reverse : hi DiffAdd cterm=none ctermfg=0 ctermbg=2 : hi DiffChange cterm=none ctermfg=0 ctermbg=7 : hi DiffDelete cterm=none ctermfg=0 ctermbg=7 : hi DiffText cterm=none ctermfg=0 ctermbg=6 : hi String cterm=none ctermfg=3 : hi Comment cterm=none ctermfg=244 : hi Constant ctermfg=124 : hi Special ctermfg=67 "fg:67,140,5 : hi Identifier cterm=none ctermfg=172 "bg:172,4,2 (default usually bold; choose orange, blue or lime green) : hi Statement ctermfg=130 : hi Operator ctermfg=2 : hi PreProc ctermfg=196 "fg:2,5,140,1,166,196 : hi Type ctermfg=67 "fg:67,2 : hi Include ctermfg=124 "fg:124,140,5 : hi Delimiter cterm=none ctermfg=2 : hi Ignore cterm=bold ctermfg=7 : hi Todo ctermfg=0 ctermbg=3 : hi Underlined cterm=underline ctermfg=4 "ctermul=6 "fg:4,6 : hi Define ctermfg=3 : hi Function ctermfg=6 : hi Structure ctermfg=2 : hi MatchParen cterm=bold ctermfg=7 ctermbg=4 : hi SpellBad cterm=underline ctermfg=5 ctermbg=0 : hi SpellCap cterm=underline ctermfg=5 ctermbg=0 : hi SpellLocal cterm=underline ctermfg=5 ctermbg=0 : hi SpellRare cterm=underline ctermfg=5 ctermbg=0 : hi TrailingWhitespace ctermbg=1 : hi ExtraWhitespace ctermbg=1 : hi WarningMsg ctermfg=1 : hi ErrorMsg cterm=bold ctermfg=7 ctermbg=1 : hi Error cterm=bold ctermfg=7 ctermbg=1 : if &diff : highlight! link DiffText MatchParen : endif #+END_SRC *** shift.vim #+HEADER: :tangle "../sundry/editor-syntax-etc/vim/colors/shift.vim" #+BEGIN_SRC text "%% Vim color file " Name: shift " Maintainer: Ralph Amissah " Last Change: 2013-02-14, 2016-07-28, 2022-09-09 " URL: <> " Note: this is a shift in redo which as a redo of def : hi clear : if exists("syntax_on") | syntax reset | endif : let colors_name = "shift" : set t_Co=256 : set background=dark " ------- " terminal def " ------- : hi Normal ctermfg=7 ctermbg=234 : hi Cursor ctermfg=0 ctermbg=166 : hi lCursor cterm=reverse : hi CursorLine cterm=bold,underline ctermul=166 "bg:236,59 : hi CursorLineNr cterm=bold ctermfg=0 ctermbg=166 : hi LineNr cterm=none ctermfg=248 ctermbg=236 : hi StatusLine cterm=bold,reverse : hi StatusLineNC cterm=reverse : hi StatusLineTerm cterm=bold ctermfg=15 ctermbg=2 : hi StatusLineTermNC ctermfg=15 ctermbg=2 : hi ColorColumn cterm=none ctermfg=7 ctermbg=236 "bg:233,59 " hi ColorColumn cterm=inverse " hi ColorColumn ctermfg=16 ctermbg=235 " hi ColorColumn ctermfg=5 ctermbg=90 : hi Folded cterm=none ctermfg=242 ctermbg=16 "fg:248,59,242,3 : hi FoldColumn ctermfg=4 ctermbg=69 : hi Search cterm=none ctermfg=0 ctermbg=57 "bg:57,11 : hi IncSearch cterm=none ctermfg=0 ctermbg=154 : hi SpecialKey ctermfg=4 : hi Visual cterm=reverse : hi VisualNOS cterm=bold,underline : hi MoreMsg ctermfg=2 : hi ModeMsg cterm=bold : hi Question ctermfg=2 : hi Title cterm=bold ctermfg=3 : hi NonText cterm=bold ctermfg=4 : hi Directory ctermfg=4 : hi WildMenu ctermfg=0 ctermbg=3 : hi VertSplit cterm=reverse : hi DiffAdd cterm=none ctermfg=0 ctermbg=2 : hi DiffChange cterm=none ctermfg=0 ctermbg=7 : hi DiffDelete cterm=none ctermfg=0 ctermbg=7 : hi DiffText cterm=none ctermfg=0 ctermbg=6 : hi String cterm=none ctermfg=3 : hi Comment cterm=none ctermfg=244 : hi Constant ctermfg=124 : hi Special ctermfg=67 "fg:67,140,5 : hi Identifier cterm=none ctermfg=4 "bg:172,4,2 (default usually bold; choose orange, blue or lime green) : hi Statement ctermfg=130 : hi Operator ctermfg=2 : hi PreProc ctermfg=196 "fg:2,5,140,1,166,196 : hi Type ctermfg=67 "fg:67,2 : hi Include ctermfg=124 "fg:124,140,5 : hi Delimiter cterm=none ctermfg=2 : hi Ignore cterm=bold ctermfg=7 : hi Todo ctermfg=0 ctermbg=3 : hi Underlined cterm=underline ctermfg=6 ctermul=6 "fg:4,6 : hi Define ctermfg=3 : hi Function ctermfg=6 : hi Structure ctermfg=2 : hi MatchParen cterm=bold ctermfg=7 ctermbg=4 : hi SpellBad cterm=underline ctermfg=5 ctermbg=0 : hi SpellCap cterm=underline ctermfg=5 ctermbg=0 : hi SpellLocal cterm=underline ctermfg=5 ctermbg=0 : hi SpellRare cterm=underline ctermfg=5 ctermbg=0 : hi TrailingWhitespace ctermbg=1 : hi ExtraWhitespace ctermbg=1 : hi WarningMsg ctermfg=1 : hi ErrorMsg cterm=bold ctermfg=7 ctermbg=1 : hi Error cterm=bold ctermfg=7 ctermbg=1 : if &diff : highlight! link DiffText MatchParen : endif #+END_SRC *** frugal-cterm.vim #+HEADER: :tangle "../sundry/editor-syntax-etc/vim/colors/frugal-cterm-sisu.vim" #+BEGIN_SRC text " Vim color file " Name: frugal-cterm-sisu " Maintainer: Ralph Amissah " Last Change: 2013-02-09 " URL: " " Note: 8 color cterm, related colorschemes 8 & sparse :set background=dark :hi clear if exists("syntax_on") syntax reset endif :let colors_name = "frugal-cterm-sisu" " 0 = black, 1 = red, 2 = green, 3 = yellow/orange, 4 = blue, 5 = magenta, 6 = cyan, 7 = white :hi Normal ctermbg=0 ctermfg=7 :hi Cursor cterm=reverse :hi lCursor cterm=reverse :hi StatusLine cterm=bold,reverse :hi StatusLineNC cterm=reverse :hi Search cterm=none ctermbg=2 ctermfg=0 :hi IncSearch cterm=bold ctermbg=2 ctermfg=7 :hi SpecialKey ctermfg=4 :hi Visual cterm=reverse :hi VisualNOS cterm=bold,underline :hi MoreMsg ctermfg=2 :hi ModeMsg cterm=bold :hi Question ctermfg=2 :hi Title cterm=bold ctermfg=3 :hi NonText cterm=bold ctermfg=4 :hi LineNr cterm=bold ctermbg=0 ctermfg=0* :hi Directory ctermfg=4 :hi WildMenu ctermbg=3 ctermfg=0 :hi VertSplit cterm=reverse :hi Folded cterm=none ctermbg=0 ctermfg=7 :hi FoldColumn ctermbg=7 ctermfg=4 :hi DiffChange cterm=none ctermbg=7 ctermfg=0 :hi DiffText cterm=none ctermbg=6 ctermfg=0 :hi DiffAdd cterm=none ctermbg=2 ctermfg=0 :hi DiffDelete cterm=none ctermbg=7 ctermfg=0 :hi String cterm=none ctermfg=3 :hi Comment cterm=none ctermbg=0 ctermfg=7 :hi Constant ctermfg=1 :hi Special ctermfg=6 :hi Identifier ctermfg=6 :hi Statement ctermfg=6 :hi Operator ctermfg=1 :hi PreProc ctermbg=7 ctermfg=1 :hi Type ctermfg=2 :hi Delimiter cterm=none ctermfg=1 :hi Ignore cterm=bold ctermfg=7 :hi Todo ctermbg=3 ctermfg=0 :hi Underlined cterm=underline :hi Include ctermfg=1 :hi Define ctermfg=3 :hi Function ctermfg=6 :hi Structure ctermfg=2 :hi MatchParen cterm=bold ctermbg=4 ctermfg=7 :hi CursorLine cterm=bold,underline :hi CursorColumn cterm=bold :hi ColorColumn ctermbg=8 :hi SpellBad cterm=none ctermbg=7 ctermfg=0 :hi SpellCap cterm=none ctermbg=7 ctermfg=0 :hi SpellLocal cterm=none ctermbg=7 ctermfg=0 :hi SpellRare cterm=none ctermbg=7 ctermfg=0 :hi WarningMsg ctermfg=1 :hi ErrorMsg cterm=bold ctermbg=1 ctermfg=7 :hi Error cterm=bold ctermbg=1 ctermfg=7 #+END_SRC ** ftplugin sisu.vim & spine.vim (for the same files) *** sisu.vim #+HEADER: :tangle "../sundry/editor-syntax-etc/vim/ftplugin/sisu.vim" #+BEGIN_SRC text "%% SiSU Vim ftplugin " SiSU Maintainer: Ralph Amissah " SiSU Markup: SiSU (sisu-3.3) 2012-08-18 " an ftplugin setting defaults for editing sisu markup files :syntax on :filetype off ":filetype on :filetype indent on :autocmd FileType sisu :set nonumber :set encoding=utf-8 fileencodings= :set ff=unix :set autowrite " Automatically save before commands like :next and :make :set nocompatible :set tabstop=2 :set expandtab :set shiftwidth=2 :set autoindent :set showcmd " Show (partial) command in status line. :set showmatch " Show matching brackets. :set ignorecase " Do case insensitive matching :set smartcase :set incsearch :set hlsearch :set gdefault :set guioptions=agr " add 'm' for menu :map :if &guioptions =~# 'm' \set guioptions-=m \set guioptions-=T \else \set guioptions+=m \set guioptions-=T \endif :set paste ""% statusline "set statusline= " "set fillchars=stl:―,stlnc:—,vert:│,fold:۰,diff:· "" [ buffer number ] "set statusline +=%#Normal#[ " "set statusline +=%#Identifier#%n " buffer number "set statusline +=%#PreProc#%M " modified flag "set statusline +=%#Normal#] " "" [ file name (& modified?) ] "set statusline +=%#Normal#\ [ " "set statusline +=%#Statement#%<%F%* " full path ""set statusline +=%#Statement#%<%t " full path "set statusline +=%#PreProc#%M " modified flag "set statusline +=%#Normal#] " "" [ column : line number / number of lines in file, percentage of file ] [%v:%l/%L\ %p%%] "set statusline +=%#Normal#\ [ " "set statusline +=%#Identifier#%v " column & line "set statusline +=%#Normal#: " "set statusline +=%#Identifier#%l " column & line "set statusline +=%#SpecialKey#/%L\ " total lines "set statusline +=%#Identifier#%p " percentage of file "set statusline +=%#SpecialKey#%% " "set statusline +=%#Normal#] " " "" [ file format : file type ] "set statusline +=%#Normal#\ [ " "set statusline +=%#SpecialKey#%{&fenc} " file format "set statusline +=%#Normal#: " "set statusline +=%#SpecialKey#%{&ff} " file format "set statusline +=%#Normal#: " "set statusline +=%#SpecialKey#%y " file type "set statusline +=%#Normal#] " "" [ character under cursor ] "set statusline +=%#Normal#\ [ " "set statusline +=%#String#0x%04B " character under cursor "set statusline +=%#Normal#]\ " "" [ syntastic ] "set statusline +=%#warningmsg# "set statusline +=%{SyntasticStatuslineFlag()}\ " ""set statusline+=%* "" Status line background "set statusline +=%#Folded#\ " "" misc "set laststatus=2 " status line always on "% textwrap :set whichwrap=<,>,h,l,[,] :set nolinebreak " only affects display not buffer :set wrap :set wrapmargin=0 "% map ":let mapleader = "," " consider :map paste :set invpaste "% wrap/formatting paragraph according to the current 'textwidth' with ^\ (control-\): :imap gqap :nmap gqap :vmap gq "% save file, go to next file in buffer :map nf :w :n "% vimdiff q exits :if &diff : cmap q qa :endif "% directory files, placed in vertical split window :map ls :vs :Explore :map dir :vs :Explore "% remapping lines make cursor jump a line at a time within wrapped text :nnoremap j gj :nnoremap k gk :vnoremap j gj :vnoremap k gk :nnoremap gj :nnoremap gk :vnoremap gj :vnoremap gk :inoremap gj :inoremap gk "% search and replace :map rd :.,$s///c "search and replace down :map rg :%s///c "search and replace whole file :map rr :rubyd gsub!(//,"") "% pwd t64 working directory set to that of the file you're editing "changes pwd to directory of file in current buffer :function! CHANGE_CURR_DIR() : let _dir = expand("%:p:h") : exec "cd " . _dir : unlet _dir :endfunction "% Change to the directory the file in your current buffer is in :if has("autocmd") autocmd BufEnter * :lcd %:p:h :endif "% autocompletefilenames To search for files in the current directory :set path=,, "auto-completion for file to edit in current dir, used in normal mode :map e :e =expand("%:p:h") . "/" :map pwd :exe 'cd ' . expand ("%:p:h") "% searchhighlight t93: Toggle search highlight :function! ToggleHLSearched() : if &hls : set nohls : else : set hls : endif :endfun :nmap :silent call ToggleHLSearched() "%% SiSU vim folds "% foldsearchx FoldSearch (opens result of search all else closed) t77 :map fs :set foldmethod=expr foldcolumn=2 foldlevel=0 :map ff :F :map fe :F zE "% foldtoggle Fold Toggle mapped to :fun! ToggleFold() : if foldlevel('.') == 0 : normal! l : else : if foldclosed('.') < 0 : foldclose : else : foldopen : endif : endif " Clear status line : echo :endfun " Map this function to Space key. :noremap :call ToggleFold() "% foldtype Fold? set foldtext :set foldtext=v:folddashes.substitute(getline(v:foldstart),'\\=','','g',) :set foldexpr=getline(v:lnum-1)!~@/&&getline(v:lnum)!~@/&&getline(v:lnum+1)!~@/ "% foldsearch t77: Fold on search result :function! FoldMake(search) : set fdm=manual : normal zE : normal G$ : let folded = 0 "flag to set when a fold is found : let flags = "w" "allow wrapping in the search : let line1 = 0 "set marker for beginning of fold : while search(a:search, flags) > 0 : let line2 = line(".") : if (line2 -1 > line1) : "echo line1 . ":" . (line2-1) : "echo "a fold goes here." : execute ":" . line1 . "," . (line2-1) . "fold" : let folded = 1 "at least one fold has been found : endif : let line1 = line2 "update marker : let flags = "W" "turn off wrapping : endwhile " create the last fold which goes to the end of the file. : normal $G : let line2 = line(".") : if (line2 > line1 && folded == 1) : execute ":". line1 . "," . line2 . "fold" : endif : normal 1G :endfunction "% folds Fold Patterns :command! -nargs=+ -complete=command FMake call FoldMake() : if ( &filetype == "ruby" ) : command! F FMake ^# ==\?\|^\s*\(\(def\|class\|module\)\s\|\(public\|protected\|private\|__END__\)\s*$\)\|\(^\s*\|\s\+\)#%\s : command! Fa FMake \(^# ==\?\|^\s*\(\(\(def\|class\|module\)\s\)\|\(\(public\|protected\|private\|__END__\)\(\s*$\)\)\)\)\|^[0-9]\~\|\([#%]\|^["]\)\{1,4\}\s*%\|{\({\|!!\) : command! FD FMake \(^# ==\?\|^\s*\(\(def\|class\|module\)\s\)\)\|^\s*\([#%"0-9]\{0,4\}\~\(%\+\s\|!!\)\|#\s\+=\+\s\+\) : else "% folds :F Fold Patterns SiSU Markup :F : command! F FMake ^\([1-8]\|:\?[A-C]\)\~\|\(^%\|\(^\|\s\+\)[#"]\)%\{1,2\}\(\s\|$\)\|^<<\s*| : command! Fa FMake ^\([1-8]\|:\?[A-C]\)\~\|\(^%\|\(^\|\s\+\)[#"]\)%\{1,2\}\(\s\|$\)\|^<<\s*|\|^\(Book\|Part\|Chapter\|Section\|Article\|BOOK\|PART\|CHAPTER\|SECTION\|ARTICLE\)\s : command! F0 FMake ^\(\s*0\~\|@\S\+:[+-]\?\s\+\) : command! FA FMake ^:\?A\~ : command! FB FMake ^:\?[AB]\~ : command! FC FMake ^:\?[A-C]\~ : command! F1 FMake ^\(:\?[A-C]\|1\)\~ : command! F2 FMake ^\(:\?[A-C]\|[12]\)\~ : command! F3 FMake ^\(:\?[A-C]\|[1-3]\)\~ : command! F4 FMake ^[1-4]\~ : command! F5 FMake ^[4-5]\~ : command! F6 FMake ^[4-6]\~ : command! Fc FMake ^[%]\+\s\+ : endif "% folds Fold Patterns misc ":command! Fp FMake ^\s*[A-Za-z0-9#] :command! Fp FMake ^\s*\S :command! Fo FMake ^[%\"]\s*[{>] "% linenumbering, on, relative, off :map nn :set ={'00':'','01':'r','10':'nor'}[&rnu.&nu]nu "% cursorline :map cu :if &cursorcolumn \set nocursorline nocursorcolumn \else \set cursorline cursorcolumn \endif :map cu- :set nocursorline nocursorcolumn :map cu+ :set cursorline cursorcolumn #+END_SRC *** sisu-spine.vim #+HEADER: :tangle "../sundry/editor-syntax-etc/vim/ftplugin/sisu-spine.vim" #+BEGIN_SRC text "%% SiSU Vim ftplugin " SiSU Maintainer: Ralph Amissah " SiSU Markup: SiSU (sisu-3.3) 2012-08-18 " an ftplugin setting defaults for editing sisu markup files :syntax on :filetype off ":filetype on :filetype indent on :autocmd FileType sisu :set nonumber :set encoding=utf-8 fileencodings= :set ff=unix :set autowrite " Automatically save before commands like :next and :make :set nocompatible :set tabstop=2 :set expandtab :set shiftwidth=2 :set autoindent :set showcmd " Show (partial) command in status line. :set showmatch " Show matching brackets. :set ignorecase " Do case insensitive matching :set smartcase :set incsearch :set hlsearch :set gdefault :set guioptions=agr " add 'm' for menu :map :if &guioptions =~# 'm' \set guioptions-=m \set guioptions-=T \else \set guioptions+=m \set guioptions-=T \endif :set paste ""% statusline "set statusline= " "set fillchars=stl:―,stlnc:—,vert:│,fold:۰,diff:· "" [ buffer number ] "set statusline +=%#Normal#[ " "set statusline +=%#Identifier#%n " buffer number "set statusline +=%#PreProc#%M " modified flag "set statusline +=%#Normal#] " "" [ file name (& modified?) ] "set statusline +=%#Normal#\ [ " "set statusline +=%#Statement#%<%F%* " full path ""set statusline +=%#Statement#%<%t " full path "set statusline +=%#PreProc#%M " modified flag "set statusline +=%#Normal#] " "" [ column : line number / number of lines in file, percentage of file ] [%v:%l/%L\ %p%%] "set statusline +=%#Normal#\ [ " "set statusline +=%#Identifier#%v " column & line "set statusline +=%#Normal#: " "set statusline +=%#Identifier#%l " column & line "set statusline +=%#SpecialKey#/%L\ " total lines "set statusline +=%#Identifier#%p " percentage of file "set statusline +=%#SpecialKey#%% " "set statusline +=%#Normal#] " " "" [ file format : file type ] "set statusline +=%#Normal#\ [ " "set statusline +=%#SpecialKey#%{&fenc} " file format "set statusline +=%#Normal#: " "set statusline +=%#SpecialKey#%{&ff} " file format "set statusline +=%#Normal#: " "set statusline +=%#SpecialKey#%y " file type "set statusline +=%#Normal#] " "" [ character under cursor ] "set statusline +=%#Normal#\ [ " "set statusline +=%#String#0x%04B " character under cursor "set statusline +=%#Normal#]\ " "" [ syntastic ] "set statusline +=%#warningmsg# "set statusline +=%{SyntasticStatuslineFlag()}\ " ""set statusline+=%* "" Status line background "set statusline +=%#Folded#\ " "" misc "set laststatus=2 " status line always on "% textwrap :set whichwrap=<,>,h,l,[,] :set nolinebreak " only affects display not buffer :set wrap :set wrapmargin=0 "% map ":let mapleader = "," " consider :map paste :set invpaste "% wrap/formatting paragraph according to the current 'textwidth' with ^\ (control-\): :imap gqap :nmap gqap :vmap gq "% save file, go to next file in buffer :map nf :w :n "% vimdiff q exits :if &diff : cmap q qa :endif "% directory files, placed in vertical split window :map ls :vs :Explore :map dir :vs :Explore "% remapping lines make cursor jump a line at a time within wrapped text :nnoremap j gj :nnoremap k gk :vnoremap j gj :vnoremap k gk :nnoremap gj :nnoremap gk :vnoremap gj :vnoremap gk :inoremap gj :inoremap gk "% search and replace :map rd :.,$s///c "search and replace down :map rg :%s///c "search and replace whole file :map rr :rubyd gsub!(//,"") "% pwd t64 working directory set to that of the file you're editing "changes pwd to directory of file in current buffer :function! CHANGE_CURR_DIR() : let _dir = expand("%:p:h") : exec "cd " . _dir : unlet _dir :endfunction "% Change to the directory the file in your current buffer is in :if has("autocmd") autocmd BufEnter * :lcd %:p:h :endif "% autocompletefilenames To search for files in the current directory :set path=,, "auto-completion for file to edit in current dir, used in normal mode :map e :e =expand("%:p:h") . "/" :map pwd :exe 'cd ' . expand ("%:p:h") "% searchhighlight t93: Toggle search highlight :function! ToggleHLSearched() : if &hls : set nohls : else : set hls : endif :endfun :nmap :silent call ToggleHLSearched() "%% SiSU vim folds "% foldsearchx FoldSearch (opens result of search all else closed) t77 :map fs :set foldmethod=expr foldcolumn=2 foldlevel=0 :map ff :F :map fe :F zE "% foldtoggle Fold Toggle mapped to :fun! ToggleFold() : if foldlevel('.') == 0 : normal! l : else : if foldclosed('.') < 0 : foldclose : else : foldopen : endif : endif " Clear status line : echo :endfun " Map this function to Space key. :noremap :call ToggleFold() "% foldtype Fold? set foldtext :set foldtext=v:folddashes.substitute(getline(v:foldstart),'\\=','','g',) :set foldexpr=getline(v:lnum-1)!~@/&&getline(v:lnum)!~@/&&getline(v:lnum+1)!~@/ "% foldsearch t77: Fold on search result :function! FoldMake(search) : set fdm=manual : normal zE : normal G$ : let folded = 0 "flag to set when a fold is found : let flags = "w" "allow wrapping in the search : let line1 = 0 "set marker for beginning of fold : while search(a:search, flags) > 0 : let line2 = line(".") : if (line2 -1 > line1) : "echo line1 . ":" . (line2-1) : "echo "a fold goes here." : execute ":" . line1 . "," . (line2-1) . "fold" : let folded = 1 "at least one fold has been found : endif : let line1 = line2 "update marker : let flags = "W" "turn off wrapping : endwhile " create the last fold which goes to the end of the file. : normal $G : let line2 = line(".") : if (line2 > line1 && folded == 1) : execute ":". line1 . "," . line2 . "fold" : endif : normal 1G :endfunction "% folds Fold Patterns :command! -nargs=+ -complete=command FMake call FoldMake() : if ( &filetype == "ruby" ) : command! F FMake ^# ==\?\|^\s*\(\(def\|class\|module\)\s\|\(public\|protected\|private\|__END__\)\s*$\)\|\(^\s*\|\s\+\)#%\s : command! Fa FMake \(^# ==\?\|^\s*\(\(\(def\|class\|module\)\s\)\|\(\(public\|protected\|private\|__END__\)\(\s*$\)\)\)\)\|^[0-9]\~\|\([#%]\|^["]\)\{1,4\}\s*%\|{\({\|!!\) : command! FD FMake \(^# ==\?\|^\s*\(\(def\|class\|module\)\s\)\)\|^\s*\([#%"0-9]\{0,4\}\~\(%\+\s\|!!\)\|#\s\+=\+\s\+\) : else "% folds :F Fold Patterns SiSU Markup :F : command! F FMake ^\([1-8]\|:\?[A-C]\)\~\|\(^%\|\(^\|\s\+\)[#"]\)%\{1,2\}\(\s\|$\)\|^<<\s*| : command! Fa FMake ^\([1-8]\|:\?[A-C]\)\~\|\(^%\|\(^\|\s\+\)[#"]\)%\{1,2\}\(\s\|$\)\|^<<\s*|\|^\(Book\|Part\|Chapter\|Section\|Article\|BOOK\|PART\|CHAPTER\|SECTION\|ARTICLE\)\s : command! F0 FMake ^\(\s*0\~\|@\S\+:[+-]\?\s\+\) : command! FA FMake ^:\?A\~ : command! FB FMake ^:\?[AB]\~ : command! FC FMake ^:\?[A-C]\~ : command! F1 FMake ^\(:\?[A-C]\|1\)\~ : command! F2 FMake ^\(:\?[A-C]\|[12]\)\~ : command! F3 FMake ^\(:\?[A-C]\|[1-3]\)\~ : command! F4 FMake ^[1-4]\~ : command! F5 FMake ^[4-5]\~ : command! F6 FMake ^[4-6]\~ : command! Fc FMake ^[%]\+\s\+ : endif "% folds Fold Patterns misc ":command! Fp FMake ^\s*[A-Za-z0-9#] :command! Fp FMake ^\s*\S :command! Fo FMake ^[%\"]\s*[{>] "% linenumbering, on, relative, off :map nn :set ={'00':'','01':'r','10':'nor'}[&rnu.&nu]nu "% cursorline :map cu :if &cursorcolumn \set nocursorline nocursorcolumn \else \set cursorline cursorcolumn \endif :map cu- :set nocursorline nocursorcolumn :map cu+ :set cursorline cursorcolumn #+END_SRC ** templates *** sst.tpl #+HEADER: :tangle "../sundry/editor-syntax-etc/vim/templates/sst.tpl" #+BEGIN_SRC text # SiSU 8.0 title: main: "#___#" sub: "#___#" language: "#___#" creator: author: "#___#" date: :published: "YYYY-MM-DD" rights: copyright: "#___#" license: "#___#" classify: topic_register: "#___#" make: breaks: "new=:B; break=1" # home_button_text: "#___#" # footer: "#___#" #% -- body --- :A~ @title @author 1~ #___# #+END_SRC *** ssm.tpl #+HEADER: :tangle "../sundry/editor-syntax-etc/vim/templates/ssm.tpl" #+BEGIN_SRC text # SiSU 8.0 master title: main: "#___#" sub: "#___#" language: "#___#" creator: author: "#___#" date: :published: "YYYY-MM-DD" rights: copyright: "#___#" license: "#___#" classify: topic_register: "#___#" make: breaks: "new=:B; break=1" # home_button_text: "#___#" # footer: "#___#" #% -- body --- :A~ @title @author 1~ #___# #+END_SRC *** ssm.tpl #+HEADER: :tangle "../sundry/editor-syntax-etc/vim/templates/ssi.tpl" #+BEGIN_SRC text # SiSU 8.0 insert title: main: "#___#" sub: "#___#" language: "#___#" creator: author: "#___#" date: :published: "YYYY-MM-DD" rights: copyright: "#___#" license: "#___#" classify: topic_register: "#___#" make: breaks: "new=:B; break=1" # home_button_text: "#___#" # footer: "#___#" #% -- body --- :A~ @title @author 1~ #___# #+END_SRC