diff options
author | Ralph Amissah <ralph@amissah.com> | 2007-07-13 03:00:43 +0100 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2007-07-13 03:00:43 +0100 |
commit | 90726dc1fc29c0262ea04c668e94bc67384beb9e (patch) | |
tree | fcc43eb6faa677a3e3351e92a5295b502769b7ef /data/sisu/conf/editor-syntax-etc | |
parent | Merge branch 'upstream' into debian/sid (diff) | |
parent | clean (diff) |
Merge branch 'upstream' into debian/sid
Diffstat (limited to 'data/sisu/conf/editor-syntax-etc')
-rw-r--r-- | data/sisu/conf/editor-syntax-etc/README | 92 | ||||
-rw-r--r-- | data/sisu/conf/editor-syntax-etc/diakonos/diakonos.conf | 977 | ||||
-rw-r--r-- | data/sisu/conf/editor-syntax-etc/gedit/sisu.lang | 124 | ||||
-rw-r--r-- | data/sisu/conf/editor-syntax-etc/kate/sisu.xml | 176 | ||||
-rw-r--r-- | data/sisu/conf/editor-syntax-etc/nano/nanorc | 220 | ||||
-rw-r--r-- | data/sisu/conf/editor-syntax-etc/nedit/sisu_nedit.pats | 79 | ||||
-rw-r--r-- | data/sisu/conf/editor-syntax-etc/vim/addons/colors/slate.vim | 55 | ||||
-rw-r--r-- | data/sisu/conf/editor-syntax-etc/vim/addons/filetype.vim | 8 | ||||
-rw-r--r-- | data/sisu/conf/editor-syntax-etc/vim/addons/ftplugin/sisu.vim | 177 | ||||
-rw-r--r-- | data/sisu/conf/editor-syntax-etc/vim/addons/syntax/sisu.vim | 171 |
10 files changed, 2079 insertions, 0 deletions
diff --git a/data/sisu/conf/editor-syntax-etc/README b/data/sisu/conf/editor-syntax-etc/README new file mode 100644 index 00000000..9fde1d1e --- /dev/null +++ b/data/sisu/conf/editor-syntax-etc/README @@ -0,0 +1,92 @@ +This directory + sisu-examples/sisu-examples/config/syntax_hi/ + /usr/share/sisu-examples/sisu-examples/config/syntax_hi +contains rudimentary sisu syntax highlighting files for: + +* (g)vim <http://www.vim.org> + * package: sisu-vim + * status: largely done + * comments: not found here + a vim syntax highlighting and folds component of sisu exists, + see sisu-vim + +* gedit <http://www.gnome.org/projects/gedit> +* gobby <http://gobby.0x539.de/> + file: sisu.lang + place in: + /usr/share/gtksourceview-1.0/language-specs + or + ~/.gnome2/gtksourceview-1.0/language-specs + * status: very basic syntax highlighting + * comments: this editor features display line wrap and is used by Goby! + +* nano <http://www.nano-editor.org> + file: nanorc + save as: + ~/.nanorc + includes: + * status: basic syntax highlighting + * comments: assumes dark background + no display line-wrap + does line breaks + +* diakonos (an editor written in ruby) <http://purepistos.net/diakonos> + file: diakonos.conf + save as: + ~/.diakonos/diakonos.conf + includes: + * status: basic syntax highlighting + * comments: assumes dark background + no display line-wrap + +* kate & kwrite http://kate.kde.org + file: sisu.xml + place in: + /usr/share/apps/katepart/syntax + or + ~/.kde/share/apps/katepart/syntax + [settings::configure kate::{highlighting,filetypes}] + [tools::highlighting::{markup,scripts}::SiSU] + +* nedit <http://www.nedit.org> + file: sisu_nedit.pats + nedit -import sisu_nedit.pats + * status: a very clumsy first attempt + [not really done] + * comments: this editor features display line wrap + +* emacs <http://www.gnu.org/software/emacs/emacs.html> + files: sisu-mode.el + to file ~/.emacs add the following 2 lines: + (add-to-list 'load-path "/usr/share/sisu-examples/config/syntax_hi") + (require 'sisu-mode.el) + [not done / not yet included] + +* vim & gvim <http://www.vim.org> + files: sisu-vim <http://www.jus.uio.no/sisu/SiSU/download> + package is the most comprehensive sisu syntax highlighting and editor + environment provided to date (is for vim/ gvim, and is separate from the + contents of this directory) + on debian: + aptitude install sisu-vim + * status: this includes: + syntax highlighting + vim folds + some error checking + * comments: this editor features display line wrap + +NOTE: + +[SiSU parses files with long lines or line breaks, +but, display linewrap (without line-breaks) is a +convenient editor feature to have for sisu markup] + +kde-config --prefix +KDEDIR/share/apps/katepart/syntax/ +KDEHOME/share/apps/katepart/syntax +[In the configure dialog in kate, go to the "Editor->highlighting" page and +>select a highlight to change the mimetype/pattern associations for it.] +/etc/mime.types +/usr/share/mime/text +# +# * aeditor (an editor written in ruby) diff --git a/data/sisu/conf/editor-syntax-etc/diakonos/diakonos.conf b/data/sisu/conf/editor-syntax-etc/diakonos/diakonos.conf new file mode 100644 index 00000000..c7fa686b --- /dev/null +++ b/data/sisu/conf/editor-syntax-etc/diakonos/diakonos.conf @@ -0,0 +1,977 @@ +logfile ~/.diakonos/diakonos.log + +# When the cursor is view.margin.y lines or less from the top or +# bottom line, repeatedly scroll the screen view.jump.y lines until +# the cursor is more than view.margin.y lines from the top and +# bottom line. +# Similarly for view.margin.x and view.jump.x, with respect to the +# left-most and right-most screen columns. +view.margin.x 10 +view.margin.y 5 +view.jump.x 10 +view.jump.y 5 +view.scroll_amount 3 +view.lookback 200 +view.nonfilelines.visible false +view.nonfilelines.character ~ + +# bol_behaviour: This specifies where the cursor should go when the +# beginning-of-line key (the default is the Home key) is pressed. +# zero: Always move to the left-most column of the line +# first-char: Always move to the left-most non-whitespace character +# alternating-zero: As with 'zero', unless the cursor is +# already there, in which case, as with 'first-char'. +# alternating-first-char: As with 'first-char', unless the cursor is +# already there, in which case, as with 'zero'. +# bol_behavior is a synonym for bol_behaviour. +bol_behaviour alternating-first-char + +# Ensures saved files end with a newline character by adding it if necessary. +eof_newline false + +# Specifies whether the cursor should be at the end (false) of found text, or the +# beginning (true). +found_cursor_start false + +max_clips 30 + +# The maximum number of undo lines held in memory per file +# Smaller files will be able to have more undo levels. +max_undo_lines 100000 + +convert_tabs false + +diff_command diff -U 5 + +# Whether or not to use /usr/bin/file to determine whether files are readable +# before opening them. +use_magic_file false + +# --------------------------------------------------------------------- +# Status Line + +# Use "% syntax" as placeholders +# e.g. %d for decimal integers, %s for strings +status.left -- %s %s%s%s -- (%s) - +status.right - Buf %d of %d --- L%3d/%3d C%2d -- +# The string to use to fill in the space between the left and right sides +# of the status line. +status.filler - +status.modified_str (modified) +status.selecting_str (selecting) +status.unnamed_str (unnamed file) +status.read_only_str (read-only) +# status.vars: any subset of: +# line row num_lines col filename modified type buffer_number num_buffers selecting read_only +status.vars filename modified read_only selecting type buffer_number num_buffers row num_lines col +status.format inverse + +# --------------------------------------------------------------------- +# Context Line + +# The context line shows the wrapping context of the cursor, with respect to +# indentation. This shows the current code block(s) that the cursor is in. + +context.visible false +context.combined false +context.max_levels 4 +context.format inverse +context.separator | +context.separator.format red inverse +#context.max_segment_width 10 + +# --------------------------------------------------------------------- +# Interaction Line + +# Duration of "alert" blink (in seconds) when user has made an invalid choice +interaction.blink_duration 0.05 +interaction.blink_string *********************************************************** +# Time to wait (in seconds) before accepting user keystrokes when prompting for +# a choice which has no default +interaction.choice_delay 3 + +# --------------------------------------------------------------------- +# Key Configuration +# key <keystroke> [<keystroke>...];<function> [<arg>[,<arg>...]] +# If no function is specified, it unmaps any previous mapping. +# i.e. key <keystroke> [<keystroke>...]; +# <keystroke> can be "keycode##" to specify specific keycodes. +# e.g. key keycode8;delete +# Note the lack of space after the word keycode. + +# To obtain the string to use for any keychain, use the printKeychain command +# (default alt+k). + +# The shell, execute and pasteShellResult commands can take variables: + +# $f current buffer's filepath +# $F all current buffer filepaths, space-separated +# $i get a string from user input +# $c temp file containing current clipboard text +# $s temp file containing currently selected text + +key left;cursorLeft +key esc [ D;cursorLeft +key right;cursorRight +key esc [ C;cursorRight +key up;cursorUp +key esc [ A;cursorUp +key down;cursorDown +key esc [ B;cursorDown +key home;cursorBOL +key esc O H;cursorBOL +key esc [ H;cursorBOL +key esc [ 1 ~ cursorBOL +key end;cursorEOL +key esc O F;cursorEOL +key esc [ F;cursorEOL +key esc [ 4 ~;cursorEOL +key pageup;pageUp +key pagedown;pageDown +key ctrl+a;cursorBOL +key ctrl+e;cursorEOL +key alt+<;cursorBOF +key alt+>;cursorEOF +key alt+,;cursorTOV +key alt+.;cursorBOV +key ctrl+j;cursorReturn +key ctrl+l;cursorReturn "forward" +key alt+n;scrollDown +key alt+p;scrollUp +key esc up;scrollUp +key esc [ 1 ; 3 A scrollUp +key esc [ 1 ; 5 A scrollUp +key keycode520 scrollUp +key esc down;scrollDown +key esc [ 1 ; 3 B scrollDown +key esc [ 1 ; 5 B scrollDown +key keycode513 scrollDown +key esc right;seek /(?:^|\W)(\w)|\w(\W|$)/ +key esc [ 1 ; 3 C seek /\w(\W|$)|(?:^|\W)(\w)/ +key esc [ 1 ; 5 C seek /\w(\W|$)|(?:^|\W)(\w)/ +key keycode517 seek /\w(\W|$)|(?:^|\W)(\w)/ +key esc left;seek /\w(\W|$)|(?:^|\W)(\w)/, "up" +key esc [ 1 ; 3 D seek /\w(\W|$)|(?:^|\W)(\w)/, "up" +key esc [ 1 ; 5 D seek /\w(\W|$)|(?:^|\W)(\w)/, "up" +key keycode515 seek /\w(\W|$)|(?:^|\W)(\w)/, "up" + +key ctrl+g;goToLineAsk +key alt+b alt+b;toggleBookmark +key alt+b alt+n;goToNextBookmark +key alt+b alt+p;goToPreviousBookmark +key alt+b alt+a;addNamedBookmark +key alt+b alt+r;removeNamedBookmark +key alt+b alt+g;goToNamedBookmark +key alt+b alt+!;addNamedBookmark 1 +key alt+b alt+@;addNamedBookmark 2 +key alt+b alt+#;addNamedBookmark 3 +key alt+b alt+$;addNamedBookmark 4 +key alt+b alt+%;addNamedBookmark 5 +key alt+b alt+1;goToNamedBookmark 1 +key alt+b alt+2;goToNamedBookmark 2 +key alt+b alt+3;goToNamedBookmark 3 +key alt+b alt+4;goToNamedBookmark 4 +key alt+b alt+5;goToNamedBookmark 5 +key alt+t;goToTag +key alt+);goToTagUnderCursor +key alt+(;popTag + +key backspace;backspace +key ctrl+h;backspace +key del;delete +#key ctrl+k;deleteLine +key ctrl+k;deleteAndStoreLine +key ctrl+alt+k;deleteToEOL +key esc del;collapseWhitespace +key esc [ 3 ; 3 ~ collapseWhitespace +key enter;carriageReturn +key tab;parsedIndent +#key tab;indent +#key ctrl+alt+l;unindent +key alt+i;indent +key esc i;indent +key esc I;unindent +key keycode353 unindent +#key tab;insertSpaces 4 +#key tab;insertTab +key ctrl+t;insertTab + +key f1 help +key esc O P help +key esc [ 1 1 ~ help +key esc [ [ A help +key f11;loadConfiguration +key esc [ 2 3 ~;loadConfiguration +key f12;openFile "~/.diakonos/diakonos.conf" +key esc [ 2 4 ~;openFile "~/.diakonos/diakonos.conf" + +key ctrl+alt+r;redraw +key esc C;toggleSessionSetting 'context.visible', DO_REDRAW +key ctrl+alt+d;toggleSessionSetting 'display' + +key ctrl+n;newFile +key ctrl+o;openFileAsk +key ctrl+s;saveFile +key alt+s;saveFileAs +key ctrl+w;closeFile +key ctrl+alt+o;revert +key alt+!;setReadOnly +key ctrl+q;quit +key esc T;setBufferType + +key alt+1;switchToBufferNumber 1 +key alt+2;switchToBufferNumber 2 +key alt+3;switchToBufferNumber 3 +key alt+4;switchToBufferNumber 4 +key alt+5;switchToBufferNumber 5 +key alt+6;switchToBufferNumber 6 +key alt+7;switchToBufferNumber 7 +key alt+8;switchToBufferNumber 8 +key alt+9;switchToBufferNumber 9 +key alt+0;switchToBufferNumber 10 +key alt+-;switchToPreviousBuffer +key alt+=;switchToNextBuffer + +key ctrl+space;anchorSelection +#key ctrl+space;toggleSelection +key ctrl+c;copySelection +key ctrl+x;cutSelection +key alt+u;removeSelection +key ctrl+alt+v;showClips +key ctrl+v;paste +key ctrl+y;unundo +key ctrl+z;undo +#key ctrl+z;suspend +key suspend;undo +#key suspend;suspend + +key ctrl+f;find +#key ctrl+f;find "down", CASE_SENSITIVE +key alt+f;find "down", CASE_SENSITIVE +#key alt+f;findExact +key ctrl+alt+f;find "up" +#key ctrl+alt+f;find "up", CASE_SENSITIVE +key f3;findAgain "down" +key esc [ [ C findAgain "down" +key esc O R;findAgain "down" +key esc [ 1 3 ~;findAgain "down" +key f15;findAgain "up" +key esc [ 2 8 ~ findAgain "up" +key esc O 2 R;findAgain "up" +key ctrl+r;searchAndReplace +key ctrl+alt+u;clearMatches + +key f2 shell +key esc O Q shell +key esc [ 1 2 ~ shell +key esc [ [ B shell +key f8;execute +key esc F;execute "glark '$i' $F | less" +key esc d shell "diff -U 5 -w -b $c $s" +#key esc F;shell "grep -n '$i' $F" +#key esc F;execute "grep -n '$i' $F | less" +key f14 evaluate +key esc O 2 Q evaluate +esc [ 2 6 ~ evaluate +key ctrl+alt+c;shell "ruby -c $f" +key ctrl+alt+d;shell "php -l $f" + +# To use the following: +# 1) Copy to the clipboard some Ruby code which operates on stdin text and outputs to stdout. +# 2) Select (highlight) some text to operate on. +# 3) Activate this pasteShellResult command. +# 4) The selected text should now be replaced with the script's results. +key ctrl+alt+p;pasteShellResult "cat $s | ruby $c" +#key ctrl+alt+p;pasteShellResult "cat $s | perl $c" +#key ctrl+alt+p;pasteShellResult "cat $s | python $c" +#key ctrl+alt+p;pasteShellResult "cat $s | sed -f $c" +#key ctrl+alt+p;pasteShellResult "cat $s | awk -f $c" + +key alt+k printKeychain +key alt+m;toggleMacroRecording +key f4 playMacro +key esc O S playMacro +key esc [ 1 4 ~ playMacro +key esc [ [ D playMacro +key f5 loadScript +key esc [ 1 5 ~ loadScript +key esc [ [ E loadScript +key f6;repeatLast +key esc [ 1 7 ~;repeatLast +key f7;operateOnEachLine +key f19;operateOnString +key esc f7;operateOnLines + +# Emacs-like keychains + +#key ctrl+s;find +#key ctrl+x ctrl+c;quit +#key ctrl+x ctrl+f;openFileAsk +#key ctrl+x ctrl+s;saveFile + +# --------------------------------------------------------------------- +# Colour Definitions +# +# colour <integer greater than 7> <foreground colour> <background colour> +# +# For a list of colour names, see the list of format codes in the +# Language Definitions section, below. +# This colour command is only used when you want to set a different background +# colour than the terminal default. +# +# color is a synonym for colour. +colour 8 white blue +colour 9 white red +colour 10 white magenta +colour 11 yellow blue +colour 12 white green +colour 13 white brown +colour 14 black cyan +colour 15 yellow red + +# --------------------------------------------------------------------- +# Language Definitions +# For syntax highlighting and indentation. + +# lang.<language>.tokens.<any name>[.case_insensitive] <regexp with one pair of parentheses identifying the token> +# lang.<language>.tokens.<any name>.format <format codes> +# <format codes> can be any subset of: +# normal black red green brown blue magenta cyan white standout underline inverse blink dim bold +# The numbers of colour pairs (as defined by the configuration command "colour") +# can also be used as format codes. +# +# indent.roundup: If a line's indentation is not evenly divisible by the +# indent.size, and indent.roundup is true, then the non-integer indentation +# level will be rounded up. If indent.roundup is false, then it will be +# rounded down. +# e.g. given an indent.size of 4, and a line with 6 spaces, indent.roundup +# true will make Diakonos consider the line indented 2 levels. With +# indent.roundup false, it will be considered indented 1 level. +# +# The filemask can also be used to specify specific filenames which +# don't conform to the standard extensions for a language. + +# Text (default) + +lang.text.format.default white +lang.text.format.selection inverse +lang.text.format.found yellow inverse +lang.text.indent.size 2 +lang.text.indent.auto true +lang.text.indent.roundup false +#lang.text.indent.using_tabs true +lang.text.tabsize 8 + +lang.xml.filemask \.(xml|rdl|aiml|xhtml)$ +lang.xml.format.default white +lang.xml.format.selection inverse +lang.xml.format.found yellow inverse +lang.xml.tabsize 8 +lang.xml.indent.size 4 +lang.xml.indent.auto true +lang.xml.indent.roundup true +#lang.xml.indent.using_tabs true +lang.xml.tokens.entities &\S+?; +lang.xml.tokens.entities.format magenta bold +lang.xml.tokens.code.open (<)(?:[^%]|$) +lang.xml.tokens.code.close (?:[^%]|^)(>) +lang.xml.tokens.code.format white bold +lang.xml.tokens.code.change_to xml_tag +lang.xml.tokens.comments.open (<!--) +lang.xml.tokens.comments.close (-->) +lang.xml.tokens.comments.format 8 +lang.xml.tokens.comments.change_to xml_comment +lang.xml.tokens.template.open \[@-- +lang.xml.tokens.template.close --@\] +lang.xml.tokens.template.format brown +lang.xml.tokens.template.change_to perl +lang.xml_tag.format.default white bold +lang.xml_tag.format.selection inverse +lang.xml_tag.format.found yellow inverse +lang.xml_tag.tabsize 8 +lang.xml_tag.indent.size 4 +lang.xml_tag.indent.auto true +lang.xml_tag.indent.roundup true +#lang.xml_tag.indent.using_tabs true +lang.xml_tag.tokens.doublequoted_strings (\".*?[^\\]\") +lang.xml_tag.tokens.doublequoted_strings.format green bold +lang.xml_tag.tokens.singlequoted_strings ('.*?[^\\]') +lang.xml_tag.tokens.singlequoted_strings.format green bold +lang.xml_tag.tokens.symbols ([@!#$%^&*()\[\]{}/?=+\-\\|,<.>;:]) +lang.xml_tag.tokens.symbols.format white +lang.xml_comment.format.default 8 +lang.xml_comment.format.selection inverse +lang.xml_comment.format.found yellow inverse +lang.xml_comment.tabsize 8 +lang.xml_comment.indent.size 4 +lang.xml_comment.indent.auto true +lang.xml_comment.indent.roundup true +#lang.xml_comment.indent.using_tabs true + +lang.html.filemask \.(r?html?|php|asp)$ +lang.html.format.default white +lang.html.format.selection inverse +lang.html.format.found yellow inverse +lang.html.tabsize 8 +lang.html.indent.size 4 +lang.html.indent.auto true +lang.html.indent.roundup true +#lang.html.indent.using_tabs true +lang.html.tokens.code.open (<)(?:[^%]|$) +lang.html.tokens.code.close (?:[^%]|^)(>) +lang.html.tokens.code.format white bold +lang.html.tokens.code.change_to html_tag +lang.html.tokens.entities &\S+?; +lang.html.tokens.entities.format magenta bold +lang.html.tokens.eruby.open <% +lang.html.tokens.eruby.close %> +lang.html.tokens.eruby.format 9 bold +lang.html.tokens.eruby.change_to ruby +lang.html.tokens.php.open <\?(?:php)? +lang.html.tokens.php.close \?> +lang.html.tokens.php.format 10 bold +lang.html.tokens.php.change_to php +lang.html.tokens.comments.open (<!--) +lang.html.tokens.comments.close (-->) +lang.html.tokens.comments.format 8 +lang.html.tokens.comments.change_to html_comment +lang.html_tag.format.default white bold +lang.html_tag.format.selection inverse +lang.html_tag.format.found yellow inverse +lang.html_tag.tabsize 8 +lang.html_tag.indent.size 4 +lang.html_tag.indent.auto true +lang.html_tag.indent.roundup true +#lang.html_tag.indent.using_tabs true +lang.html_tag.tokens.attribute (href) +lang.html_tag.tokens.attribute.format green bold +lang.html_tag.tokens.elements.case_insensitive \b(A|ABBR|ACRONYM|ADDRES|APPLET|AREA|B|BASE|BASEFONT|BDO|BIG|BLOCKQUOTE|BODY|BR|BUTTON|CAPTION|CENTER|CITE|CODE|COL|COLGROUP|DD|DEL|DFN|DIR|DIV|DL|DT|EM|FIELDSET|FONT|FORM|FRAME|FRAMESET|H1|H2|H3|H4|H5|H6|HEAD|HR|HTML|I|IFRAME|IMG|INPUT|INS|ISINDEX|KBD|LABEL|LEGEND|LI|LINK|MAP|MENU|META|NOFRAMES|NOSCRIPT|OBJECT|OL|OPTGROUP|OPTION|P|PARAM|PRE|Q|S|SAMP|SCRIPT|SELECT|SMALL|SPAN|STRIKE|STRONG|STYLE|SUB|SUP|TABLE|TBODY|TD|TEXTAREA|TFOOT|TH|THEAD|TITLE|TR|TT|U|UL|VA)\b +lang.html_tag.tokens.elements.format cyan +lang.html_tag.tokens.attributes.case_insensitive \b(abbr|accept-charset|accept|accesskey|action|align|alink|alt|archive|axis|background|bgcolor|border|cellpadding|cellspacing|char|charoff|charset|checked|cite|class|classid|clear|code|codebase|codetype|color|cols|colspan|compact|content|coords|data|datetime|declare|defer|dir|disabled|enctype|face|for|frame|frameborder|headers|height|href|href|hreflang|hspace|http-equiv|id|ismap|label|lang|language|link|longdesc|marginheight|marginwidth|maxlength|media|method|multiple|name|nohref|noresize|noshade|nowrap|object|onblur|onchange|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onload|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onreset|onselect|onsubmit|onunload|profile|prompt|readonly|rel|rev|rows|rowspan|rules|scheme|scope|scrolling|selected|shape|size|span|src|standby|start|style|summary|tabindex|target|text|title|type|usemap|valign|value|valuetype|version|vlink|vspace|width)\b +lang.html_tag.tokens.attributes.format white +lang.html_tag.tokens.doublequoted_strings (\".*?[^\\]\") +lang.html_tag.tokens.doublequoted_strings.format green bold +lang.html_tag.tokens.singlequoted_strings ('.*?[^\\]') +lang.html_tag.tokens.singlequoted_strings.format green bold +lang.html_tag.tokens.symbols ([@!#$%^&*()\[\]{}/?=+\-\\|,<.>;:]) +lang.html_tag.tokens.symbols.format white +lang.html_comment.format.default 8 +lang.html_comment.format.selection inverse +lang.html_comment.format.found yellow inverse +lang.html_comment.tabsize 8 +lang.html_comment.indent.size 4 +lang.html_comment.indent.auto true +lang.html_comment.indent.roundup true +#lang.html_comment.indent.using_tabs true + +# CSS + +lang.css.filemask \.css$ +lang.css.format.default white +lang.css.format.selection inverse +lang.css.format.found yellow inverse +lang.css.tabsize 8 +lang.css.indent.size 4 +lang.css.indent.auto true +lang.css.indent.roundup true +#lang.css.indent.using_tabs true +lang.css.indent.indenters (\{) +lang.css.indent.unindenters (\}) +lang.css.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(\/\/.*) +lang.css.tokens.properties \b(azimuth|background-attachment|background-color|background-image|background-position|background-repeat|background|border-collapse|border-color|border-spacing|border-style|border-top|border-bottom|border-right|border-left|border-top-color|border-top-style|border-top-width|border-width|border|bottom|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-right|margin-top|margin-left|margin-bottom|margin|max-height|max-width|min-height|min-width|orphans|outline-color|outline-style|outline-width|outline|overflow|padding-top|padding-left|padding-right|padding-bottom|padding|page-break-after|page-break-before|page-break-inside|pause-after|pause-before|pause|pitch-range|pitch|play-during|position|quotes|richness|right|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|table-layout|text-align|text-decoration|text-indent|text-transform|top|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|z-index): +lang.css.tokens.properties.format white bold +lang.css.tokens.colours #[A-Fa-f0-9]{6}|\b(?:aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\b +lang.css.tokens.colours.format yellow bold +lang.css.tokens.long_comments.open \/\* +lang.css.tokens.long_comments.close \*\/ +lang.css.tokens.long_comments.format 8 bold +lang.css.tokens.numbers \b([0-9]+\.[0-9]+|[0-9]+) +lang.css.tokens.numbers.format blue bold +lang.css.tokens.units [^A-Za-z](em|pt|px)\b +lang.css.tokens.units.format cyan +lang.css.tokens.html_elements.case_insensitive \b(A|ABBR|ACRONYM|ADDRES|APPLET|AREA|B|BASE|BASEFONT|BDO|BIG|BLOCKQUOTE|BODY|BR|BUTTON|CAPTION|CENTER|CITE|CODE|COL|COLGROUP|DD|DEL|DFN|DIR|DIV|DL|DT|FIELDSET|FORM|FRAME|FRAMESET|H1|H2|H3|H4|H5|H6|HEAD|HR|HTML|I|IFRAME|IMG|INPUT|INS|ISINDEX|KBD|LABEL|LEGEND|LI|LINK|MAP|MENU|META|NOFRAMES|NOSCRIPT|OBJECT|OL|OPTGROUP|OPTION|P|PARAM|PRE|Q|S|SAMP|SCRIPT|SELECT|SMALL|SPAN|STRIKE|STRONG|STYLE|SUB|SUP|TABLE|TBODY|TD|TEXTAREA|TFOOT|TH|THEAD|TITLE|TR|TT|U|UL|VA)\b +lang.css.tokens.html_elements.format green +lang.css.tokens.values \b(auto|block|inherit|inline|larger|none|smaller|solid)\b +lang.css.tokens.values.format blue bold + +# Ruby + +lang.ruby.filemask (?:[Rr]akefile)|(?:\.(?:rb|gem(?:spec)?)$) +lang.ruby.bangmask ruby +lang.ruby.format.default white bold +lang.ruby.format.selection inverse +lang.ruby.format.found yellow inverse +lang.ruby.tokens.reserved_words \b(__FILE__|and|def|end|in|or|self|unless|__LINE__|begin|defined\?|ensure|module|redo|super|until|BEGIN|break|do|false|next|rescue|then|when|END|case|else|for|nil|retry|true|while|alias|class|elsif|if|not|return|undef|yield)\b +lang.ruby.tokens.reserved_words.format white +lang.ruby.tokens.constants \b([A-Z_]+|[A-Z_][A-Z0-9_]+)\b +lang.ruby.tokens.constants.format yellow bold +lang.ruby.tokens.symbols [@!#$%^&*()\[\]{}/?=+\-\\|,<.>;:~] +lang.ruby.tokens.symbols.format white +lang.ruby.tokens.class_variables (@[A-Za-z_][A-Za-z_0-9]*) +lang.ruby.tokens.class_variables.format white bold +lang.ruby.tokens.comments (#.*) +lang.ruby.tokens.comments.format 8 bold +lang.ruby.tokens.regular_expressions (\/.+?[^\\]\/) +lang.ruby.tokens.regular_expressions.format red bold +lang.ruby.tokens.doublequoted_strings (\".*?[^\\]\"|\"\") +lang.ruby.tokens.doublequoted_strings.format green bold +lang.ruby.tokens.singlequoted_strings ('.*?[^\\]'|'') +lang.ruby.tokens.singlequoted_strings.format green bold +lang.ruby.tokens.backquoted_strings (`.*?[^\\]`|``) +lang.ruby.tokens.backquoted_strings.format red bold +lang.ruby.tokens.character_codes \W(\?\S) +lang.ruby.tokens.character_codes.format magenta bold +lang.ruby.tokens.long_comments.open ^=begin +lang.ruby.tokens.long_comments.close ^=end +lang.ruby.tokens.long_comments.format 8 bold +lang.ruby.tokens.sql_string.open (<<-EOSQL) +lang.ruby.tokens.sql_string.close (EOSQL) +lang.ruby.tokens.sql_string.format 1 +lang.ruby.tokens.sql_string.change_to sql +lang.ruby.indent.size 4 +lang.ruby.indent.auto true +lang.ruby.indent.roundup true +#lang.ruby.indent.using_tabs true +lang.ruby.indent.indenters \b(do|def|begin|ensure|when|case|else|for|while|elsif|if|class|module|rescue)\b|([{\[(]$|\{\s*\|[\w\s,]*\|\s*$) +lang.ruby.indent.unindenters \b(end|else|when|rescue)\b|(^\s+[\]})]) +lang.ruby.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(`.+?[^\\]`)|(\/.+?[^\\]\/)|(^\s*#.*)|\S\s+if +lang.ruby.indent.ignore ^\s*$ +lang.ruby.context.ignore ^=(begin|end)$ + +# PHP + +lang.php.filemask \.php\d?$ +lang.php.bangmask php +lang.php.format.default white bold +lang.php.format.selection inverse +lang.php.format.found yellow inverse +lang.php.tokens.doublequoted_strings (\".*?[^\\]\") +lang.php.tokens.doublequoted_strings.format green bold +lang.php.tokens.singlequoted_strings ('.*?[^\\]') +lang.php.tokens.singlequoted_strings.format green bold +lang.php.tokens.reserved_words \b(NULL|E_ALL|__wakeup|not|endwhile|__sleep|new|endswitch|__LINE__|list|endif|__FILE__|global|endforeach|while|include_once|endfor|virtual|include|enddeclare|xor|if|empty|var|elseif|TRUE|else|this|echo|stdClass|die|switch|do|static|default|return|function|declare|require_once|foreach|continue|require|for|class|print|FALSE|cfunction|PHP_VERSION|extends|case|exit|break|PHP_OS|eval|argc|parent|E_WARNING|as|or|E_ERROR|argv|old_function|E_PARSE|and)\b +lang.php.tokens.reserved_words.format white +lang.php.tokens.constants \b([A-Z_]+|[A-Z_][A-Z0-9_]+)\b +lang.php.tokens.constants.format yellow bold +lang.php.tokens.comments (\/\/.*) +lang.php.tokens.comments.format 8 bold +lang.php.tokens.preprocessor (^\s*#.*) +lang.php.tokens.preprocessor.format yellow bold +lang.php.tokens.symbols ([!@#$%\^&*()\[\]{}/?=+\-\\|,<.>;:]) +lang.php.tokens.symbols.format white +lang.php.tokens.long_comments.open \/\* +lang.php.tokens.long_comments.close \*\/ +lang.php.tokens.long_comments.format 8 bold +lang.php.tokens.sql_string.open (<<<EOS) +lang.php.tokens.sql_string.close (EOS) +lang.php.tokens.sql_string.format 1 +lang.php.tokens.sql_string.change_to sql +lang.php.tokens.js.open (<<<EOJS) +lang.php.tokens.js.close (EOJS) +lang.php.tokens.js.format 12 bold +lang.php.tokens.js.change_to java +lang.php.indent.size 4 +lang.php.indent.auto true +lang.php.indent.roundup false +#lang.php.indent.using_tabs true +lang.php.indent.indenters ([{\[(]$) +lang.php.indent.unindenters (^\s+[\]})]) +lang.php.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(\/\/.*) +lang.php.indent.ignore ^(.+:|\s*?)$ +lang.php.context.ignore ^(.+:|\s*\{?)$ + +# Perl + +lang.perl.filemask \.(?:pl|pm)$ +lang.perl.bangmask perl +lang.perl.format.default white bold +lang.perl.format.selection inverse +lang.perl.format.found yellow inverse +lang.perl.tokens.comments (#.*) +lang.perl.tokens.comments.format 8 bold +lang.perl.tokens.constants \b([A-Z_]+|[A-Z_][A-Z0-9_]+)\b +lang.perl.tokens.constants.format yellow bold +lang.perl.tokens.symbols [!#^&*()\[\]{}/?=+\-\\|,<.>;:~] +lang.perl.tokens.symbols.format white +lang.perl.tokens.regular_expressions (\/.+?[^\\]\/) +lang.perl.tokens.regular_expressions.format red bold +lang.perl.tokens.doublequoted_strings (\".*?[^\\]\") +lang.perl.tokens.doublequoted_strings.format green bold +lang.perl.tokens.singlequoted_strings ('.*?[^\\]') +lang.perl.tokens.singlequoted_strings.format green bold +lang.perl.tokens.backquoted_strings (`.*?[^\\]`) +lang.perl.tokens.backquoted_strings.format red bold +lang.perl.tokens.reserved_words \b(unless|until|else|for|while|foreach|if|return|do|next|elsif|last|redo|continue|sub|goto)\b +lang.perl.tokens.reserved_words.format white +lang.perl.tokens.builtins \b(abs|accept|alarm|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|connect|continue|cos|crypt|dbmclose|dbmopen|defined|delete|die|do|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eval|exec|exists|exit|exp|fcntl|fileno|flock|fork|format|formline|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|goto|grep|hex|import|index|int|ioctl|join|keys|kill|last|lc|lcfirst|length|link|listen|local|localtime|lock|log|lstat|m|map|mkdir|msgctl|msgget|msgrcv|msgsnd|my|next|no|oct|open|opendir|ord|our|pack|package|pipe|pop|pos|print|printf|prototype|push|q|qq|qr|quotemeta|qw|qx|rand|read|readdir|readline|readlink|readpipe|recv|redo|ref|rename|require|reset|return|reverse|rewinddir|rindex|rmdir|s|scalar|seek|seekdir|select|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|sub|substr|symlink|syscall|sysopen|sysread|sysseek|system|syswrite|tell|telldir|tie|tied|time|times|tr|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|use|utime|values|vec|wait|waitpid|wantarray|warn|write|y)\b +lang.perl.tokens.builtins.format cyan bold +lang.perl.tokens.array_variables \s(@[A-Za-z_][A-Za-z_0-9]*)\b +lang.perl.tokens.array_variables.format red bold +lang.perl.tokens.hash_variables \s(%[A-Za-z_][A-Za-z_0-9]*)\b +lang.perl.tokens.hash_variables.format magenta bold +lang.perl.indent.size 4 +lang.perl.indent.auto true +lang.perl.indent.roundup true +#lang.perl.indent.using_tabs true +lang.perl.indent.indenters (case|[{\[(]$) +lang.perl.indent.unindenters (case|^\s+[\]})]) +#lang.perl.indent.indenters \b(unless|else|for|while|foreach|if|do|elsif|sub)\b +#lang.perl.indent.unindenters \b(else)\b +lang.perl.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(`.+?[^\\]`)|(\/.+?[^\\]\/)|(^\s*#.*) +lang.perl.indent.ignore ^\s*$ +lang.perl.context.ignore ^(.+:|\s*\{?)$ + +# Python + +lang.python.filemask \.py$ +lang.python.bangmask python +lang.python.format.default white bold +lang.python.format.selection inverse +lang.python.format.found yellow inverse +lang.python.tokens.constants \b([A-Z_]+|[A-Z_][A-Z0-9_]+)\b +lang.python.tokens.constants.format yellow bold +lang.python.tokens.symbols [@!#$%^&*()\[\]{}/?=+\-\\|,<.>;:~] +lang.python.tokens.symbols.format white +lang.python.tokens.comments (#.*) +lang.python.tokens.comments.format 8 bold +lang.python.tokens.doublequoted_strings (\".*?[^\\]\") +lang.python.tokens.doublequoted_strings.format green bold +lang.python.tokens.singlequoted_strings ('.*?[^\\]') +lang.python.tokens.singlequoted_strings.format green bold +lang.python.tokens.backquoted_strings (`.*?[^\\]`) +lang.python.tokens.backquoted_strings.format red bold +lang.python.tokens.reserved_words \b(and|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|yield)\b +lang.python.tokens.reserved_words.format white +lang.python.indent.size 4 +lang.python.indent.auto true +lang.python.indent.roundup true +#lang.python.indent.using_tabs true +lang.python.indent.indenters \b(class|def|elif|else|except|finally|for|if|try|while)\b +#lang.python.indent.indenters : +lang.python.indent.unindenters \b(else|elif|except)\b +lang.python.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(`.+?[^\\]`)|(^\s*#.*) +lang.python.indent.ignore ^\s*$ + +# Java + +lang.java.filemask \.java$ +lang.java.format.default white bold +lang.java.format.selection inverse +lang.java.format.found yellow inverse +lang.java.tokens.doublequoted_strings (\".*?[^\\]\") +lang.java.tokens.doublequoted_strings.format green bold +lang.java.tokens.singlequoted_strings ('.*?[^\\]') +lang.java.tokens.singlequoted_strings.format green bold +lang.java.tokens.reserved_words \b(abstract|do|if|package|synchronized|boolean|double|implements|private|this|break|else|import|protected|throw|byte|extends|instanceof|public|throws|case|false|int|return|transient|catch|final|interface|short|true|char|finally|long|static|try|class|float|native|strictfp|void|const|for|new|super|volatile|continue|goto|null|switch|while|default|assert)\b +lang.java.tokens.reserved_words.format white +lang.java.tokens.constants \b([A-Z_]+|[A-Z_][A-Z0-9_]+)\b +lang.java.tokens.constants.format yellow bold +lang.java.tokens.comments (\/\/.*) +lang.java.tokens.comments.format 8 bold +lang.java.tokens.symbols ([!@#$%\^&*()\[\]{}/?=+\-\\|,<.>;:]) +lang.java.tokens.symbols.format white +lang.java.tokens.long_comments.open \/\* +lang.java.tokens.long_comments.close \*\/ +lang.java.tokens.long_comments.format 8 bold +lang.java.indent.size 4 +lang.java.indent.auto true +lang.java.indent.roundup false +#lang.java.indent.using_tabs true +lang.java.indent.indenters (\{) +lang.java.indent.unindenters (\}) +lang.java.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(\/\/.*) +lang.java.indent.ignore ^(.+:|\s*?)$ +lang.java.context.ignore ^(.+:|\s*\{?)$ + +# C + +lang.c.filemask \.(c(pp|xx)?|h)$ +lang.c.format.default white bold +lang.c.format.selection inverse +lang.c.format.found yellow inverse +lang.c.tokens.doublequoted_strings (\".*?[^\\]\") +lang.c.tokens.doublequoted_strings.format green bold +lang.c.tokens.singlequoted_strings ('.*?[^\\]') +lang.c.tokens.singlequoted_strings.format green bold +lang.c.tokens.reserved_words \b(if|double|break|else|byte|case|int|return|short|char|long|static|void|for|super|continue|goto|switch|while)\b +lang.c.tokens.reserved_words.format white +lang.c.tokens.constants \b([A-Z_]+|[A-Z_][A-Z0-9_]+)\b +lang.c.tokens.constants.format yellow bold +lang.c.tokens.comments (\/\/.*) +lang.c.tokens.comments.format 8 bold +lang.c.tokens.preprocessor (^\s*#.*) +lang.c.tokens.preprocessor.format yellow bold +lang.c.tokens.symbols ([!@#$%\^&*()\[\]{}/?=+\-\\|,<.>;:]) +lang.c.tokens.symbols.format white +lang.c.tokens.long_comments.open \/\* +lang.c.tokens.long_comments.close \*\/ +lang.c.tokens.long_comments.format 8 bold +lang.c.indent.size 4 +lang.c.indent.auto true +lang.c.indent.roundup false +#lang.c.indent.using_tabs true +lang.c.indent.indenters (case|[{\[(]$) +lang.c.indent.unindenters (case|^\s+[\]})]) +lang.c.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(\/\/.*) +lang.c.indent.ignore ^(.+:|\s*?)$ +lang.c.context.ignore ^(.+:|\s*\{?)$ + +# Configuration files + +lang.conf.filemask (?:\.conf(?:ig)?|\.cfg|\.cnf|user_prefs|XF86Config)$ +lang.conf.format.default white +lang.conf.format.selection inverse +lang.conf.format.found yellow inverse +lang.conf.tokens.commands ^\s*([^\s=]+) +lang.conf.tokens.commands.format cyan bold +lang.conf.tokens.comments (^\s*#.*) +lang.conf.tokens.comments.format yellow bold +lang.conf.tokens.doublequoted_strings (\".*?[^\\]\") +lang.conf.tokens.doublequoted_strings.format green bold +lang.conf.tokens.singlequoted_strings ('.*?[^\\]') +lang.conf.tokens.singlequoted_strings.format green bold +lang.conf.indent.size 4 +lang.conf.indent.auto true +lang.conf.indent.roundup true +#lang.conf.indent.using_tabs true + +# crontab + +lang.crontab.filemask (?:^|\/)crontab$ +lang.crontab.format.default white +lang.crontab.format.selection inverse +lang.crontab.format.found yellow inverse +lang.crontab.tokens.comments (^\s*#.*) +lang.crontab.tokens.comments.format yellow bold +lang.crontab.tokens.schedule ^((?:[0-9\/*,-]+\s+){5}) +lang.crontab.tokens.schedule.format cyan bold +lang.crontab.tokens.commands ^(\S+=.+) +lang.crontab.tokens.commands.format cyan +lang.crontab.indent.size 4 +lang.crontab.indent.auto true +lang.crontab.indent.roundup true +#lang.crontab.indent.using_tabs true + +lang.fstab.filemask ^fstab$ +lang.fstab.format.default white +lang.fstab.format.selection inverse +lang.fstab.format.found yellow inverse +lang.fstab.tokens.comments (^\s*#.*) +lang.fstab.tokens.comments.format yellow bold +lang.fstab.indent.size 4 +lang.fstab.indent.auto true +lang.fstab.indent.roundup true +#lang.fstab.indent.using_tabs true + +# SQL + +lang.sql.filemask \.sql$ +lang.sql.format.default white bold +lang.sql.format.selection inverse +lang.sql.format.found yellow inverse +lang.sql.indent.size 4 +lang.sql.indent.auto true +lang.sql.indent.roundup true +#lang.sql.indent.using_tabs true +lang.sql.tokens.reserved_words.case_insensitive \b(ABSOLUTE|ACCESS|ACTION|ADD|ADMIN|AFTER|ALIAS|ALL|ALLOCATE|AND|ANY|ARE|AS|ASC|ASSERTION|AT|AUDIT|AUTHORIZATION|AVG|BEFORE|BEGIN|BETWEEN|BIT_LENGTH|BOTH|BREADTH|BY|CASCADE|CASCADED|CASE|CAST|CATALOG|CHAR_LENGTH|CHARACTER_LENGTH|CHECK|CLASS|CLOSE|CLUSTER|COALESCE|COBOL|COLLATE|COLLATION|COLUMN|COMPLETION|COMPRESS|COMPUTED|CONCAT|CONNECT|CONNECTION|CONSTRAINT|CONSTRAINTS|CONSTRUCTOR|CONTINUE|CONVERT|CORRESPONDING|COUNT|CROSS|CURRENT_DATE|CURRENT_TIME|CURRENT_TIMESTAMP|CURRENT_USER|CURRENT|CURSOR|CYCLE|DATA|DAY|DBHIGH|DBKEY|DBLOW|DBMAC|DEALLOCATE|DECLARE|DECODE|DEFAULT|DEFERRABLE|DEFERRED|DEPTH|DEREF|DESC|DESCRIBE|DESCRIPTOR|DESTROY|DESTRUCTOR|DIAGNOSTICS|DICTIONARY|DISCONNECT|DISTINCT|DO|DOMAIN|EACH|ELEMENT|ELSE|ELSEIF|END-EXEC|END|EQUALS|ESCAPE|EXCEPT|EXCEPTION|EXCEPTIONS|EXCLUSIVE|EXISTS|EXTERNAL|EXTERNALLY|EXTRACT|FALSE|FILE|FIRST|FOR|FOREIGN|FORTRAN|FOUND|FROM|FULL|FUNCTION|GENERAL|GET|GLOBAL|GO|GOTO|GROUP|HAVING|HOUR|IDENTIFIED|IDENTITY|IF|IGNORE|IMMEDIATE|IN|INCREMENT|INDEX|INDICATOR|INITIAL|INITIALLY|INNER|INOUT|INPUT|INSENSITIVE|INSTEAD|INTERSECT|INTERVAL|INTO|IS|ISOLATION|JOIN|KEY|LABEL|LANGUAGE|LAST|LEADING|LEAVE|LEFT|LESS|LEVEL|LIKE|LIMIT|LOCAL|LOCK|LOOP|LOWER|MATCH|MAX|MAXEXTENTS|MIN|MINUS|MINUTE|MLSLABEL|MLS_LABEL_FORMAT|MODE|MODIFY|MODULE|MONTH|MOVE|MULTISET|NAMES|NATIONAL|NATURAL|NEW_TABLE|NEXT|NO|NOAUDIT|NOCOMPRESS|NONE|NOT|NOWAIT|NULL|NULLIF|NUMBER|NVL|OCTET_LENGTH|OF|OFF|OFFLINE|OID|OLD|OLD_TABLE|ON|ONLINE|ONLY|OPEN|OPERATION|OPERATORS|OPTION|OR|ORDER|OTHERS|OUT|OUTER|OUTPUT|OVERLAPS|PAD|PARAMETER|PARTIAL|PASCAL|PCTFREE|PENDANT|PLI|POSITION|PRECISION|PREORDER|PRESERVE|PRIMARY|PRIOR|PRIVATE|PRIVILEGES|PROCEDURE|PROTECTED|PUBLIC|RAW|READ|READUP|REAL|RECORD|RECURSIVE|REF|REFERENCES|REFERENCING|RELATIVE|RENAME|REPLACE|REPRESENTATION|RESIGNAL|RESOURCE|RESTRICT|RETURN|RETURNS|RIGHT|ROLE|ROUTINE|ROW|ROWID|ROWNUM|ROWS|SAVEPOINT|SCHEMA|SCROLL|SEARCH|SECOND|SECTION|SENSITIVE|SEQUENCE|SESSION|SESSION_USER|SET|SHARE|SIGNAL|SIMILAR|SIZE|SOME|SPACE|SPECIFIC|SQL|SQLCODE|SQLERROR|SQLEXCEPTION|SQLSTATE|SQLWARNING|START|STRUCTURE|SUBSTRING|SUCCESSFUL|SUM|SYNONYM|SYSDATE|SYSTEM_USER|TABLE|TEMPLATE|TEMPORARY|TEST|THAN|THEN|THERE|SQ92|TIMEZONE_HOUR|TIMEZONE_MINUTE|TO|TRAILING|TRANSACTION|TRANSLATE|TRANSLATION|TRIGGER|TRIM|TRUE|TUPLE|TYPE|UID|UNDER|UNION|UNIQUE|UNKNOWN|UPPER|USAGE|USER|USING|VALIDATE|VALUE|VALUES|VARIABLE|VARIANT|VIRTUAL|VARYING|VIEW|VISIBLE|VOID|WAIT|WHEN|WHENEVER|WHERE|WHILE|WITH|WITHOUT|WORK|WRITE|WRITEDOWN|WRITEUP|YEAR|ZONE)\b +lang.sql.tokens.reserved_words.format white +lang.sql.tokens.commands.case_insensitive \b(ALTER|COMMENT|COMMIT|CREATE|DELETE|DROP|EXEC|EXECUTE|FETCH|GRANT|INSERT|PERFORM|PREPARE|REVOKE|ROLLBACK|SELECT|UPDATE)\b +lang.sql.tokens.commands.format cyan +lang.sql.tokens.data_types.case_insensitive \b(BIT|BOOLEAN|CHAR|CHARACTER|DATE|DEC|DECIMAL|DOUBLE|FLOAT|INT|INTEGER|INTERVAL|LONG|NCHAR|NUMBER|NUMERIC|REAL|RECORD|ROW|SMALLINT|STRUCTURE|TIME|TIMESTAMP|TUPLE|VARCHAR|VARCHAR2)\b +lang.sql.tokens.data_types.format brown +lang.sql.tokens.comments (--.*) +lang.sql.tokens.comments.format 8 bold +lang.sql.tokens.singlequoted_strings ('.*?[^\\]') +lang.sql.tokens.singlequoted_strings.format green bold +lang.sql.tokens.symbols ([!@#$%\^&*()\[\]{}/?=+\-\\|,<.>;:]) +lang.sql.tokens.symbols.format white +lang.sql.tokens.typos (==) +lang.sql.tokens.typos.format 15 bold +lang.sql.indent.indenters ((?:\(|BEGIN|DECLARE|FROM|LOOP|ORDER BY|SELECT|SET|WHERE)$) +lang.sql.indent.unindenters (^\s+(?:\)|;|BEGIN|DECLARE|END)) +lang.sql.indent.preventers (\".+?[^\\]\")|('.+?[^\\]') +lang.sql.context.ignore ^(\W+)$ + +# Bash + +lang.bash.filemask (?:\.(?:ebuild|bash_profile|bashrc))$ +lang.bash.bangmask (?:ba)?sh\b +lang.bash.format.default white bold +lang.bash.format.selection inverse +lang.bash.format.found yellow inverse +lang.bash.indent.size 4 +lang.bash.indent.auto true +lang.bash.indent.roundup true +#lang.bash.indent.using_tabs true +lang.bash.tabsize 4 +lang.bash.tokens.comments (^\s*#.*) +lang.bash.tokens.comments.format 8 bold +lang.bash.tokens.singlequoted_strings ('.*?[^\\]') +lang.bash.tokens.singlequoted_strings.format green bold +lang.bash.tokens.doublequoted_strings (\".*?[^\\]\") +lang.bash.tokens.doublequoted_strings.format green bold +lang.bash.tokens.backquoted_strings (`.*?[^\\]`) +lang.bash.tokens.backquoted_strings.format red bold +lang.bash.indent.indenters (\{) +lang.bash.indent.unindenters (\}) +lang.bash.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(\/\/.*) +lang.bash.indent.ignore ^(.+:|\s*?)$ + +# Tcl + +lang.tcl.filemask \.tcl$ +lang.tcl.bangmask tcl +lang.tcl.format.default white bold +lang.tcl.format.selection inverse +lang.tcl.format.found yellow inverse +lang.tcl.indent.size 4 +lang.tcl.indent.auto true +lang.tcl.indent.roundup true +#lang.tcl.indent.using_tabs true +lang.tcl.tabsize 4 +lang.tcl.tokens.comments (^\s*#.*) +lang.tcl.tokens.comments.format 8 bold +lang.tcl.tokens.reserved_words \b(encoding|incr|pid|tcl_endOfWord|Tcl|eof|info|tcl_findLibrary|after|error|interp|pkg_mkIndex|tcl_startOfNextWord|append|eval|join|proc|tcl_startOfPreviousWord|array|exec|lappend|puts|tcl_wordBreakAfter|auto_execok|exit|lassign|pwd|tcl_wordBreakBefore|auto_import|expr|lindex|re_syntax|tcltest|auto_load|fblocked|linsert|read|tclvars|auto_mkindex|fconfigure|list|regexp|tell|auto_mkindex_old|fcopy|llength|registry|time|auto_qualify|file|load|regsub|trace|auto_reset|fileevent|lrange|rename|unknown|bgerror|filename|lrepeat|resource|unload|binary|flush|lreplace|return|unset|break|for|lsearch|scan|update|catch|foreach|lset|seek|uplevel|cd|format|lsort|set|upvar|clock|gets|memory|socket|variable|close|glob|msgcat|source|vwait|concat|global|namespace|split|while|continue|history|open|string|dde|http|package|subst|dict|if|parray|switch)\b +lang.tcl.tokens.reserved_words.format white +lang.tcl.tokens.symbols ([!@#$%\^&*()\[\]{}/?=+\-\\|,<.>;:]) +lang.tcl.tokens.symbols.format white +lang.tcl.tokens.variables (\$[A-Za-z_][A-Za-z_0-9]*)\b +lang.tcl.tokens.variables.format yellow bold +lang.tcl.tokens.doublequoted_strings (\".*?[^\\]\") +lang.tcl.tokens.doublequoted_strings.format green bold +lang.tcl.indent.indenters (\{) +lang.tcl.indent.unindenters (\}) +lang.tcl.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(\/\/.*) + +lang.diff.filemask (?:\.(?:diff|patch))$ +lang.diff.format.default white +lang.diff.format.selection inverse +lang.diff.format.found yellow inverse +lang.diff.indent.size 4 +lang.diff.indent.auto false +#lang.diff.indent.using_tabs true +lang.diff.tabsize 4 +lang.diff.tokens.oldfile (^--- .+$) +lang.diff.tokens.oldfile.format red bold +lang.diff.tokens.newfile (^\+\+\+ .+$) +lang.diff.tokens.newfile.format green bold +lang.diff.tokens.oldline (^-.+$) +lang.diff.tokens.oldline.format red bold +lang.diff.tokens.newline (^\+.+$) +lang.diff.tokens.newline.format green bold +lang.diff.tokens.location (^@@.+$) +lang.diff.tokens.location.format green +lang.diff.tokens.filediff (^Only in .+$) +lang.diff.tokens.filediff.format magenta bold +lang.diff.tokens.diff_command (^diff .+$) +lang.diff.tokens.diff_command.format 13 bold + +lang.yaml.filemask (?:\.ya?ml)$ +lang.yaml.bangmask ^--- +lang.yaml.format.default white bold +lang.yaml.format.selection inverse +lang.yaml.format.found yellow inverse +lang.yaml.indent.size 4 +lang.yaml.indent.auto false +lang.yaml.indent.roundup false +lang.yaml.tabsize 8 +lang.yaml.tokens.value_indicator (:)(?: |$) +lang.yaml.tokens.value_indicator.format white +lang.yaml.tokens.key_indicator (\? ) +lang.yaml.tokens.key_indicator.format white +lang.yaml.tokens.nested_series (?:^|[^-])(- ) +lang.yaml.tokens.nested_series.format magenta bold +lang.yaml.tokens.series_separator (,) +lang.yaml.tokens.series_separator.format white +lang.yaml.tokens.inline_series ([\[\]]) +lang.yaml.tokens.inline_series.format white +lang.yaml.tokens.inline_keyed ([{}]) +lang.yaml.tokens.inline_keyed.format white +lang.yaml.tokens.doublequoted_strings (\".*?[^\\]\"|\"\") +lang.yaml.tokens.doublequoted_strings.format green bold +lang.yaml.tokens.singlequoted_strings ('.*?[^\\]'|'') +lang.yaml.tokens.singlequoted_strings.format green bold +lang.yaml.tokens.block_scalar (\|[0-9+-]*)$ +lang.yaml.tokens.block_scalar.format blue bold +lang.yaml.tokens.folded_scalar (>[0-9+-]*)$ +lang.yaml.tokens.folded_scalar.format blue bold +lang.yaml.tokens.document_header ^(---.*)$ +lang.yaml.tokens.document_header.format 10 bold +lang.yaml.tokens.document_terminator ^(\.\.\.) +lang.yaml.tokens.document_terminator.format 10 +lang.yaml.tokens.directive_indicator ^(%.*) +lang.yaml.tokens.directive_indicator.format 10 +lang.yaml.tokens.comment_indicator (#.+) +lang.yaml.tokens.comment_indicator.format 8 bold +lang.yaml.tokens.anchor_indicator (&\w+) +lang.yaml.tokens.anchor_indicator.format red bold +lang.yaml.tokens.alias_indicator (\*\w+) +lang.yaml.tokens.alias_indicator.format yellow +lang.yaml.tokens.tag (!\w*) +lang.yaml.tokens.tag.format yellow bold +lang.yaml.tokens.null (~|null) +lang.yaml.tokens.null.format red +lang.yaml.indent.size 4 +lang.yaml.indent.auto true +lang.yaml.indent.roundup true +lang.yaml.indent.indenters :$ +lang.yaml.indent.preventers (\".+?[^\\]\")|('.+?[^\\]')|(`.+?[^\\]`)|(^\s*#.*) +lang.yaml.indent.ignore ^\s*$ + +#% SiSU +lang.sisu.filemask \.(?:sst|ssm|ssi|[_-]sst)$ +lang.sisu.format.default white +lang.sisu.tokens.comment ^%+\s+.* +lang.sisu.tokens.comment.format 8 +#langsisu.tokens.comments.format 8 bold +lang.sisu.tokens.header ^(@\S+?:|0~\S+)\s+.* +lang.sisu.tokens.header.format cyan +lang.sisu.tokens.heading ^:?[A-C1-9]~(?:\S+)?\s+.* +lang.sisu.tokens.heading.format yellow bold +#lang.sisu.tokens.heading.format white inverse +lang.sisu.tokens.headings.case_insensitive ^(?:Chapter|Part|Section|Book|Article|Preamble|Appendix)\s.* +lang.sisu.tokens.headings.format white bold +lang.sisu.tokens.bullet ^_[1-9]?\*\s+ +lang.sisu.tokens.bullet.format yellow +lang.sisu.tokens.indent ^_[1-9]\s+ +lang.sisu.tokens.indent.format yellow +lang.sisu.tokens.link \{.+?\}(?:https?://\S+|\.\./\S+|image) +lang.sisu.tokens.link.format cyan +lang.sisu.tokens.url http://\S+ +lang.sisu.tokens.url.format blue bold +lang.sisu.tokens.line_bold ^!_\s+.* +lang.sisu.tokens.line_bold.format white bold +lang.sisu.tokens.font_bold (([!*])\{.+?\}\2) +lang.sisu.tokens.font_bold.format white bold +lang.sisu.tokens.font_modify (([/_^,+-])\{.+?\}\2) +lang.sisu.tokens.font_modify.format brown +lang.sisu.tokens.page_break <:(?:pb|np)> +lang.sisu.tokens.page_break.format white bold inverse +lang.sisu.tokens.br <:?br> +lang.sisu.tokens.br.format white bold inverse +lang.sisu.tokens.endnote_mark ~\^(?:\s|$) +lang.sisu.tokens.endnote_mark.format green +lang.sisu.tokens.endnote_content ^\^~\s.+ +lang.sisu.tokens.endnote_content.format green +#lang.sisu.tokens.endnote.open ~\{ +#lang.sisu.tokens.endnote.close \}~ +lang.sisu.tokens.endnotes ~\{.+?\}~ +lang.sisu.tokens.endnotes.format green +lang.sisu.tokens.group.open ^group\{ +lang.sisu.tokens.group.close ^\}group +lang.sisu.tokens.group.format green +lang.sisu.tokens.poem.open ^poem\{ +lang.sisu.tokens.poem.close ^\}poem +lang.sisu.tokens.poem.format green +lang.sisu.tokens.code.open ^code\{ +lang.sisu.tokens.code.close ^\}code +lang.sisu.tokens.code.format green +lang.sisu.tokens.error \s+$|<\S{2}\S+?>|[a-zA-Z0-9,.::?!&><]+http://\S+|http://\S+< +#lang.sisu.tokens.error \s+$|<\S+?>|[a-zA-Z0-9,.::?!&><]+http://\S+|http://\S+< +lang.sisu.tokens.error.format magenta reverse + +# Custom configuration files can be included. +# If a setting is specified again, it overrides the previous setting given +# higher up in the configuration file(s). + +include ~/.diakonos/cucumber.conf diff --git a/data/sisu/conf/editor-syntax-etc/gedit/sisu.lang b/data/sisu/conf/editor-syntax-etc/gedit/sisu.lang new file mode 100644 index 00000000..b11766cb --- /dev/null +++ b/data/sisu/conf/editor-syntax-etc/gedit/sisu.lang @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE language SYSTEM "language.dtd"> +<language _name="SiSU" version="1.0" _section="Markup" mimetypes="text/x-ruby"> +<!-- SiSU syntax highligting for gedit, place in: + /usr/share/gtksourceview-1.0/language-specs +or: + ~/gtksourceview-1.0/language-specs +--> + + <syntax-item _name="Header" style="Data Type"> + <start-regex>^0~\S|^\@\S+:\s</start-regex> + <end-regex>\n\n</end-regex> + </syntax-item> + + <pattern-item _name="Bold" style="Keyword" end-at-line-end = "TRUE"> + <regex>^(:[A-C]|[1-6])~[ a-Z0-9,.;:!?"'\/()-]+</regex> + </pattern-item> + + <pattern-item _name="Operators" style="Function"> + <regex>^(!_|_[1-9]|_[1-9]?\*)\s</regex> + </pattern-item> + + <syntax-item _name="Note Function" style="Function"> + <start-regex>~\{</start-regex> + <end-regex>\}~</end-regex> + </syntax-item> + + <syntax-item _name="Bold Function" style="Function"> + <start-regex>[*]\{</start-regex> + <end-regex>\}[*]</end-regex> + </syntax-item> + + <syntax-item _name="Exclaim Function" style="Function"> + <start-regex>!\{</start-regex> + <end-regex>\}!</end-regex> + </syntax-item> + + <syntax-item _name="Italics Function" style="Function"> + <start-regex>/\{</start-regex> + <end-regex>\}/</end-regex> + </syntax-item> + + <syntax-item _name="Underscore Function" style="Function"> + <start-regex>_\{</start-regex> + <end-regex>\}_</end-regex> + </syntax-item> + + <syntax-item _name="Supercript Function" style="Function"> + <start-regex>\^{</start-regex> + <end-regex>\}\^</end-regex> + </syntax-item> + + <syntax-item _name="Subscript Function" style="Function"> + <start-regex>,{</start-regex> + <end-regex>\},</end-regex> + </syntax-item> + + <syntax-item _name="Added Function" style="Function"> + <start-regex>[+]\{</start-regex> + <end-regex>\}[+]</end-regex> + </syntax-item> + + <syntax-item _name="Strikethrough Function" style="Function"> + <start-regex>[-]\{</start-regex> + <end-regex>\}[-]</end-regex> + </syntax-item> + + <pattern-item _name="Bold Single" style="String"> + <regex>[*]\S+[*]</regex> + </pattern-item> + + <pattern-item _name="Link" style="String"> + <regex>\{[^}]+\}(https?:\/\/\S+|image)\s</regex> + </pattern-item> + + <pattern-item _name="Link Internal" style="String"> + <regex>\s\*~\S+</regex> + </pattern-item> + + <pattern-item _name="Url" style="String"> + <regex>\bhttps?:\/\/\S+</regex> + </pattern-item> + + <line-comment _name="Line Comment" style="Comment"> + <start-regex>^%+\s.</start-regex> + </line-comment> + + <syntax-item _name="Multiline Code" style="Others"> + <start-regex>^code\{\s*$</start-regex> + <end-regex>^\}code\s*$</end-regex> + </syntax-item> + + <syntax-item _name="Multiline Poem" style="Others"> + <start-regex>^poem\{\s*$</start-regex> + <end-regex>^\}poem\s*$</end-regex> + </syntax-item> + + <syntax-item _name="Multiline Group" style="Others"> + <start-regex>^group\{\s*$</start-regex> + <end-regex>^\}group\s*$</end-regex> + </syntax-item> + + <syntax-item _name="Multiline Alt" style="Others"> + <start-regex>^alt\{\s*$</start-regex> + <end-regex>^\}alt\s*$</end-regex> + </syntax-item> + + <pattern-item _name="Page Break" style="Others 2" end-at-line-end = "TRUE"> + <regex><:(pb|np)></regex> + </pattern-item> + + <pattern-item _name="Line Break" style="Others 2" end-at-line-end = "TRUE"> + <regex><:?br></regex> + </pattern-item> + + <pattern-item _name="Footnote Reference" style="Others" end-at-line-end = "TRUE"> + <regex>~\^(\s|$)</regex> + </pattern-item> + + <pattern-item _name="Footnote Content" style="Others" end-at-line-end = "TRUE"> + <regex>^\^~\s.+</regex> + </pattern-item> + +</language> diff --git a/data/sisu/conf/editor-syntax-etc/kate/sisu.xml b/data/sisu/conf/editor-syntax-etc/kate/sisu.xml new file mode 100644 index 00000000..61135285 --- /dev/null +++ b/data/sisu/conf/editor-syntax-etc/kate/sisu.xml @@ -0,0 +1,176 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE language SYSTEM "language.dtd"> +<language name="SiSU" version="1.00" section="Markup" kateversion="2.4" extensions="*.sst; *.ssm; *.ssi; *._sst; *.-sst;" author="Ralph Amissah (ralph.amissah@gmail.com)" license="LGPL" > + <highlighting> + <list name="somename"> + <item> class </item> + <item> const </item> + </list> + <contexts> + <context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" > + <StringDetect String="<br>" attribute="Break" context="#pop" /> + <RegExpr String="\s+$" attribute="Warn" context="#pop" /> + <RegExpr String="<\S+>" attribute="Warn" context="#pop" /> + <RegExpr String="<a href=\S+>" attribute="Warn" context="#pop" /> + <RegExpr String="<a href=" attribute="Warn" context="#pop" /> + <RegExpr String="</a>" attribute="Warn" context="#pop" /> + <RegExpr String="<https?:\/\/\S+>" attribute="Warn" context="#pop"/> + <RegExpr String=">https?:\/\/\S+" attribute="Warn" context="#pop"/> + <RegExpr String="<<\s+|" attribute="Link" context="#pop"/> + <RegExpr String="https?:\/\/\S+<" attribute="Warn" context="#pop"/> + <keyword attribute="Keyword" context="#stay" String="somename" /> + <DetectChar attribute="String" context="string" char=""" /> + <RegExpr String="^(0~\S+|@\S+)\s.+$" attribute="Header" context="#pop" /> + <RegExpr String="^:?[A-C1-9]~.+$" attribute="Heading" context="#pop" /> + <StringDetect String="~{" attribute="Endnote" context="footnote"/> + <StringDetect String="^~" attribute="Endnote" context="endnote"/> + <StringDetect String="!{" attribute="Bold" context="emphasis"/> + <StringDetect String="*{" attribute="Bold" context="bold"/> + <StringDetect String="/{" attribute="Italic" context="italic"/> + <StringDetect String="_{" attribute="Underscore" context="underscore"/> + <StringDetect String="^{" attribute="Superscript" context="superscript"/> + <StringDetect String=",{" attribute="Subscript" context="subscript"/> + <StringDetect String="-{" attribute="Strike" context="strike"/> + <StringDetect String="+{" attribute="Insert" context="insert"/> + <RegExpr String="\{[\s\S]+\}https?:\/\/\S+(\s|$)" attribute="Link" context="#pop" minimal="true" /> + <RegExpr String="\{[\s\S]+\}\.\.\/\S+(\s|$)" attribute="Link" context="#stay" minimal="true" /> + <RegExpr String="\{[\s\S]+\}image(\s|$)" attribute="Link" context="#stay" minimal="true" /> + <RegExpr String="\s_?https?:\/\/\S+" attribute="Link" context="#stay"/> + <RegExpr String="^_?https?:\/\/\S+" attribute="Link" context="#stay"/> + <RegExpr String="^!_ .+" attribute="Bold" context="boldline"/> + <RegExpr String="^(_[1-9]|_\*|_[1-9]\*)\s" attribute="Indent" context="#stay"/> + <RegExpr String="~\^" attribute="Endnote" context="#stay"/> + <RegExpr String="^%+\s.+$" attribute="Comment" context="#stay" endRegion="regionMarker" firstNonSpace="true" /> + </context> + <context attribute="String" lineEndContext="#stay" name="string" > + <DetectChar attribute="String" context="#pop" char=""" /> + </context> + <context attribute="Endnote" lineEndContext="#stay" name="footnote" > + <StringDetect attribute="Endnote" context="#pop" String="}~" /> + <RegExpr String="\{[\s\S]+\}https?:\/\/\S+(\s|$)" attribute="Link" context="#pop" minimal="true" /> + <RegExpr String="\{[\s\S]+\}\.\.\/\S+(\s|$)" attribute="Link" context="#stay" minimal="true" /> + <RegExpr String="\{[\s\S]+\}image(\s|$)" attribute="Link" context="#stay" minimal="true" /> + <RegExpr String="\s_?https?:\/\/\S+" attribute="Link" context="#stay"/> + <RegExpr String="^_?https?:\/\/\S+" attribute="Link" context="#stay"/> + <StringDetect String="!{" attribute="Bold" context="emphasis"/> + <StringDetect String="*{" attribute="Bold" context="bold"/> + <StringDetect String="/{" attribute="Italic" context="italic"/> + <StringDetect String="_{" attribute="Underscore" context="underscore"/> + <StringDetect String="^{" attribute="Superscript" context="superscript"/> + <StringDetect String=",{" attribute="Subscript" context="subscript"/> + <StringDetect String="-{" attribute="Strike" context="strike"/> + <StringDetect String="+{" attribute="Insert" context="insert"/> + </context> + <context attribute="Bold" lineEndContext="#stay" name="bold" > + <StringDetect attribute="Bold" context="#pop" String="}*" /> + <StringDetect String="/{" attribute="Italic" context="italic"/> + <StringDetect String="_{" attribute="Underscore" context="underscore"/> + <StringDetect String="^{" attribute="Superscript" context="superscript"/> + <StringDetect String=",{" attribute="Subscript" context="subscript"/> + <StringDetect String="-{" attribute="Strike" context="strike"/> + <StringDetect String="+{" attribute="Insert" context="insert"/> + </context> + <context attribute="Bold" lineEndContext="#stay" name="emphasis" > + <StringDetect attribute="Bold" context="#pop" String="}!" /> + <StringDetect String="/{" attribute="Italic" context="italic"/> + <StringDetect String="_{" attribute="Underscore" context="underscore"/> + <StringDetect String="^{" attribute="Superscript" context="superscript"/> + <StringDetect String=",{" attribute="Subscript" context="subscript"/> + <StringDetect String="-{" attribute="Strike" context="strike"/> + <StringDetect String="+{" attribute="Insert" context="insert"/> + </context> + <context attribute="Italic" lineEndContext="#stay" name="italic" > + <StringDetect attribute="Italic" context="#pop" String="}/" /> + <StringDetect String="!{" attribute="Bold" context="emphasis"/> + <StringDetect String="*{" attribute="Bold" context="bold"/> + <StringDetect String="_{" attribute="Underscore" context="underscore"/> + <StringDetect String="^{" attribute="Superscript" context="superscript"/> + <StringDetect String=",{" attribute="Subscript" context="subscript"/> + <StringDetect String="-{" attribute="Strike" context="strike"/> + <StringDetect String="+{" attribute="Insert" context="insert"/> + </context> + <context attribute="Underscore" lineEndContext="#stay" name="underscore" > + <StringDetect attribute="Underscore" context="#pop" String="}_" /> + <StringDetect String="!{" attribute="Bold" context="emphasis"/> + <StringDetect String="*{" attribute="Bold" context="bold"/> + <StringDetect String="/{" attribute="Italic" context="italic"/> + <StringDetect String="^{" attribute="Superscript" context="superscript"/> + <StringDetect String=",{" attribute="Subscript" context="subscript"/> + <StringDetect String="-{" attribute="Strike" context="strike"/> + <StringDetect String="+{" attribute="Insert" context="insert"/> + </context> + <context attribute="Superscript" lineEndContext="#stay" name="superscript" > + <StringDetect attribute="Superscript" context="#pop" String="}^" /> + <StringDetect String="!{" attribute="Bold" context="emphasis"/> + <StringDetect String="*{" attribute="Bold" context="bold"/> + <StringDetect String="/{" attribute="Italic" context="italic"/> + <StringDetect String="_{" attribute="Underscore" context="underscore"/> + <StringDetect String=",{" attribute="Subscript" context="subscript"/> + <StringDetect String="-{" attribute="Strike" context="strike"/> + <StringDetect String="+{" attribute="Insert" context="insert"/> + </context> + <context attribute="Subscript" lineEndContext="#stay" name="subscript" > + <StringDetect attribute="Subscript" context="#pop" String="}," /> + <StringDetect String="!{" attribute="Bold" context="emphasis"/> + <StringDetect String="*{" attribute="Bold" context="bold"/> + <StringDetect String="/{" attribute="Italic" context="italic"/> + <StringDetect String="_{" attribute="Underscore" context="underscore"/> + <StringDetect String="^{" attribute="Superscript" context="superscript"/> + <StringDetect String="-{" attribute="Strike" context="strike"/> + <StringDetect String="+{" attribute="Insert" context="insert"/> + </context> + <context attribute="Strike" lineEndContext="#stay" name="strike" > + <StringDetect attribute="Strike" context="#pop" String="}-" /> + <StringDetect String="!{" attribute="Bold" context="emphasis"/> + <StringDetect String="*{" attribute="Bold" context="bold"/> + <StringDetect String="/{" attribute="Italic" context="italic"/> + <StringDetect String="_{" attribute="Underscore" context="underscore"/> + <StringDetect String="^{" attribute="Superscript" context="superscript"/> + <StringDetect String=",{" attribute="Subscript" context="subscript"/> + <StringDetect String="+{" attribute="Insert" context="insert"/> + </context> + <context attribute="Insert" lineEndContext="#stay" name="insert" > + <StringDetect attribute="Insert" context="#pop" String="}+" /> + <StringDetect String="!{" attribute="Bold" context="emphasis"/> + <StringDetect String="*{" attribute="Bold" context="bold"/> + <StringDetect String="/{" attribute="Italic" context="italic"/> + <StringDetect String="_{" attribute="Underscore" context="underscore"/> + <StringDetect String="^{" attribute="Superscript" context="superscript"/> + <StringDetect String=",{" attribute="Subscript" context="subscript"/> + <StringDetect String="-{" attribute="Strike" context="strike"/> + </context> + <context attribute="Endnote" lineEndContext="#pop" name="endnote" /> + <context attribute="Bold" lineEndContext="#pop" name="boldline" /> + <context attribute="Indent" lineEndContext="#pop" name="indent" /> + <context attribute="Warn" lineEndContext="#pop" name="warn" /> + </contexts> + <itemDatas> + <itemData name="Normal Text" defStyleNum="dsNormal" /> + <itemData name="Header" defStyleNum="dsNormal" color="#1c869b" selColor="#60FFFF" bold="0" italic="0"/> + <itemData name="Heading" defStyleNum="dsNormal" color="#ff0000" selColor="#60FFFF" bold="1" italic="0"/> + <itemData name="Bold" defStyleNum="dsNormal" color="#800000" selColor="#60FFFF" bold="1" italic="0"/> + <itemData name="Italic" defStyleNum="dsNormal" color="#800000" selColor="#60FFFF" bold="0" italic="1"/> + <itemData name="Underscore" defStyleNum="dsNormal" color="#F00000" selColor="#80FFD0" bold="0" italic="0"/> + <itemData name="Superscript" defStyleNum="dsNormal" color="#F00000" selColor="#80FFD0" bold="0" italic="0"/> + <itemData name="Subscript" defStyleNum="dsNormal" color="#F00000" selColor="#80FFD0" bold="0" italic="0"/> + <itemData name="Strike" defStyleNum="dsNormal" color="#F00000" selColor="#80FFD0" bold="0" italic="0"/> + <itemData name="Insert" defStyleNum="dsNormal" color="#F00000" selColor="#80FFD0" bold="0" italic="0"/> + <itemData name="Keyword" defStyleNum="dsKeyword" /> + <itemData name="Endnote" defStyleNum="dsNormal" color="#0AAA00" selColor="#60FFFF" bold="0" italic="0"/> + <itemData name="Link" defStyleNum="dsNormal" color="#0000FF" selColor="#60FFFF" bold="0" italic="0"/> + <itemData name="String" defStyleNum="dsString" /> + <itemData name="Comment" defStyleNum="dsComment"/> + <itemData name="Group" defStyleNum="dsRegionMarker"/> + <itemData name="Break" defStyleNum="dsNormal" color="#FF0000" selColor="#60FFFF" bold="0" italic="0"/> + <itemData name="Indent" defStyleNum="dsNormal" color="#F00000" selColor="#80FFD0" bold="0" italic="0"/> + <itemData name="Structure" defStyleNum="dsNormal" color="#F00000" selColor="#80FFD0" bold="0" italic="0"/> + <itemData name="Warn" defStyleNum="dsError" color="#FF00FF" selColor="#000000" bold="1" italic="0"/> + </itemDatas> + </highlighting> + <general> + <keywords weakDeliminator="\" wordWrapDeliminator=",{}[]"/> + <comments> + <comment name="singleLine" start="%" /> + </comments> + </general> +</language> diff --git a/data/sisu/conf/editor-syntax-etc/nano/nanorc b/data/sisu/conf/editor-syntax-etc/nano/nanorc new file mode 100644 index 00000000..213a0c26 --- /dev/null +++ b/data/sisu/conf/editor-syntax-etc/nano/nanorc @@ -0,0 +1,220 @@ +## Sample initialization file for GNU nano +## Please note that you must have configured nano with --enable-nanorc +## for this file to be read! Also note that characters specially +## interpreted by the shell should not be escaped here. +## +## To make sure a value is not enabled, use "unset <option>" +## +## For the options that take parameters, the default value is given. +## Other options are unset by default. + +## Use auto-indentation. +# set autoindent + +## Backup files to filename~. +# set backup + +## The directory to put unique backup files in. +# set backupdir "" + +## Do backwards searches by default. +# set backwards + +## The characters treated as closing brackets. They cannot contain +## blank characters. Only closing punctuation, optionally followed by +## closing brackets, can end sentences. +## +# set brackets "'")}]>" + +## Do case sensitive searches by default. +# set casesensitive + +## Constantly display the cursor position in the statusbar. Note that +## this cancels out "quickblank". +# set const + +## Use cut to end of line by default. +# set cut + +## Set the line length for wrapping text and justifying paragraphs. +## If fill is 0 or less, the line length will be the screen width less +## this number. +## +# set fill -8 + +## Enable ~/.nano_history for saving and reading search/replace strings. +# set historylog + +## Use the blank line below the titlebar as extra editing space. +# set morespace + +## Enable mouse support, so that mouse clicks can be used to set the +## mark and run shortcuts. +# set mouse + +## Allow multiple file buffers (inserting a file will put it into a +## separate buffer). You must have configured with --enable-multibuffer +## for this to work. +## +# set multibuffer + +## Don't convert files from DOS/Mac format. +# set noconvert + +## Don't follow symlinks when writing files. +# set nofollow + +## Don't display the helpful shortcut lists at the bottom of the screen. +# set nohelp + +## Don't wrap text at all. +# set nowrap + +## Set operating directory. nano will not read or write files outside +## this directory and its subdirectories. Also, the current directory +## is changed to here, so files are inserted from this dir. A blank +## string means the operating directory feature is turned off. +## +# set operatingdir "" + +## Preserve the XON and XOFF keys (^Q and ^S). +# set preserve + +## The characters treated as closing punctuation. They cannot contain +## blank characters. Only closing punctuation, optionally followed by +## closing brackets, can end sentences. +## +# set punct ".?!" + +## Do quick statusbar blanking. Statusbar messages will disappear after +## 1 keystroke instead of 25. Note that "const" cancels this out. +## +# set quickblank + +## The email-quote string, used to justify email-quoted paragraphs. +## This is an extended regular expression if your system supports them, +## otherwise a literal string. Default: +# set quotestr "^([ ]*[\|>:}#])+" +## if you have regexps, otherwise: +# set quotestr "> " +## You can get old nano quoted-justify behavior via: +# set quotestr "(> )+" + +## Fix Backspace/Delete confusion problem. +# set rebinddelete + +## Do extended regular expression searches by default. +# set regexp + +## Make the Home key smarter. When Home is pressed anywhere but at the +## very beginning of non-whitespace characters on a line, the cursor +## will jump to that beginning (either forwards or backwards). If the +## cursor is already at that position, it will jump to the true +## beginning of the line. +# set smarthome + +## Use smooth scrolling as the default. +# set smooth + +## Use this spelling checker instead of the internal one. This option +## does not properly have a default value. +## +# set speller "aspell -x -c" + +## Allow nano to be suspended. +# set suspend + +## Use this tab size instead of the default; it must be greater than 0. +# set tabsize 8 + +## Convert typed tabs to spaces. +# set tabstospaces + +## Save automatically on exit, don't prompt. +# set tempfile + +## Disallow file modification; why would you want this in an rcfile? ;) +# set view + +## The two single-column characters used to display the first characters +## of tabs and spaces. 187 decimal (00BB hexadecimal) and 183 decimal +## (00B7 hexadecimal) seem to be good values for these. +# set whitespace " " + +## Color setup +## +## Format: +## +## syntax "short description" ["filename regex" ...] +## +## color foreground,background "regex" ["regex"...] +## or +## icolor foreground,background "regex" ["regex"...] +## +## "color" will do case sensitive matches, while "icolor" will do case +## insensitive matches. +## +## Legal colors: white, black, red, blue, green, yellow, magenta, cyan. +## You may use the prefix "bright" to mean a stronger color highlight +## for the foreground. +## +## To use multi-line regexes, use the start="regex" end="regex" format. +## +## If your system supports transparency, not specifying a background +## color will use a transparent color. If you don't want this, be sure +## to set the background color to black or white. +## +# syntax "c-file" "\.(c|C|cc|cpp|cxx|h|H|hh|hpp|hxx)$" +# color red "\<[A-Z_]{2,}\>" +# color green "\<(float|double|bool|char|int|short|long|sizeof|enum|void|static|const|struct|union|typedef|extern|signed|unsigned|inline)\>" +# color green "\<(class|namespace|template|public|protected|private|typename|this|friend|virtual|using|mutable|volatile|register|explicit)\>" +# color brightyellow "\<(for|if|while|do|else|case|default|switch|goto|continue|break|return)\>" +# color brightyellow "\<(try|throw|catch|operator|new|delete)\>" +# color brightcyan "^[[:space:]]*#[[:space:]]*(define|undef|include|ifn?def|endif|elif|else|if|warning|error)" +# color brightmagenta "'([^\]|(\\['abfnrtv\\]))'" "'\\(([0-7][0-7]?)|([0-3][0-7][0-7]))'" "'\\x[0-9A-Fa-f][0-9A-Fa-f]?'" +## color foreground,background "regex" ["regex"...] +## +#% sisu +syntax "sisu" "\.ss[tmi]$" +#color white,black ".*" +color cyan start="^0~" end="^$" +color cyan start="^@\S+:" end="^$" +#color cyan "^0~.*" +color brightyellow "^[1-6]~.*" +color brightyellow "^:?[A-C]~.*" +icolor brightwhite "^(Chapter|Part|Section|Book|Article|Preamble|Appendix)\s.*" +color brightyellow "^!_\s.*" +color brightyellow "[!*]\{.+?\}[!*]" +color yellow "[/_+-^,]\{.+?\}[/_+-^,]" +color green "~\{.+?\}~" +color green "~\^(\s|$)" +color green "^\^~\s.+" +#color green start="~\{" end="\}~" +color yellow "\{.+?\}http:\/\/\S+" +color brightblue "http:\/\/\S+" +color yellow "^(_[12]?\*|_[12])" +color magenta "^%+\s+.*" +color green start="^poem\{$" end="^\}poem$" +color green start="^code\{$" end="^\}code$" +color green start="^group\{$" end="^\}group$" +color green start="^alt\{$" end="^\}alt$" +color magenta "<:(pb|np)>" +color magenta "<(\/\s*)?br>" +color magenta "[a-zA-Z0-9,.::?!&]+http:\/\/\S+" + +# .nanorc +# + syntax "nanorc" "(\.|/|)nanorc$" +# highlight possible errors and parameters + icolor brightwhite "^[[:space:]]*(set|unset|syntax|i?color).*$" +# set, unset and syntax + icolor cyan "^[[:space:]]*(set|unset)[[:space:]]+(autoindent|backup|backupdir|backwards|brackets|casesensitive|const|cut|fill|historylog|morespace|mouse|multibuffer|noconvert|nofollow|nohelp|nowrap|operatingdir|preserve|punct|quickblank|quotestr|rebinddelete)\>" "^[[:space:]]*(set|unset)[[:space:]]+(regexp|smarthome|smooth|speller|suspend|tabsize|tabstospaces|tempfile|view|whitespace)\>" + icolor green "^[[:space:]]*(set|unset|syntax)\>" +# colors + icolor yellow "^[[:space:]]*i?color[[:space:]]*(bright)?(white|black|red|blue|green|yellow|magenta|cyan)?(,(white|black|red|blue|green|yellow|magenta|cyan))?\>" + icolor magenta "^[[:space:]]*i?color\>" "\<(start|end)=" +# strings + icolor white "\"(\\.|[^\"])*\"" +# comments + icolor blue "^[[:space:]]*#.*$" + diff --git a/data/sisu/conf/editor-syntax-etc/nedit/sisu_nedit.pats b/data/sisu/conf/editor-syntax-etc/nedit/sisu_nedit.pats new file mode 100644 index 00000000..e60e0bf0 --- /dev/null +++ b/data/sisu/conf/editor-syntax-etc/nedit/sisu_nedit.pats @@ -0,0 +1,79 @@ +! Nedit Syntax highlighting patterns and commenting for SiSU +! Version 0.1 +! +! INSTALLATION +! +! Load this pattern by starting nedit with: +! +! nedit -import <name of this file> +! +! Then, check that the patterns were loaded correctly, and choose Save Defaults +! from the Preferences menu. The new patterns will now be incorporated into +! your own .nedit file, so the next time you start NEdit, you will no longer +! need to use -import. +! +! These comments will not appear in your ~/.nedit +! +nedit.macroCommands: \ + SiSU Comments>Comment Out Lines@SiSU:::R: {\n\ + replace_in_selection("^.*$", "%+ &", "regex")\n\ + }\n\ + SiSU Comments>Uncomment Lines@SiSU:::R: {\n\ + replace_in_selection("(^[ \\\\t]*# ?)(.*)$", "\\\\2", "regex")\n\ + }\n\ + SiSU Comments>Comment Out Sel.@SiSU:::R: {\n\ + beginning-of-selection()\n\ + mark("1")\n\ + deselect-all()\n\ + insert-string("=begin\\n")\n\ + goto-mark("1")\n\ + beginning-of-selection()\n\ + backward-character("extend")\n\ + backward-character("extend")\n\ + backward-character("extend")\n\ + backward-character("extend")\n\ + backward-character("extend")\n\ + backward-character("extend")\n\ + backward-character("extend")\n\ + mark("1")\n\ + end-of-selection()\n\ + deselect-all()\n\ + insert-string("\\n=end")\n\ + goto-mark("1")\n\ + }\n\ + SiSU Comments>Uncomment Sel.@SiSU:::R: {\n\ + beginning-of-selection()\n\ + mark("1")\n\ + deselect-all()\n\ + replace("=begin\\n","")\n\ + goto-mark("1")\n\ + deselect-all()\n\ + replace("\\n=end","","backward")\n\ + goto-mark("1")\n\ + }\n +nedit.highlightPatterns: SiSU:1:0{\n\ + comment:"^%+ ":"$"::Comment::\n\ + endnote1:"~\\^(\s|$)":::Keyword::D\n\ + endnote2:"^\\^~ ":"$"::Comment::\n\ + header:"^0~":"$"::Keyword::\n\ + bold_line:"^!_ ":"$"::Keyword::\n\ + heading:"^[1-6]~":"$"::Keyword::\n\ + code_block:"^code\\{":"^\\}code"::Comment::\n\ + poem_block:"^poem\\{":"^\\}poem"::Comment::\n\ + group_block:"^group\\{":"^\\}group"::Comment::\n\ + alt_block:"^alt\\{":"^\\}alt"::Comment::\n\ + endnote:"~\\{":"\\}~":"\\n":String::\n\ + string2:"'":"'":"\\n":String1::\n\ + string escape chars:"\\\\(.|\\n)":::String1:endnote:\n\ + character constant:"'":"'":"[^\\\\][^']":Character Const::\n\ + numeric constant:"<((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?>":::Plain::D\n\ + storage keyword:"<(class)>":::Storage Type::D\n\ + line:"^(_[12]|_\\*|_[12]\\*)":::Keyword::D\n\ + link:"[{}](http://[a-zA-Z0-9?.!+\\-_/&=#]+)?":::Keyword::D\n\ + url:"http://[a-zA-Z0-9?.!+\\-_/&=#]+":::Keyword::D\n\ + } +! endnote:"~\\{":"\\}~"::Keyword::\n\ +! link:"\\{":"\\}http://\S+"::Keyword::D\n\ +nedit.languageModes: SiSU:.sst::::::".,/\\`'!|@#%^&*()-=+{}[]"":;<>?~" +! nedit.languageModes: SiSU:.sst::::::".,/\\`'!|@#%^&*()-=+{}[]"":;<>?~" +! nedit.languageModes: SiSU:.ss[tmi]:::::: diff --git a/data/sisu/conf/editor-syntax-etc/vim/addons/colors/slate.vim b/data/sisu/conf/editor-syntax-etc/vim/addons/colors/slate.vim new file mode 100644 index 00000000..8350017e --- /dev/null +++ b/data/sisu/conf/editor-syntax-etc/vim/addons/colors/slate.vim @@ -0,0 +1,55 @@ +"%% SiSU Vim color file +" Slate Maintainer: Ralph Amissah <ralph@amissah.com> +" (originally looked at desert Hans Fugal <hans@fugal.net> http://hans.fugal.net/vim/colors/desert.vim (April/May 2003) +:set background=dark +:highlight clear +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif +:hi Normal guifg=White guibg=grey15 +:hi Cursor guibg=khaki guifg=slategrey +:hi VertSplit guibg=#c2bfa5 guifg=grey40 gui=none cterm=reverse +:hi Folded guibg=black guifg=grey40 ctermfg=grey ctermbg=darkgrey +:hi FoldColumn guibg=black guifg=grey20 ctermfg=4 ctermbg=7 +:hi IncSearch guifg=green guibg=black cterm=none ctermfg=yellow ctermbg=green +:hi ModeMsg guifg=goldenrod cterm=none ctermfg=brown +:hi MoreMsg guifg=SeaGreen ctermfg=darkgreen +:hi NonText guifg=RoyalBlue guibg=grey15 cterm=bold ctermfg=blue +:hi Question guifg=springgreen ctermfg=green +:hi Search guibg=peru guifg=wheat cterm=none ctermfg=grey ctermbg=blue +:hi SpecialKey guifg=yellowgreen ctermfg=darkgreen +:hi StatusLine guibg=#c2bfa5 guifg=black gui=none cterm=bold,reverse +:hi StatusLineNC guibg=#c2bfa5 guifg=grey40 gui=none cterm=reverse +:hi Title guifg=gold gui=bold cterm=bold ctermfg=yellow +:hi Statement guifg=CornflowerBlue ctermfg=lightblue +:hi Visual gui=none guifg=khaki guibg=olivedrab cterm=reverse +:hi WarningMsg guifg=salmon ctermfg=1 +:hi String guifg=SkyBlue ctermfg=darkcyan +:hi Comment term=bold ctermfg=11 guifg=grey40 +:hi Constant guifg=#ffa0a0 ctermfg=brown +:hi Special guifg=darkkhaki ctermfg=brown +:hi Identifier guifg=salmon ctermfg=red +:hi Include guifg=red ctermfg=red +:hi PreProc guifg=red guibg=white ctermfg=red +:hi Operator guifg=Red ctermfg=Red +:hi Define guifg=gold gui=bold ctermfg=yellow +:hi Type guifg=CornflowerBlue ctermfg=2 +:hi Function guifg=navajowhite ctermfg=brown +:hi Structure guifg=green ctermfg=green +:hi LineNr guifg=grey50 ctermfg=3 +:hi Ignore guifg=grey40 cterm=bold ctermfg=7 +:hi Todo guifg=orangered guibg=yellow2 +:hi Directory ctermfg=darkcyan +:hi ErrorMsg cterm=bold guifg=White guibg=Red cterm=bold ctermfg=7 ctermbg=1 +:hi VisualNOS cterm=bold,underline +:hi WildMenu ctermfg=0 ctermbg=3 +:hi DiffAdd ctermbg=4 +:hi DiffChange ctermbg=5 +:hi DiffDelete cterm=bold ctermfg=4 ctermbg=6 +:hi DiffText cterm=bold ctermbg=1 +:hi Underlined cterm=underline ctermfg=5 +:hi Error guifg=White guibg=Red cterm=bold ctermfg=7 ctermbg=1 +:hi SpellErrors guifg=White guibg=Red cterm=bold ctermfg=7 ctermbg=1 diff --git a/data/sisu/conf/editor-syntax-etc/vim/addons/filetype.vim b/data/sisu/conf/editor-syntax-etc/vim/addons/filetype.vim new file mode 100644 index 00000000..917c3e04 --- /dev/null +++ b/data/sisu/conf/editor-syntax-etc/vim/addons/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 + au! BufNewFile,BufRead *._sst,*.sst.meta,*.-sst.meta,*._sst.meta setf sisu +augroup END diff --git a/data/sisu/conf/editor-syntax-etc/vim/addons/ftplugin/sisu.vim b/data/sisu/conf/editor-syntax-etc/vim/addons/ftplugin/sisu.vim new file mode 100644 index 00000000..00ed9189 --- /dev/null +++ b/data/sisu/conf/editor-syntax-etc/vim/addons/ftplugin/sisu.vim @@ -0,0 +1,177 @@ +"%% SiSU Vim ftplugin +" SiSU Maintainer: Ralph Amissah <ralph@amissah.com> +" SiSU Markup: SiSU (sisu-0.38) +" an ftplugin setting defaults for editing sisu markup files +:syntax on +:filetype on +:filetype indent on +":let dialect='UK' +:if version >= 700 +: setlocal spell spelllang=en_us +:endif +: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=agmr +:set paste +: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 ^J (control-j): +:imap <C-J> <C-O>gqap +:nmap <C-J> gqap +:vmap <C-J> 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>dir :vs<cr><C-W><C-R> :Explore<cr> +:map <leader>nn :set nonumber paste<cr> +:map <leader>nu :set number paste<cr> +:map <leader>no :set number nopaste<cr> +"% vimdiff q exits +:if &diff +: cmap q qa +:endif +"% 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 +"% colorscheme slate +:map <C-C> :syntax on <cr> :colorscheme slate<cr> +"% search and replace +:map <C-S> :.,$s///c "search and replace down +:map <c-G> :%s///c "search and replace whole file +:map <c-X> :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 fs :set foldmethod=expr foldcolumn=2 foldlevel=0 <cr> +:map <C-F> :F<cr> "consider, is a remapping +: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*[{>] diff --git a/data/sisu/conf/editor-syntax-etc/vim/addons/syntax/sisu.vim b/data/sisu/conf/editor-syntax-etc/vim/addons/syntax/sisu.vim new file mode 100644 index 00000000..8a114b64 --- /dev/null +++ b/data/sisu/conf/editor-syntax-etc/vim/addons/syntax/sisu.vim @@ -0,0 +1,171 @@ +"%% SiSU Vim syntax file +" SiSU Maintainer: Ralph Amissah <ralph@amissah.com> +" SiSU Markup: SiSU (sisu-0.47.6) +" (originally looked at Ruby Vim by Mirko Nasato) +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +else +endif +"% 11 Errors? +syn match sisu_error contains=sisu_link,sisu_error_wspace "<![^ei]\S\+!>" +"% 10 Markers: Endnote Identifiers, Pagebreaks etc.: +if !exists("sisu_no_identifiers") + syn match sisu_mark_endnote "\~^" + syn match sisu_contain contains=@NoSpell "</\?sub>" + syn match sisu_break contains=@NoSpell "<br>\|<br />" + syn match sisu_control contains=@NoSpell "<p>\|</p>\|<p />\|<:p[bn]>" + syn match sisu_html "<center>\|</center>" + syn match sisu_marktail "[~-]#" + syn match sisu_html contains=@NoSpell "<td>\|<td \|<tr>\|</td>\|</tr>\|<table>\|<table \|</table>" + 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\+" + "metaverse specific + syn match sisu_ocn contains=@NoSpell "<\~\d\+;\w\d\+;\w\d\+>" + syn match sisu_marktail "<\~#>" + syn match sisu_markpara contains=@NoSpell "<:i[1-9]>" + syn match sisu_link " \*\~\S\+" + syn match sisu_action "^<:insert\d\+>" + syn match sisu_contain "<:e>" +endif +"% 9 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\)" +"% 8 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>]" +"% 7 Simple Enclosed Markup: +" Simple 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="$" +"% header +syn region sisu_header_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break matchgroup=sisu_header start="^0\~\(\S\+\|[^-]\)" end="$" +syn region sisu_header_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break matchgroup=sisu_header start="^0\~\(tags\?\|date\)\s\+"rs=e-1 end="\n$" +syn region sisu_header_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break matchgroup=sisu_header start="^@\S\+:[+-]\?\s"rs=e-1 end="$" +syn region sisu_header_content contains=sisu_error,sisu_error_wspace,sisu_content_alt,sisu_link,sisu_linked,sisu_break matchgroup=sisu_header start="^@\(tags\?\|date\):\s\+"rs=e-1 end="\n$" +"% headings +syn region sisu_heading contains=sisu_mark_endnote,sisu_content_endnote,sisu_marktail,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_ocn,sisu_error,sisu_error_wspace matchgroup=sisu_structure start="^\([1-8]\|:\?[A-C]\)\~\(\S\+\|[^-]\)" end="$" +"% grouped text +syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^table{.\+" end="}table" +syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="^{\(t\|table\)\(\~h\)\?\(\sc[0-9]\+;\)\?[0-9; ]*}" end="\n\n" +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="^\(alt\|group\|poem\){" end="^}\(alt\|group\|poem\)" +syn region sisu_content_alt contains=sisu_error matchgroup=sisu_contain start="^code{" end="^}code" +"% endnotes +syn region sisu_content_endnote contains=sisu_link,sisu_strikeout,sisu_underline,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_wspace,sisu_mark,sisu_break matchgroup=sisu_mark_endnote start="\~{[*+]*" end="}\~" skip="\n" +syn region sisu_content_endnote contains=sisu_link,sisu_strikeout,sisu_underline,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_error_wspace,sisu_mark,sisu_break matchgroup=sisu_mark_endnote start="\~\[[*+]*" end="\]\~" skip="\n" +syn region sisu_content_endnote contains=sisu_strikeout,sisu_number,sisu_control,sisu_link,sisu_identifier,sisu_error,sisu_error_wspace,sisu_mark,sisu_break matchgroup=sisu_mark_endnote start="\^\~" end="\n\n" +"% links and images +syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_link start="{\(\~^\s\)\?" end="}\(https\?:/\/\|\.\./\)\S\+" oneline +syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_link start="{\(\~^\s\)\?" end="\[[1-5][sS]*\]}\S\+\.ss[tm]" oneline +syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_link start="{" end="}image" oneline +"% some line operations +syn region sisu_control contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_error,sisu_error_wspace matchgroup=sisu_control start="\(\(^\| \)!_ \|<:b>\)" end="$" +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-9*]\|[1-9]\*\) " end="$" +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="$" +syn region sisu_comment matchgroup=sisu_comment start="^%\{1,2\} " end="$" +"% font face curly brackets +syn region sisu_control contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="\*{" end="}\*" +syn region sisu_control contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="!{" end="}!" +syn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="_{" end="}_" +syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="/{" end="}/" +syn region sisu_underline contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="+{" end="}+" +syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start="\^{" end="}\^" +syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_fontface start=",{" end="}," +syn region sisu_strikeout contains=sisu_error matchgroup=sisu_fontface start="-{" end="}-" +syn region sisu_html contains=sisu_error contains=sisu_strikeout matchgroup=sisu_contain start="<a href=\".\{-}\">" end="</a>" oneline +"% single words bold italicise etc. "workon +syn region sisu_control contains=sisu_error matchgroup=sisu_control 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 +"% metaverse html (flagged as errors for filetype sisu) +syn region sisu_control contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_mark matchgroup=sisu_html start="<b>" end="</b>" skip="\n" oneline +syn region sisu_control contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_mark matchgroup=sisu_html start="<em>" end="</em>" skip="\n" oneline +syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_mark matchgroup=sisu_html start="<i>" end="</i>" skip="\n" oneline +syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_mark matchgroup=sisu_html start="<u>" end="</u>" skip="\n" oneline +syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error,sisu_mark matchgroup=sisu_html start="<ins>" end="</ins>" skip="\\\\\|\\'" oneline +syn region sisu_identifier contains=sisu_error matchgroup=sisu_html start="<del>" end="</del>" oneline +"% metaverse <:> +syn region sisu_content_alt contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_contain start="<:Table.\{-}>" end="<:Table[-_]end>" +syn region sisu_content_alt contains=sisu_error matchgroup=sisu_contain start="<:code>" end="<:code[-_]end>" +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="<:alt>" end="<:alt[-_]end>" +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="<:poem>" end="<:poem[-_]end>" +"% 6 Expensive Mode +" 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? +"% 5 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.*$" +"% 4 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,sisu_error_wspace "[^ (}]https\?:\S\+" +syn match sisu_error contains=sisu_error_wspace "\t\+" +syn match sisu_error contains=sisu_error "https\?:\S\+[}><]" +syn match sisu_error contains=sisu_error "\([!*/_\+,^]\){\([^(\}\1)]\)\{-}\n\n" +syn match sisu_error contains=sisu_error "^[\~]{[^{]\{-}\n\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-9]\~\s*$" +syn match sisu_error contains=sisu_error "^[0-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\n" +"% 3 Error Exceptions? +syn match sisu_control "\n\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\+[><]" +"% 2 Definitions - Define the default highlighting. +if version >= 508 || !exists("did_sisu_syntax_inits") + if version < 508 + let did_sisu_syntax_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif +"% 1 Defined + HiLink sisu_normal Normal + HiLink sisu_header PreProc + HiLink sisu_header_content Statement + HiLink sisu_heading Title + HiLink sisu_structure Operator + HiLink sisu_contain Include + HiLink sisu_mark_endnote Include + HiLink sisu_link NonText + HiLink sisu_linked String + HiLink sisu_fontface Include + HiLink sisu_strikeout DiffDelete + HiLink sisu_content_alt Special + HiLink sisu_content_endnote Special + HiLink sisu_control Define + HiLink sisu_ocn Include + HiLink sisu_number Number + HiLink sisu_identifier Function + HiLink sisu_underline Underlined + HiLink sisu_markpara Include + HiLink sisu_marktail Include + HiLink sisu_mark Identifier + HiLink sisu_break Structure + HiLink sisu_html Type + HiLink sisu_action Identifier + HiLink sisu_comment Comment + HiLink sisu_error_wspace Error + HiLink sisu_error Error + delcommand HiLink +endif +let b:current_syntax = "sisu" |