diff options
20 files changed, 3466 insertions, 317 deletions
| @@ -63,6 +63,20 @@  !sisudoc  !views  !docs/*.html +!sundry +!sundry/editor-syntax-etc +!sundry/editor-syntax-etc/vim +!sundry/editor-syntax-etc/vim/*.vim +!sundry/editor-syntax-etc/vim/*.yaml +!sundry/editor-syntax-etc/vim/colors +!sundry/editor-syntax-etc/vim/colors/*.vim +!sundry/editor-syntax-etc/vim/ftplugin +!sundry/editor-syntax-etc/vim/ftplugin/*.vim +!sundry/editor-syntax-etc/vim/syntax +!sundry/editor-syntax-etc/vim/syntax/*.vim +!sundry/editor-syntax-etc/emacs +!sundry/editor-syntax-etc/emacs/*.el +!sundry/editor-syntax-etc/emacs/README  !notes  notes/**  !notes/sisu-description.sst @@ -2,11 +2,11 @@    "nodes": {      "nixpkgs": {        "locked": { -        "lastModified": 1734126203, -        "narHash": "sha256-0XovF7BYP50rTD2v4r55tR5MuBLet7q4xIz6Rgh3BBU=", +        "lastModified": 1740019556, +        "narHash": "sha256-vn285HxnnlHLWnv59Og7muqECNMS33mWLM14soFIv2g=",          "owner": "NixOS",          "repo": "nixpkgs", -        "rev": "71a6392e367b08525ee710a93af2e80083b5b3e2", +        "rev": "dad564433178067be1fbdfcce23b546254b6d641",          "type": "github"        },        "original": { diff --git a/org/config_git.org b/org/config_git.org index 2f4d024..b997923 100644 --- a/org/config_git.org +++ b/org/config_git.org @@ -87,6 +87,20 @@  !sisudoc  !views  !docs/*.html +!sundry +!sundry/editor-syntax-etc +!sundry/editor-syntax-etc/vim +!sundry/editor-syntax-etc/vim/*.vim +!sundry/editor-syntax-etc/vim/*.yaml +!sundry/editor-syntax-etc/vim/colors +!sundry/editor-syntax-etc/vim/colors/*.vim +!sundry/editor-syntax-etc/vim/ftplugin +!sundry/editor-syntax-etc/vim/ftplugin/*.vim +!sundry/editor-syntax-etc/vim/syntax +!sundry/editor-syntax-etc/vim/syntax/*.vim +!sundry/editor-syntax-etc/emacs +!sundry/editor-syntax-etc/emacs/*.el +!sundry/editor-syntax-etc/emacs/README  !notes  notes/**  !notes/sisu-description.sst diff --git a/org/util_spine_syntax_highlighting_emacs.org b/org/util_spine_syntax_highlighting_emacs.org index 740064b..7272faf 100644 --- a/org/util_spine_syntax_highlighting_emacs.org +++ b/org/util_spine_syntax_highlighting_emacs.org @@ -1,5 +1,5 @@  -*- mode: org -*- -#+TITLE:       sisudoc spine (doc_reform) information files +#+TITLE:       sisudoc spine (doc_reform) emacs syntax highlighting  #+DESCRIPTION: documents - structuring, various output representations & search  #+FILETAGS:    :spine:info:  #+AUTHOR:      Ralph Amissah @@ -21,7 +21,7 @@  ** README -#+HEADER: :tangle "../sundry/misc/editor-syntax-etc/emacs/README" +#+HEADER: :tangle "../sundry/editor-syntax-etc/emacs/README"  #+BEGIN_SRC elisp  ; put this into your .emacs file, then use the mode file: @@ -31,7 +31,7 @@  ** autoload sisuspine-mode-autoloads.el -#+HEADER: :tangle "../sundry/misc/editor-syntax-etc/emacs/sisu-spine-mode-autoloads.el" +#+HEADER: :tangle "../sundry/editor-syntax-etc/emacs/sisu-spine-mode-autoloads.el"  #+BEGIN_SRC elisp  (add-to-list 'load-path (or (file-name-directory #$) (car load-path)))  (autoload 'sisu-spine-mode "sisu-spine-mode" "\ @@ -47,7 +47,7 @@ and search.  ** mode sisu-spine-mode.el -#+HEADER: :tangle "../sundry/misc/editor-syntax-etc/emacs/sisu-spine-mode.el" +#+HEADER: :tangle "../sundry/editor-syntax-etc/emacs/sisu-spine-mode.el"  #+BEGIN_SRC elisp  ;;; sisu-spine-mode.el --- Major mode for SiSU (spine parser) markup text @@ -57,7 +57,8 @@ and search.  ;; Maintainer: Ralph Amissah <ralph.amissah@gmail.com>  ;; Keywords: text, syntax, processes, tools  ;; Version:   8.0.0 -;; URL: https://www.sisudoc.org/ +;; URL: https://git.sisudoc.org/projects/sisudoc-spine/tree/sundry/editor-syntax-etc/emacs/sisu-spine-mode.el +;;      https://sisudoc.org/  ;; originally looked at (based on) doc-mode, with kind permission of the author  ;;   Author: SUN, Tong <suntong001@users.sf.net>, (c)2001-6, all right reserved  ;;   Version: $Date: 2006/01/19 03:13:41 $ $Revision: 1.14 $ @@ -199,6 +200,14 @@ and search.        (cons "^```[ ]+poem$\\|^```$"     'sisu-general-font-lock-red2)        (cons "^```[ ]+alt$\\|^```$"      'sisu-general-font-lock-red2)        ;;grouped text --------- +      ;(cons "^'''[ ]code\\(.\\|\n\\)+?\n'''\n"      'sisu-general-font-lock-red2) +      (cons "^'''[ ]+code.*?$\\|^'''$"  'sisu-general-font-lock-red2) +      (cons "^'''[ ]+table.*?$\\|^'''$" 'sisu-general-font-lock-red2) +      (cons "^'''[ ]+group$\\|^'''$"    'sisu-general-font-lock-red2) +      (cons "^'''[ ]+block$\\|^'''$"    'sisu-general-font-lock-red2) +      (cons "^'''[ ]+poem$\\|^'''$"     'sisu-general-font-lock-red2) +      (cons "^'''[ ]+alt$\\|^'''$"      'sisu-general-font-lock-red2) +      ;;grouped text ---------        (cons "^group{\\|^}group"       'sisu-general-font-lock-red2)        (cons "^block{\\|^}block"       'sisu-general-font-lock-red2)        (cons "^code{\\|^}code"         'sisu-general-font-lock-red2) diff --git a/org/util_spine_syntax_highlighting_vim.org b/org/util_spine_syntax_highlighting_vim.org index f4b6c8a..b66b67d 100644 --- a/org/util_spine_syntax_highlighting_vim.org +++ b/org/util_spine_syntax_highlighting_vim.org @@ -1,5 +1,5 @@  -*- mode: org -*- -#+TITLE:       sisudoc spine (doc_reform) information files +#+TITLE:       sisudoc spine (doc_reform) vim syntax highlighting & colorschemes  #+DESCRIPTION: documents - structuring, various output representations & search  #+FILETAGS:    :spine:info:  #+AUTHOR:      Ralph Amissah @@ -20,21 +20,21 @@  * Vim Syntax highlighting  ** filetype -#+HEADER: :tangle "../sundry/misc/editor-syntax-etc/vim/filetype.vim" +#+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 -  au! BufNewFile,BufRead *._sst,*.sst.meta,*.-sst.meta,*._sst.meta setf sisu +  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/misc/editor-syntax-etc/vim/vim-sisu.yaml" +#+HEADER: :tangle "../sundry/editor-syntax-etc/vim/vim-sisu.yaml"  #+BEGIN_SRC text  #vim-addons: debian vim-addon-manager  addon: sisu @@ -45,326 +45,827 @@ files:    - 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 <ralph.amissah@gmail.com> +" SiSU Markup:     SiSU (sisu-5.6.7) +" Last Change:     2017-06-22 +" URL: <https://git.sisudoc.org/projects/sisudoc-spine/tree/sundry/editor-syntax-etc/vim/syntax/sisu.vim> +"      <https://sisudoc.org/> +"(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 "<![^ei]\S\+!>" + +"% "Markers Identifiers: +if !exists("sisu_no_identifiers") +  syn match   sisu_mark_endnote                                           "\~^" +  syn match   sisu_break               contains=@NoSpell                  " \\\\\( \|$\)\|<br>\|<br />" +  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 "<a href\|</a>]" + +"% "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 "<dir>" +"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]\)>[^(</\1>)]\{-}\n$" + +"% "Error Exceptions: +syn match sisu_control "\n$" "contains=ALL +"syn match sisu_control " //" +syn match sisu_error   "%{" +syn match sisu_error   "<br>_\?https\?:\S\+\|_\?https\?:\S\+<br>" +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 <ralph.amissah@gmail.com> +" SiSU Markup:       SiSU (sisu-5.6.7) +" sisu-spine Markup: sisu-spine +" Last Change:       2017-06-22, 2025-02-21 +" URL: <https://git.sisudoc.org/projects/sisudoc-spine/tree/sundry/editor-syntax-etc/vim/syntax/sisu-spine.vim> +"      <https://git.sisudoc.org/projects/sisudoc-spine/tree/sundry/editor-syntax-etc/vim/syntax/sisu.vim> +"      <https://sisudoc.org/> +"(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 "<![^ei]\S\+!>" + +"% "Markers Identifiers: +if !exists("sisu_no_identifiers") +  syn match   sisu_mark_endnote                                           "\~^" +  syn match   sisu_break               contains=@NoSpell                  " \\\\\( \|$\)\|<br>\|<br />" +  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 "<a href\|</a>]" + +"% "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 "<dir>" +"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]\)>[^(</\1>)]\{-}\n$" + +"% "Error Exceptions: +syn match sisu_control "\n$" "contains=ALL +"syn match sisu_control " //" +syn match sisu_error   "%{" +syn match sisu_error   "<br>_\?https\?:\S\+\|_\?https\?:\S\+<br>" +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/misc/editor-syntax-etc/vim/colors/def.vim" +#+HEADER: :tangle "../sundry/editor-syntax-etc/vim/colors/def.vim"  #+BEGIN_SRC text -" Vim color file -" Name:            def -" Maintainer:      Ralph Amissah <ralph@amissah.com> -" Last Change:     2013-02-14 -" URL:             <https://git.sisudoc.org/projects/?p=software/spine.git;a=blob;f=data/sisu/conf/editor-syntax-etc/vim/colors/def.vim;hb=HEAD> -" Note:            primarily 16 color cterm improved by tweaking of .Xdefaults +"%% Vim color file +"  Name:           def +"  Maintainer:     Ralph Amissah <ralph@amissah.com> +"  Last Change:    2013-02-14, 2016-07-28, 2022-09-05 +"  URL:            <https://git.sisudoc.org/projects/sisudoc-spine/tree/sundry/editor-syntax-etc/vim/colors/def.vim> +"                  <https://sisudoc.org/> +"  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" -" ------- -" 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=2 -:hi Operator                                               ctermfg=2 -:hi PreProc                                                ctermfg=1 -:hi Type           cterm=bold                              ctermfg=3 -:hi Delimiter      cterm=none                              ctermfg=2 -: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=#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                               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 -"<https://vim.wikia.com/wiki/Xterm256_color_names_for_console_Vim> -"<https://guns.github.com/xterm-color-table.vim/images/xterm-color-table-with-visible-rgb.png> -" ------- -" 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 +:  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/misc/editor-syntax-etc/vim/colors/slate.vim" +#+HEADER: :tangle "../sundry/editor-syntax-etc/vim/colors/slate.vim"  #+BEGIN_SRC text  "%% SiSU Vim color file -" Name:            Slate -" Maintainer:      Ralph Amissah <ralph@amissah.com> -" Last Change:     2013-02-09 -" URL:             <https://git.sisudoc.org/projects/?p=software/spine.git;a=blob;f=data/sisu/conf/editor-syntax-etc/vim/colors/slate.vim;hb=HEAD> -" Notes:          cterm now uses frugal-sisu 8 colors for term -"                 (for gui originally looked at desert Hans Fugal <hans@fugal.net> -"                  <https://hans.fugal.net/vim/colors/desert.vim> (April/May 2003)) -:set background=dark -:hi clear -if exists("syntax_on") -  syntax reset -endif -:let colors_name = "slate" -" 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 -: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 +"  Name:           Slate +"  Maintainer:     Ralph Amissah <ralph@amissah.com> +"  Last Change:    2013-02-09, 2022-09-05 +"  URL:            <https://git.sisudoc.org/projects/sisudoc-spine/tree/sundry/editor-syntax-etc/vim/colors/slate.vim> +"                  <https://sisudoc.org/> +"                  <https://sisudoc.org/> +"  Notes:          cterm now uses frugal-sisu 8 colors for term +"                  (for gui originally looked at desert Hans Fugal <hans@fugal.net> +"                  <http://hans.fugal.net/vim/colors/desert.vim> (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/misc/editor-syntax-etc/vim/colors/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 <ralph@amissah.com>  " Last Change:     2013-02-14 -" URL:             <https://git.sisudoc.org/projects/?p=software/spine.git;a=blob;f=data/sisu/conf/editor-syntax-etc/vim/colors/def-sisu.vim;hb=HEAD> +" URL:             <https://git.sisudoc.org/projects/sisudoc-spine/tree/sundry/editor-syntax-etc/vim/colors/def-sisu.vim> +"                  <https://sisudoc.org/>  " 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, @@ -585,15 +1086,184 @@ endif  " 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 <ralph@amissah.com> +"  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 <ralph@amissah.com> +"  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/misc/editor-syntax-etc/vim/colors/frugal-cterm-sisu.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 <ralph@amissah.com>  " Last Change:     2013-02-09 -" URL:             <https://git.sisudoc.org/projects/?p=software/spine.git;a=blob;f=data/sisu/conf/editor-syntax-etc/vim/colors/frugal-cterm-sisu.vim;hb=HEAD> +" URL:             <https://git.sisudoc.org/projects/sisudoc-spine/tree/sundry/editor-syntax-etc/vim/colors/frugal-cterm-sisu.vim> +"                  <https://sisudoc.org/>  " Note:            8 color cterm, related colorschemes 8 & sparse  :set background=dark  :hi clear @@ -657,9 +1327,240 @@ endif  :hi Error          cterm=bold          ctermbg=1           ctermfg=7  #+END_SRC -** ftplugin sisu.vim +** 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 <ralph@amissah.com> +" 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 <silent> <C-m> :if &guioptions =~# 'm' <Bar> +    \set guioptions-=m <Bar> +    \set guioptions-=T <Bar> +  \else <Bar> +    \set guioptions+=m <Bar> +    \set guioptions-=T <Bar> +  \endif<CR> +: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 <leader>paste :set invpaste<cr> +"% wrap/formatting paragraph according to the current 'textwidth' with ^\ (control-\): +:imap <C-\> <C-O>gqap +:nmap <C-\>      gqap +:vmap <C-\>      gq +"% save file, go to next file in buffer +:map <leader>nf :w <enter> :n <enter> +"% vimdiff q exits +:if &diff +:  cmap q qa +:endif +"% directory files, placed in vertical split window +:map <leader>ls :vs<cr> :Explore<cr> +:map <leader>dir :vs<cr> :Explore<cr> +"% 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 <Down> gj +:nnoremap <Up> gk +:vnoremap <Down> gj +:vnoremap <Up> gk +:inoremap <Down> <C-o>gj +:inoremap  <Up> <C-o>gk +"% search and replace +:map <leader>rd :.,$s///c "search and replace down +:map <leader>rg :%s///c "search and replace whole file +:map <leader>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 <leader>e :e <c-r>=expand("%:p:h") . "/" <cr> +:map <leader>pwd :exe 'cd ' . expand ("%:p:h")<cr> +"% searchhighlight t93: Toggle search highlight <C-n> +:function! ToggleHLSearched() +:  if &hls +:    set nohls +:  else +:    set hls +:  endif +:endfun +:nmap <silent> <C-n> :silent call ToggleHLSearched()<cr> +"%% SiSU vim folds +"% foldsearchx FoldSearch (opens result of search all else closed) t77 +:map <leader>fs :set foldmethod=expr foldcolumn=2 foldlevel=0 <cr> +:map <leader>ff :F<cr> +:map <leader>fe :F<cr> zE +"% foldtoggle Fold Toggle mapped to <space> +: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 <space> :call ToggleFold()<cr> +"% 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(<q-args>) +:  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 <Leader>nn :set <c-r>={'00':'','01':'r','10':'nor'}[&rnu.&nu]<CR>nu<CR> +"% cursorline +:map <leader>cu :if &cursorcolumn <Bar> +    \set nocursorline nocursorcolumn <Bar> +  \else <Bar> +    \set cursorline cursorcolumn <Bar> +  \endif<cr> +:map <leader>cu- :set nocursorline nocursorcolumn<cr> +:map <leader>cu+ :set cursorline cursorcolumn<cr> +#+END_SRC + +*** sisu-spine.vim -#+HEADER: :tangle "../sundry/misc/editor-syntax-etc/vim/ftplugin/sisu.vim" +#+HEADER: :tangle "../sundry/editor-syntax-etc/vim/ftplugin/sisu-spine.vim"  #+BEGIN_SRC text  "%% SiSU Vim ftplugin  " SiSU Maintainer: Ralph Amissah <ralph@amissah.com> @@ -890,7 +1791,7 @@ endif  ** templates  *** sst.tpl -#+HEADER: :tangle "../sundry/misc/editor-syntax-etc/vim/templates/sst.tpl" +#+HEADER: :tangle "../sundry/editor-syntax-etc/vim/templates/sst.tpl"  #+BEGIN_SRC text  # SiSU 8.0 @@ -926,7 +1827,7 @@ make:  *** ssm.tpl -#+HEADER: :tangle "../sundry/misc/editor-syntax-etc/vim/templates/ssm.tpl" +#+HEADER: :tangle "../sundry/editor-syntax-etc/vim/templates/ssm.tpl"  #+BEGIN_SRC text  # SiSU 8.0 master @@ -962,7 +1863,7 @@ make:  *** ssm.tpl -#+HEADER: :tangle "../sundry/misc/editor-syntax-etc/vim/templates/ssi.tpl" +#+HEADER: :tangle "../sundry/editor-syntax-etc/vim/templates/ssi.tpl"  #+BEGIN_SRC text  # SiSU 8.0 insert diff --git a/sundry/editor-syntax-etc/emacs/README b/sundry/editor-syntax-etc/emacs/README new file mode 100644 index 0000000..6dabf72 --- /dev/null +++ b/sundry/editor-syntax-etc/emacs/README @@ -0,0 +1,4 @@ +; put this into your .emacs file, then use the mode file: + +(load-file "~/emacs/el/sisu-spine-mode.el") +(add-to-list 'auto-mode-alist '("\\.sst$" . sisu-spine-mode)) diff --git a/sundry/editor-syntax-etc/emacs/sisu-spine-mode-autoloads.el b/sundry/editor-syntax-etc/emacs/sisu-spine-mode-autoloads.el new file mode 100644 index 0000000..4cc6332 --- /dev/null +++ b/sundry/editor-syntax-etc/emacs/sisu-spine-mode-autoloads.el @@ -0,0 +1,10 @@ +(add-to-list 'load-path (or (file-name-directory #$) (car load-path))) +(autoload 'sisu-spine-mode "sisu-spine-mode" "\ +Major mode for editing SiSU (spine) markup files. +SiSU (https://www.sisudoc.org/) document structuring, publishing +and search. + +\(fn)" t nil) +(add-to-list 'auto-mode-alist '("\\.sst\\'" . sisu-spine-mode)) +(add-to-list 'auto-mode-alist '("\\.ssm\\'" . sisu-spine-mode)) +(add-to-list 'auto-mode-alist '("\\.ssi\\'" . sisu-spine-mode)) diff --git a/sundry/editor-syntax-etc/emacs/sisu-spine-mode.el b/sundry/editor-syntax-etc/emacs/sisu-spine-mode.el new file mode 100644 index 0000000..f2e29ed --- /dev/null +++ b/sundry/editor-syntax-etc/emacs/sisu-spine-mode.el @@ -0,0 +1,502 @@ +;;; sisu-spine-mode.el --- Major mode for SiSU (spine parser) markup text + +;; Copyright (C) 2011, 2025  Free Software Foundation, Inc. + +;; Author: Ralph Amissah & Ambrose Kofi Laing +;; Maintainer: Ralph Amissah <ralph.amissah@gmail.com> +;; Keywords: text, syntax, processes, tools +;; Version:   8.0.0 +;; URL: https://git.sisudoc.org/projects/sisudoc-spine/tree/sundry/editor-syntax-etc/emacs/sisu-spine-mode.el +;;      https://sisudoc.org/ +;; originally looked at (based on) doc-mode, with kind permission of the author +;;   Author: SUN, Tong <suntong001@users.sf.net>, (c)2001-6, all right reserved +;;   Version: $Date: 2006/01/19 03:13:41 $ $Revision: 1.14 $ +;;   Home URL: https://xpt.sourceforge.net/ +;; with contributions from Kevin Ryde and Stefan Monnier + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 3, or (at your option) +;; any later version. +;; +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program.  If not, see <https://www.gnu.org/licenses/>. + +;; Viva Software Libre! +;; Support the free software movement! +;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;;; Commentary: + +;; SiSU (https://www.sisudoc.org/) is a document structuring and +;; publishing framework.  This package provides an Emacs major mode +;; for SiSU markup, as used by the spine parser (in D) which has a different +;; header (based on yaml) from the original sisu parser (in Ruby) which has +;; bespoke headers. + +;; When this package is installed, files ending in ".sst" are automatically +;; associated with sisu-spine-mode.  If a file doesn't have a +;; .sst extension, add a first line: +;; # -*- sisuSpine -*- + +;; The documentation for the "Structure Of The Hierarchy Text" can be +;; found in the sisustring for the sisu-spine-mode function. + +;;; Code: + +;; Variables: + +(defgroup sisu-faces nil +  "AsciiSisu highlighting" +  :group 'sisus) + +;; == Colors +; color n is more prominent than color n+1 + +(defface sisu-title-1-face +  `((((class color) +      (background dark)) +     (:foreground "brown3" :bold t :height 1.2 :inherit variable-pitch)) +    (((class color) +      (background light)) +     (:foreground "brown3" :bold t :height 1.2 :inherit variable-pitch)) +    (t (:weight bold :inherit variable-pitch))) +  "Face for AsciiSisu titles at level 1." +  :group 'sisu-faces) + +(defface sisu-title-2-face +  `((((class color) +      (background dark)) +     (:foreground "yellow4" :bold t :height 1.1 :inherit variable-pitch)) +    (((class color) +      (background light)) +     (:foreground "yellow4" :bold t :height 1.1 :inherit variable-pitch)) +    (t (:weight bold :inherit variable-pitch))) +  "Face for AsciiSisu titles at level 2." +  :group 'sisu-faces) + +(defface sisu-title-3-face +  `((((class color) +      (background dark)) +     (:foreground "sienna3" :bold t)) +    (((class color) +      (background light)) +     (:foreground "sienna3" :bold t)) +    (t (:weight bold))) +  "Face for AsciiSisu titles at level 3." +  :group 'sisu-faces) + +(defface sisu-title-4-face +  `((((class color) +      (background dark)) +     (:foreground "burlywood3")) +    (((class color) +      (background light)) +     (:foreground "burlywood3")) +    (t ())) +  "Face for AsciiSisu titles at level 4." +  :group 'sisu-faces) + +(defface info-node +  '((((class color) (background light)) (:foreground "brown" :bold t :italic t)) +    (((class color) (background dark)) (:foreground "white" :bold t :italic t)) +    (t (:bold t :italic t))) +  "Face for Info node names." +  :group 'sisu-faces) + +(defvar sisu-title-1 'sisu-title-1-face) +(defvar sisu-title-2 'sisu-title-2-face) +(defvar sisu-title-3 'sisu-title-3-face) +(defvar sisu-title-4 'sisu-title-4-face) + +(defvar sisu-general-font-lock-red1 font-lock-warning-face) +(defvar sisu-general-font-lock-red2 font-lock-comment-face) +(defvar sisu-general-font-lock-red3 font-lock-string-face) + +(defvar sisu-general-font-lock-green1 font-lock-type-face) +(defvar sisu-general-font-lock-green2 font-lock-constant-face) + +(defvar sisu-general-font-lock-blue1 font-lock-keyword-face) +(defvar sisu-general-font-lock-blue2 font-lock-function-name-face) +(defvar sisu-general-font-lock-blue3 font-lock-builtin-face) + +(defvar sisu-general-font-lock-yellow1 font-lock-variable-name-face) +(defvar sisu-general-font-lock-yellow2 font-lock-comment-face) + +;; == sisu-spine-mode settings + +(defvar sisu-spine-mode-hook nil +  "Normal hook run when entering Sisu Text mode.") + +(defvar sisu-spine-mode-abbrev-table nil +  "Abbrev table in use in Sisu-spine-mode buffers.") +(define-abbrev-table 'sisu-spine-mode-abbrev-table ()) + +(defconst sisu-font-lock-keywords +  (eval-when-compile +    (list +      ;;grouped text --------- +      ;(cons "^```[ ]code\\(.\\|\n\\)+?\n```\n"      'sisu-general-font-lock-red2) +      (cons "^```[ ]+code.*?$\\|^```$"  'sisu-general-font-lock-red2) +      (cons "^```[ ]+table.*?$\\|^```$" 'sisu-general-font-lock-red2) +      (cons "^```[ ]+group$\\|^```$"    'sisu-general-font-lock-red2) +      (cons "^```[ ]+block$\\|^```$"    'sisu-general-font-lock-red2) +      (cons "^```[ ]+poem$\\|^```$"     'sisu-general-font-lock-red2) +      (cons "^```[ ]+alt$\\|^```$"      'sisu-general-font-lock-red2) +      ;;grouped text --------- +      ;(cons "^'''[ ]code\\(.\\|\n\\)+?\n'''\n"      'sisu-general-font-lock-red2) +      (cons "^'''[ ]+code.*?$\\|^'''$"  'sisu-general-font-lock-red2) +      (cons "^'''[ ]+table.*?$\\|^'''$" 'sisu-general-font-lock-red2) +      (cons "^'''[ ]+group$\\|^'''$"    'sisu-general-font-lock-red2) +      (cons "^'''[ ]+block$\\|^'''$"    'sisu-general-font-lock-red2) +      (cons "^'''[ ]+poem$\\|^'''$"     'sisu-general-font-lock-red2) +      (cons "^'''[ ]+alt$\\|^'''$"      'sisu-general-font-lock-red2) +      ;;grouped text --------- +      (cons "^group{\\|^}group"       'sisu-general-font-lock-red2) +      (cons "^block{\\|^}block"       'sisu-general-font-lock-red2) +      (cons "^code{\\|^}code"         'sisu-general-font-lock-red2) +      (cons "^poem{\\|^}poem"         'sisu-general-font-lock-red2) +      (cons "^alt{\\|^}alt"           'sisu-general-font-lock-red2) +      (cons "^table{.+\\|^}table"     'sisu-general-font-lock-red2) +      (cons "^{table[^}]+}"           'sisu-general-font-lock-red2) + +      (list +        (concat +          "^\`\\{3\\}[ ]+code.*?$" +          "\\(.\\|\n\\)+?" +          "\`\\{3\\}$" +        ) +        '(1 sisu-general-font-lock-red2 t) +        '(2 nil t) +        '(3 sisu-general-font-lock-red2 t) +      ) +      (list +        (concat +          "^\`\\{3\\}[ ]+table.*?$" +          "\\(.\\|\n\\)+?" +          "\`\\{3\\}$" +        ) +        '(1 sisu-general-font-lock-red2 t) +        '(2 nil t) +        '(3 sisu-general-font-lock-red2 t) +      ) +      (list +        (concat +          "^\`\\{3\\}[ ]+\\(group\\|block\\|alt\\|poem\\)$" +          "\\(.\\|\n\\)+?" +          "^\`\\{3\\}$" +        ) +        '(1 sisu-general-font-lock-red2 t) +        '(2 nil t) +        '(3 sisu-general-font-lock-red2 t) +      ) + +      ;; footnote/endnote ---- +      ;(cons "\~{.+?}\~"  'sisu-general-font-lock-green1) +      (cons "\~{\\*\\*\\|\~{\\*\\|\~{\\|}\~"   'sisu-general-font-lock-red2) +      (cons "\~\\[\\+\\|\~\\[\\*\\|\~\\[\\|\\]\~"  'sisu-general-font-lock-red2) +      (cons "\~\\^ \\|^\\^\~ " 'sisu-general-font-lock-red2) +      (list +        (concat +          "\\(\*\~\\)" +          "\\([^ \r\t\n]+\\)" +        ) +        '(1 sisu-general-font-lock-red1 t) +        '(2 sisu-general-font-lock-blue2 t) +      ) + +      ;; emphasis (can be program configured to be bold italics or underscore) +      (list +        (concat +          "\\([*]{\\)" +          "\\([^}]+\\)" +          "\\(}[*]\\)" +        ) +        '(1 sisu-general-font-lock-red1 t) +        '(2 sisu-general-font-lock-red1 t) +        '(3 sisu-general-font-lock-red1 t) +      ) + +      ;; bold ---------------- +      (list +        (concat +          "\\([!]{\\)" +          "\\([^}]+\\)" +          "\\(}[!]\\)" +        ) +        '(1 sisu-general-font-lock-red1 t) +        '(2 sisu-general-font-lock-red1 t) +        '(3 sisu-general-font-lock-red1 t) +      ) +      (cons "\\*[^ ]+\\*"               'sisu-general-font-lock-red1) +      (cons "^!_ .+"                    'sisu-general-font-lock-red1) + +      ;; italics ------------- +      (list +        (concat +          "\\([/]{\\)" +          "\\([^}]+\\)" +          "\\(}[/]\\)" +        ) +        '(1 sisu-general-font-lock-red1 t) +        '(2 sisu-general-font-lock-blue1 t) +        '(3 sisu-general-font-lock-red1 t) +      ) + +      ;; underscore ---------- +      (list +        (concat +          "\\([_]{\\)" +          "\\([^}]+\\)" +          "\\(\}[_]\\)" +        ) +        '(1 sisu-general-font-lock-red1 t) +        '(2 sisu-general-font-lock-red1 t) +        '(3 sisu-general-font-lock-red1 t) +      ) + +      ;; monospace ----------- +      (list +        (concat +          "\\([#]{\\)" +          "\\([^}]+\\)" +          "\\(}[#]\\)" +        ) +        '(1 sisu-general-font-lock-red1 t) +        '(2 sisu-general-font-lock-red1 t) +        '(3 sisu-general-font-lock-red1 t) +      ) + +      ;; citation ------------ +      (list +        (concat +          "\\([\"]{\\)" +          "\\([^}]+\\)" +          "\\(}[\"]\\)" +        ) +        '(1 sisu-general-font-lock-red1 t) +        '(2 sisu-general-font-lock-red1 t) +        '(3 sisu-general-font-lock-red1 t) +      ) + +      ;; inserted text ------- +      (list +        (concat +          "\\([\+]{\\)" +          "\\([^}]+\\)" +          "\\(}[\+]\\)" +        ) +        '(1 sisu-general-font-lock-red1 t) +        '(2 sisu-general-font-lock-red1 t) +        '(3 sisu-general-font-lock-red1 t) +      ) + +      ;; strike through ------ +      (list +        (concat +          "\\(\\-{\\)" +          "\\([^}]+\\)" +          "\\(}\\-\\)" +        ) +        '(1 sisu-general-font-lock-red1 t) +        '(2 sisu-general-font-lock-red1 t) +        '(3 sisu-general-font-lock-red1 t) +      ) + +      ;; superscript --------- +      (list +        (concat +          "\\(\\^{\\)" +          "\\([^}]+\\)" +          "\\(}\\^\\)" +        ) +        '(1 sisu-general-font-lock-red1 t) +        '(2 sisu-general-font-lock-red1 t) +        '(3 sisu-general-font-lock-red1 t) +      ) + +      ;; subscript ----------- +      (list +        (concat +          "\\([,]{\\)" +          "\\([^}]+\\)" +          "\\(}[,]\\)" +        ) +        '(1 sisu-general-font-lock-red1 t) +        '(2 sisu-general-font-lock-red1 t) +        '(3 sisu-general-font-lock-red1 t) +      ) + +      ;; numbered list +      (cons "^# \\|^_# "                'sisu-general-font-lock-red1) + +      ;; bullet text +      (cons "^_\\*[1-9] \\|^_\\* "      'sisu-general-font-lock-red1) + +      ;; indented text +      (cons "^_[1-9] "                  'sisu-general-font-lock-red1) +      (cons "^_[1-9]! "                 'sisu-general-font-lock-red1) + +      ;; hanging indented text [proposed enable when implemented] +      (cons "^__[1-9] "                'sisu-general-font-lock-red1) +      (cons "^_[0-9]_[0-9] "           'sisu-general-font-lock-red1) +      (cons "^__[1-9]! "               'sisu-general-font-lock-red1) +      (cons "^_[0-9]_[0-9]! "          'sisu-general-font-lock-red1) + +      ;; url +      (cons "\\(^\\|[ ]\\)https?:[/][/][^ \t\n\r<]+" 'sisu-general-font-lock-blue2) + +      ;; Comment Lines +      (cons "^% .*"                     'sisu-general-font-lock-blue1) + +      ;; page break +      (cons "^\\(-\\\\\\\\-\\|=\\\\\\\\=\\|-\\.\\.-\\)" 'sisu-general-font-lock-red2) + +      ;; line break +      (cons " \\\\\\\\ "                'sisu-general-font-lock-red1) + +      ;; line break (depreciated) +      (cons "<br>"                      'sisu-general-font-lock-red1) + +      ;; Section titles +      (list "^\\(\\([1-4]\\|:?[A-D]\\)\\~\\)\\(.*\\)" +        '(1 sisu-title-1 t) +        '(3 sisu-title-2 t) +      ) + +      ;; hyper-links +      (list +        (concat +          "\\({~^\\|{\\)" +          "\\([^}{]+\\)" +          "\\(}https?:[/][/][^ \r\n\t<]+\\)" +        ) +        '(1 sisu-general-font-lock-blue2 t) +        '(2 sisu-general-font-lock-red1 t) +        '(3 sisu-general-font-lock-blue2 t) +      ) + +      ;; book index +      (list +        (concat +          "^\\(\={\\)" +          "\\([^}{]+\\)" +          "\\(}\\)$" +        ) +        '(1 sisu-general-font-lock-green1 t) +        '(2 nil t) +        '(3 sisu-general-font-lock-green1 t) +      ) + +      ;(cons "^\={.+}"                 'sisu-general-font-lock-green1) + +      ;; numbers +      (cons "\\<[.0-9]+\\>"             'sisu-general-font-lock-green2) + +      ;; bullets sisu_normal (nearly copied regexp) +      (cons "^_\\([1-9*]\\|[1-9]\\*\\) " 'sisu-general-font-lock-blue2) + +      ;; image links +      (list +        (concat +          "\\({\\)" +          "\\([^}{]+\\)" +          "\\(}image\\)" +        ) +        '(1 sisu-general-font-lock-blue2 t) +        '(2 sisu-general-font-lock-red1 t) +        '(3 sisu-general-font-lock-blue2 t) +      ) + +      ;; insert file links +      (list +        (concat +          "\\(<< \\)" +          "\\([^ \r\t\n]+\\.ss\\)" +          "\\(i\\|t\\)" +        ) +        '(1 sisu-general-font-lock-blue2 t) +        '(2 sisu-general-font-lock-blue2 t) +        '(3 sisu-general-font-lock-blue2 t) +      ) + +      ;; raw keywords +      (list +        (concat +          "^\\(\\(" +          "creator\\|" +          "title\\|" +          "date\\|" +          "rights\\|" +          "publisher\\|" +          "classify\\|" +          "identifier\\|" +          "original\\|" +          "notes\\|" +          "links\\|" +          "make\\|" +          "\\):\\)\\(.*\\)" +        ) +        '(1 sisu-title-2 keep) +        '(3 sisu-title-3 keep) +      ) +    ) +  ) +  "Default expressions to highlight in AsciiSisu mode." +) + +;; outline mode evil "folding" if available +;; (define-key evil-normal-state-map ",0"   'show-all) +;; (define-key evil-normal-state-map ",-"   'hide-body) +;; (define-key evil-normal-state-map ",+"   'show-subtree) +;; (define-key evil-normal-state-map ",="   'show-subtree) + +;; + +;; Sisu & Autoload: + +;;;###autoload +(define-derived-mode sisu-spine-mode text-mode "SiSU" +  "Major mode for editing SiSU files. +SiSU document structuring, publishing in multiple formats and search. +URL `https://www.sisudoc.org/'" +  (modify-syntax-entry ?\'  ".") +  ;;(flyspell-mode nil) + +  (make-local-variable 'paragraph-start) +  (setq paragraph-start (concat "$\\|>" page-delimiter)) +  (make-local-variable 'paragraph-separate) +  (setq paragraph-separate paragraph-start) +  (make-local-variable 'paragraph-ignore-fill-prefix) +  (setq paragraph-ignore-fill-prefix t) + +  (set (make-local-variable 'outline-regexp) +       "^\\(\\([1-4]\\|:?[A-D]\\)\\~\\|\\@[a-z]+:\\( \\|$\\)\\)") + +  (make-local-variable 'require-final-newline) +  (setq require-final-newline t) + +  (make-local-variable 'font-lock-defaults) +  (setq font-lock-defaults +        '(sisu-font-lock-keywords +          nil                           ; KEYWORDS-ONLY: no +          nil                           ; CASE-FOLD: no +          ((?_ . "w"))                  ; SYNTAX-ALIST +          )) +  ;; Enable outlining. +  ;; TODO with outlining make sure linum (line numbering) is off, +  ;; else performance penalty, sucks bigtime +  (outline-minor-mode 1)) + +;;;###autoload (add-to-list 'auto-mode-alist '("\\.ss[imt]\\'" . sisu-spine-mode)) + +(provide 'sisu-spine-mode) + +;; + +;;; sisu-spine-mode.el ends here diff --git a/sundry/editor-syntax-etc/vim/colors/def-sisu.vim b/sundry/editor-syntax-etc/vim/colors/def-sisu.vim new file mode 100644 index 0000000..2c260bb --- /dev/null +++ b/sundry/editor-syntax-etc/vim/colors/def-sisu.vim @@ -0,0 +1,224 @@ +" Vim color file +" Name:            def-sisu +" Maintainer:      Ralph Amissah <ralph@amissah.com> +" Last Change:     2013-02-14 +" URL:             <https://git.sisudoc.org/projects/sisudoc-spine/tree/sundry/editor-syntax-etc/vim/colors/def-sisu.vim> +"                  <https://sisudoc.org/> +" 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 +"<https://vim.wikia.com/wiki/Xterm256_color_names_for_console_Vim> +"<https://guns.github.com/xterm-color-table.vim/images/xterm-color-table-with-visible-rgb.png> +" ------- +" 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 diff --git a/sundry/editor-syntax-etc/vim/colors/def.vim b/sundry/editor-syntax-etc/vim/colors/def.vim new file mode 100644 index 0000000..adc9dd9 --- /dev/null +++ b/sundry/editor-syntax-etc/vim/colors/def.vim @@ -0,0 +1,142 @@ +"%% Vim color file +"  Name:           def +"  Maintainer:     Ralph Amissah <ralph@amissah.com> +"  Last Change:    2013-02-14, 2016-07-28, 2022-09-05 +"  URL:            <https://git.sisudoc.org/projects/sisudoc-spine/tree/sundry/editor-syntax-etc/vim/colors/def.vim> +"                  <https://sisudoc.org/> +"  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 diff --git a/sundry/editor-syntax-etc/vim/colors/frugal-cterm-sisu.vim b/sundry/editor-syntax-etc/vim/colors/frugal-cterm-sisu.vim new file mode 100644 index 0000000..f631f63 --- /dev/null +++ b/sundry/editor-syntax-etc/vim/colors/frugal-cterm-sisu.vim @@ -0,0 +1,67 @@ +" Vim color file +" Name:            frugal-cterm-sisu +" Maintainer:      Ralph Amissah <ralph@amissah.com> +" Last Change:     2013-02-09 +" URL:             <https://git.sisudoc.org/projects/sisudoc-spine/tree/sundry/editor-syntax-etc/vim/colors/frugal-cterm-sisu.vim> +"                  <https://sisudoc.org/> +" 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 diff --git a/sundry/editor-syntax-etc/vim/colors/redo.vim b/sundry/editor-syntax-etc/vim/colors/redo.vim new file mode 100644 index 0000000..184961ca --- /dev/null +++ b/sundry/editor-syntax-etc/vim/colors/redo.vim @@ -0,0 +1,78 @@ +"%% Vim color file +"  Name:            redo +"  Maintainer:      Ralph Amissah <ralph@amissah.com> +"  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 diff --git a/sundry/editor-syntax-etc/vim/colors/shift.vim b/sundry/editor-syntax-etc/vim/colors/shift.vim new file mode 100644 index 0000000..2174630 --- /dev/null +++ b/sundry/editor-syntax-etc/vim/colors/shift.vim @@ -0,0 +1,78 @@ +"%% Vim color file +"  Name:            shift +"  Maintainer:      Ralph Amissah <ralph@amissah.com> +"  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 diff --git a/sundry/editor-syntax-etc/vim/colors/slate.vim b/sundry/editor-syntax-etc/vim/colors/slate.vim new file mode 100644 index 0000000..6801e2a --- /dev/null +++ b/sundry/editor-syntax-etc/vim/colors/slate.vim @@ -0,0 +1,82 @@ +"%% SiSU Vim color file +"  Name:           Slate +"  Maintainer:     Ralph Amissah <ralph@amissah.com> +"  Last Change:    2013-02-09, 2022-09-05 +"  URL:            <https://git.sisudoc.org/projects/sisudoc-spine/tree/sundry/editor-syntax-etc/vim/colors/slate.vim> +"                  <https://sisudoc.org/> +"                  <https://sisudoc.org/> +"  Notes:          cterm now uses frugal-sisu 8 colors for term +"                  (for gui originally looked at desert Hans Fugal <hans@fugal.net> +"                  <http://hans.fugal.net/vim/colors/desert.vim> (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 diff --git a/sundry/editor-syntax-etc/vim/filetype.vim b/sundry/editor-syntax-etc/vim/filetype.vim new file mode 100644 index 0000000..48f8967 --- /dev/null +++ b/sundry/editor-syntax-etc/vim/filetype.vim @@ -0,0 +1,8 @@ +" 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 diff --git a/sundry/editor-syntax-etc/vim/ftplugin/sisu-spine.vim b/sundry/editor-syntax-etc/vim/ftplugin/sisu-spine.vim new file mode 100644 index 0000000..43c7e53 --- /dev/null +++ b/sundry/editor-syntax-etc/vim/ftplugin/sisu-spine.vim @@ -0,0 +1,224 @@ +"%% SiSU Vim ftplugin +" SiSU Maintainer: Ralph Amissah <ralph@amissah.com> +" 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 <silent> <C-m> :if &guioptions =~# 'm' <Bar> +    \set guioptions-=m <Bar> +    \set guioptions-=T <Bar> +  \else <Bar> +    \set guioptions+=m <Bar> +    \set guioptions-=T <Bar> +  \endif<CR> +: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 <leader>paste :set invpaste<cr> +"% wrap/formatting paragraph according to the current 'textwidth' with ^\ (control-\): +:imap <C-\> <C-O>gqap +:nmap <C-\>      gqap +:vmap <C-\>      gq +"% save file, go to next file in buffer +:map <leader>nf :w <enter> :n <enter> +"% vimdiff q exits +:if &diff +:  cmap q qa +:endif +"% directory files, placed in vertical split window +:map <leader>ls :vs<cr> :Explore<cr> +:map <leader>dir :vs<cr> :Explore<cr> +"% 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 <Down> gj +:nnoremap <Up> gk +:vnoremap <Down> gj +:vnoremap <Up> gk +:inoremap <Down> <C-o>gj +:inoremap  <Up> <C-o>gk +"% search and replace +:map <leader>rd :.,$s///c "search and replace down +:map <leader>rg :%s///c "search and replace whole file +:map <leader>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 <leader>e :e <c-r>=expand("%:p:h") . "/" <cr> +:map <leader>pwd :exe 'cd ' . expand ("%:p:h")<cr> +"% searchhighlight t93: Toggle search highlight <C-n> +:function! ToggleHLSearched() +:  if &hls +:    set nohls +:  else +:    set hls +:  endif +:endfun +:nmap <silent> <C-n> :silent call ToggleHLSearched()<cr> +"%% SiSU vim folds +"% foldsearchx FoldSearch (opens result of search all else closed) t77 +:map <leader>fs :set foldmethod=expr foldcolumn=2 foldlevel=0 <cr> +:map <leader>ff :F<cr> +:map <leader>fe :F<cr> zE +"% foldtoggle Fold Toggle mapped to <space> +: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 <space> :call ToggleFold()<cr> +"% 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(<q-args>) +:  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 <Leader>nn :set <c-r>={'00':'','01':'r','10':'nor'}[&rnu.&nu]<CR>nu<CR> +"% cursorline +:map <leader>cu :if &cursorcolumn <Bar> +    \set nocursorline nocursorcolumn <Bar> +  \else <Bar> +    \set cursorline cursorcolumn <Bar> +  \endif<cr> +:map <leader>cu- :set nocursorline nocursorcolumn<cr> +:map <leader>cu+ :set cursorline cursorcolumn<cr> diff --git a/sundry/editor-syntax-etc/vim/ftplugin/sisu.vim b/sundry/editor-syntax-etc/vim/ftplugin/sisu.vim new file mode 100644 index 0000000..43c7e53 --- /dev/null +++ b/sundry/editor-syntax-etc/vim/ftplugin/sisu.vim @@ -0,0 +1,224 @@ +"%% SiSU Vim ftplugin +" SiSU Maintainer: Ralph Amissah <ralph@amissah.com> +" 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 <silent> <C-m> :if &guioptions =~# 'm' <Bar> +    \set guioptions-=m <Bar> +    \set guioptions-=T <Bar> +  \else <Bar> +    \set guioptions+=m <Bar> +    \set guioptions-=T <Bar> +  \endif<CR> +: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 <leader>paste :set invpaste<cr> +"% wrap/formatting paragraph according to the current 'textwidth' with ^\ (control-\): +:imap <C-\> <C-O>gqap +:nmap <C-\>      gqap +:vmap <C-\>      gq +"% save file, go to next file in buffer +:map <leader>nf :w <enter> :n <enter> +"% vimdiff q exits +:if &diff +:  cmap q qa +:endif +"% directory files, placed in vertical split window +:map <leader>ls :vs<cr> :Explore<cr> +:map <leader>dir :vs<cr> :Explore<cr> +"% 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 <Down> gj +:nnoremap <Up> gk +:vnoremap <Down> gj +:vnoremap <Up> gk +:inoremap <Down> <C-o>gj +:inoremap  <Up> <C-o>gk +"% search and replace +:map <leader>rd :.,$s///c "search and replace down +:map <leader>rg :%s///c "search and replace whole file +:map <leader>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 <leader>e :e <c-r>=expand("%:p:h") . "/" <cr> +:map <leader>pwd :exe 'cd ' . expand ("%:p:h")<cr> +"% searchhighlight t93: Toggle search highlight <C-n> +:function! ToggleHLSearched() +:  if &hls +:    set nohls +:  else +:    set hls +:  endif +:endfun +:nmap <silent> <C-n> :silent call ToggleHLSearched()<cr> +"%% SiSU vim folds +"% foldsearchx FoldSearch (opens result of search all else closed) t77 +:map <leader>fs :set foldmethod=expr foldcolumn=2 foldlevel=0 <cr> +:map <leader>ff :F<cr> +:map <leader>fe :F<cr> zE +"% foldtoggle Fold Toggle mapped to <space> +: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 <space> :call ToggleFold()<cr> +"% 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(<q-args>) +:  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 <Leader>nn :set <c-r>={'00':'','01':'r','10':'nor'}[&rnu.&nu]<CR>nu<CR> +"% cursorline +:map <leader>cu :if &cursorcolumn <Bar> +    \set nocursorline nocursorcolumn <Bar> +  \else <Bar> +    \set cursorline cursorcolumn <Bar> +  \endif<cr> +:map <leader>cu- :set nocursorline nocursorcolumn<cr> +:map <leader>cu+ :set cursorline cursorcolumn<cr> diff --git a/sundry/editor-syntax-etc/vim/syntax/sisu-spine.vim b/sundry/editor-syntax-etc/vim/syntax/sisu-spine.vim new file mode 100644 index 0000000..2de0095 --- /dev/null +++ b/sundry/editor-syntax-etc/vim/syntax/sisu-spine.vim @@ -0,0 +1,284 @@ +" SiSU Vim syntax    file (sisu-spine) +" SiSU Maintainer:   Ralph Amissah <ralph.amissah@gmail.com> +" SiSU Markup:       SiSU (sisu-5.6.7) +" sisu-spine Markup: sisu-spine +" Last Change:       2017-06-22, 2025-02-21 +" URL: <https://git.sisudoc.org/projects/sisudoc-spine/tree/sundry/editor-syntax-etc/vim/syntax/sisu-spine.vim> +"      <https://git.sisudoc.org/projects/sisudoc-spine/tree/sundry/editor-syntax-etc/vim/syntax/sisu.vim> +"      <https://sisudoc.org/> +"(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 "<![^ei]\S\+!>" + +"% "Markers Identifiers: +if !exists("sisu_no_identifiers") +  syn match   sisu_mark_endnote                                           "\~^" +  syn match   sisu_break               contains=@NoSpell                  " \\\\\( \|$\)\|<br>\|<br />" +  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 "<a href\|</a>]" + +"% "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 "<dir>" +"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]\)>[^(</\1>)]\{-}\n$" + +"% "Error Exceptions: +syn match sisu_control "\n$" "contains=ALL +"syn match sisu_control " //" +syn match sisu_error   "%{" +syn match sisu_error   "<br>_\?https\?:\S\+\|_\?https\?:\S\+<br>" +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 diff --git a/sundry/editor-syntax-etc/vim/syntax/sisu.vim b/sundry/editor-syntax-etc/vim/syntax/sisu.vim new file mode 100644 index 0000000..21fd3bc --- /dev/null +++ b/sundry/editor-syntax-etc/vim/syntax/sisu.vim @@ -0,0 +1,277 @@ +" SiSU Vim syntax file +" SiSU Maintainer: Ralph Amissah <ralph.amissah@gmail.com> +" SiSU Markup:     SiSU (sisu-5.6.7) +" Last Change:     2017-06-22 +" URL: <https://git.sisudoc.org/projects/sisudoc-spine/tree/sundry/editor-syntax-etc/vim/syntax/sisu.vim> +"      <https://sisudoc.org/> +"(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 "<![^ei]\S\+!>" + +"% "Markers Identifiers: +if !exists("sisu_no_identifiers") +  syn match   sisu_mark_endnote                                           "\~^" +  syn match   sisu_break               contains=@NoSpell                  " \\\\\( \|$\)\|<br>\|<br />" +  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 "<a href\|</a>]" + +"% "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 "<dir>" +"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]\)>[^(</\1>)]\{-}\n$" + +"% "Error Exceptions: +syn match sisu_control "\n$" "contains=ALL +"syn match sisu_control " //" +syn match sisu_error   "%{" +syn match sisu_error   "<br>_\?https\?:\S\+\|_\?https\?:\S\+<br>" +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 diff --git a/sundry/editor-syntax-etc/vim/vim-sisu.yaml b/sundry/editor-syntax-etc/vim/vim-sisu.yaml new file mode 100644 index 0000000..ca665bc --- /dev/null +++ b/sundry/editor-syntax-etc/vim/vim-sisu.yaml @@ -0,0 +1,7 @@ +#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 | 
