summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Hacohen <tom@stosb.com>2016-12-05 12:34:43 +0000
committerTom Hacohen <tom@stosb.com>2016-12-05 12:34:43 +0000
commit92f8e013eaa62da6658556924f9a08cf31c75565 (patch)
treea7e96f649bb8e823e5510fb9e6cd6c3f23b3f920
parent0431dd24fd971149878ccbfb48c87f500d9b027c (diff)
downloadefl-92f8e013eaa62da6658556924f9a08cf31c75565.tar.gz
Emacs configs: Move to designated repo.
-rw-r--r--data/edje/edje-mode.el513
-rw-r--r--data/eo/eo-mode.el398
2 files changed, 0 insertions, 911 deletions
diff --git a/data/edje/edje-mode.el b/data/edje/edje-mode.el
deleted file mode 100644
index b0d8602234..0000000000
--- a/data/edje/edje-mode.el
+++ /dev/null
@@ -1,513 +0,0 @@
-;;; edje-mode-el -- Major mode for editing Edje files
-
-;; Author: Gustavo Sverzut Barbieri <barbieri@gmail.com>
-;; Created: 2007-07-23
-;; Keywords: Edje major-mode
-;; Url: http://barbieri-playground.googlecode.com/svn/dot-files/edje-mode.el
-;; (if you find this file have problems, check that Url and request update)
-
-;; Copyright (C) 2007 Gustavo Sverzut Barbieri <barbieri@gmail.com>
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2 of
-;; the License, or (at your option) any later version.
-
-;; This program is distributed in the hope that it will be
-;; useful, but WITHOUT ANY WARRANTY; without even the implied
-;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-;; PURPOSE. See the GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public
-;; License along with this program; if not, write to the Free
-;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-;; MA 02111-1307 USA
-
-;;; Commentary:
-;;
-;; This mode is based on tutorial from Scott Andrew Borton:
-;; http://two-wugs.net/emacs/mode-tutorial.html
-
-
-(defvar edje-mode-hook nil)
-
-(defun number-or-nil-to-string (v &optional default)
- (cond ((numberp v) (number-to-string v))
- ((stringp v) (if (string= v "") (number-to-string default) v))
- (t (number-to-string default))))
-
-(defun non-empty-string (s)
- (and (not (eq 'nil s))
- (not (string= "" s))))
-
-(defun edje-new-program-action-signal-emit (source emission)
- "Insert new program SIGNAL_EMIT"
- (interactive "ssource: \nsemission: ")
- (insert
- (concat
- " action: SIGNAL_EMIT \"" source "\" \"" emission "\";\n"
- )))
-
-(defun edje-new-program-action-state-set (state value target)
- "Insert new program STATE_SET"
- (interactive "sstate: \nsvalue (0.0): \nstarget: ")
- (insert
- (concat
- " action: STATE_SET \"" state "\" "
- (number-or-nil-to-string value 0.0) ";\n"
- " target: \"" target "\";\n"
- )))
-
-(defun edje-new-program-action (action)
- "Insert new program action"
- (interactive "saction: ")
- (setq action (upcase action))
- (cond ((string= action "STATE_SET")
- (edje-new-program-action-state-set "" 0.0 ""))
- ((string= action "SIGNAL_EMIT")
- (edje-new-program-action-signal-emit "" ""))
- ))
-
-(defun edje-new-program (name signal source action)
- "Insert new program block"
- (interactive "sname: \nssignal: \nssource: \nsaction: ")
- (insert
- (concat
- "\n"
- " program {\n"
- " name: \"" name "\";\n"
-
- (if (non-empty-string signal)
- (concat " signal: \"" signal "\";\n"))
-
- (if (non-empty-string source)
- (concat " source: \"" source "\";\n"))
- ))
-
- (edje-new-program-action action)
-
- (insert
- (concat
- " }\n"
- "\n"
- )))
-
-(defun edje-new-desc-relative (x y &optional defx defy)
- "Insert new part description 'relative' line"
- (interactive "sx: \nsy: ")
- (insert
- (concat
- " relative: "
- (number-or-nil-to-string x defx) " "
- (number-or-nil-to-string y defy) ";\n"
- )))
-
-(defun edje-new-desc-offset (x y &optional defx defy)
- "Insert new part description 'offset' line"
- (interactive "sx: \nsy: ")
- (insert
- (concat
- " offset: "
- (number-or-nil-to-string x defx) " "
- (number-or-nil-to-string y defy) ";\n"
- )))
-
-(defun edje-new-desc-inherit (name val)
- "Insert new part description 'inherit' line"
- (interactive "sname: \nsvalue: ")
- (insert
- (concat
- " inherit: \"" name "\" "
- (number-or-nil-to-string val 0.0) ";\n"
- )))
-
-(defun edje-new-desc-text (font size text)
- "Insert new part description 'text' block"
- (interactive "sfont: \nssize: \nstext: ")
- (insert
- (concat
- " text {\n"
- " font: \"" font "\";\n"
- " size: " (number-or-nil-to-string size) ";\n"
- " text: \"" text "\";\n"
- " }\n"
- )))
-
-(defun edje-new-desc-image (name)
- "Insert new part description 'image' block"
- (interactive "sname: ")
- (insert
- (concat
- " image {\n"
- " normal: \"" name "\";\n"
- " }\n"
- )))
-
-(defun edje-new-desc-color (r g b a &optional defr defg defb defa)
- "Insert new part description 'color' line"
- (interactive "sred: \nsgreen: \nsblue: \nsalpha: ")
- (insert
- (concat
- " color: "
- (number-or-nil-to-string r defr) " "
- (number-or-nil-to-string g defg) " "
- (number-or-nil-to-string b defb) " "
- (number-or-nil-to-string a defa) ";\n"
- )))
-
-(defun edje-new-desc (name val &optional
- r1_rx r1_ry
- r2_rx r2_ry
- r1_ox r1_oy
- r2_ox r2_oy
- part_type)
- "Insert new part description block"
- (interactive "sName: \nsValue: ")
- (insert
- (concat
- " description {\n"
- " state: \"" name "\" " (number-or-nil-to-string val 0.0) ";\n"))
- (if (string= part_type "RECT") (edje-new-desc-color 255 255 255 255))
- (insert " rel1 {\n")
- (edje-new-desc-relative r1_rx r1_ry 0.0 0.0)
- (edje-new-desc-offset r1_ox r1_oy 0 0)
- (insert
- (concat
- " }\n"
- " rel2 {\n"
- ))
- (edje-new-desc-relative r2_rx r2_ry 1.0 1.0)
- (edje-new-desc-offset r2_ox r2_oy -1 -1)
- (insert " }\n")
- (cond ((string= part_type "IMAGE") (edje-new-desc-image ""))
- ((string= part_type "TEXT") (edje-new-desc-text "" 10 "contents"))
- )
- (insert " }\n")
- )
-
-(defun edje-new-part (name type &optional
- r1_rx r1_ry
- r2_rx r2_ry
- r1_ox r1_oy
- r2_ox r2_oy)
- "Insert new part"
- (interactive "sName: \nsType: ")
- (setq type (upcase type))
- (insert
- (concat
- "\n"
- " part {\n"
- " name: \"" name "\";\n"
- " type: " type ";\n"
- " mouse_events: 0;\n"
- ))
- (edje-new-desc "default" 0.0 r1_rx r1_ry r2_rx r2_ry r1_ox r1_oy r2_ox r2_oy type)
- (insert
- (concat
- " }\n"
- )))
-
-(defun edje-setup-compile ()
- (set (make-local-variable 'compile-command)
- (concat "edje_cc " (buffer-file-name))
- ))
-
-(defun edje-cc ()
- "Runs edje_cc with current buffer."
- (interactive)
- (compile (edje-setup-compile)))
-
-(defvar edje-mode-map
- (let ((edje-mode-map (make-sparse-keymap)))
- (define-key edje-mode-map "\C-j" 'newline-and-indent)
- (define-key edje-mode-map "\C-cp" 'edje-new-part)
- (define-key edje-mode-map "\C-cd" 'edje-new-desc)
- (define-key edje-mode-map "\C-cr" 'edje-new-desc-relative)
- (define-key edje-mode-map "\C-co" 'edje-new-desc-offset)
- (define-key edje-mode-map "\C-ch" 'edje-new-desc-inherit)
- (define-key edje-mode-map "\C-cc" 'edje-new-desc-color)
- (define-key edje-mode-map "\C-ci" 'edje-new-desc-image)
- (define-key edje-mode-map "\C-ct" 'edje-new-desc-text)
- (define-key edje-mode-map "\C-cg" 'edje-new-program)
- (define-key edje-mode-map "\C-ca" 'edje-new-program-action)
- (define-key edje-mode-map "\C-cs" 'edje-new-program-action-state-set)
- (define-key edje-mode-map "\C-ce" 'edje-new-program-action-signal-emit)
- edje-mode-map)
- "Keymap for Edje major mode")
-
-(add-hook 'c-mode-hook 'edje-setup-compile)
-(add-to-list 'auto-mode-alist '("\\.edc$" . edje-mode))
-
-(defconst edje-font-lock-keywords-1
- (eval-when-compile
- (list
- (list (concat "[ \t]*\\<"
- (regexp-opt
- '(
- "collections"
- "data"
- "description"
- "dragable"
- "fill"
- "fonts"
- "group"
- "image"
- "images"
- "origin"
- "part"
- "parts"
- "program"
- "programs"
- "rel1"
- "rel2"
- "script"
- "spectra"
- "style"
- "styles"
- "text"
- ) t) "\\>\\([ \t]*{\\|\\.\\)")
- '(1 font-lock-function-name-face))
-
- ))
- "Major keywords")
-
-(defconst edje-font-lock-keywords-2
- (eval-when-compile
- (append edje-font-lock-keywords-1
- (list
- (list
- (concat "^\\([ \t]*\\|[ \t]*[a-z]+\\.\\|\\)\\<"
- (regexp-opt
- '("action"
- "after"
- "alias"
- "align"
- "angle"
- "aspect"
- "aspect_preference"
- "base"
- "border"
- "clip_to"
- "collections"
- "color"
- "color2"
- "color3"
- "color_class"
- "color_classes"
- "confine"
- "data"
- "description"
- "dragable"
- "effect"
- "elipsis"
- "events"
- "fill"
- "fit"
- "fixed"
- "font"
- "fonts"
- "gradient"
- "group"
- "ignore_flags"
- "image"
- "images"
- "in"
- "inherit"
- "item"
- "max"
- "middle"
- "min"
- "mouse_events"
- "name"
- "normal"
- "offset"
- "origin"
- "part"
- "parts"
- "pointer_mode"
- "precise_is_inside"
- "program"
- "programs"
- "rel1"
- "rel2"
- "relative"
- "repeat_events"
- "signal"
- "size"
- "smooth"
- "source"
- "spectra"
- "spectrum"
- "spread"
- "state"
- "step"
- "style"
- "styles"
- "tag"
- "target"
- "text"
- "text_class"
- "text_source"
- "to"
- "to_x"
- "to_y"
- "transition"
- "tween"
- "type"
- "use_alternate_font_metrics"
- "visible"
- "x"
- "y"
- ) t) "\\>[ \t]*[:,]")
- '(2 font-lock-keyword-face))
- )))
- "Minor keywords")
-
-(defconst edje-font-lock-keywords-3
- (eval-when-compile
- (append edje-font-lock-keywords-2
- (list
- (list
- (concat "\\<"
- (regexp-opt
- '(; image options (st_images_image)
- "RAW"
- "COMP"
- "LOSSY"
- "USER"
- ; part types (st_collections_group_parts_part_type)
- "NONE"
- "RECT"
- "TEXT"
- "IMAGE"
- "SWALLOW"
- "TEXTBLOCK"
- "GRADIENT"
- "GROUP"
- ; ignore flags (st_collections_group_parts_part_ignore_flags)
- ;"NONE"
- "ON_HOLD"
- ; pointer mode (st_collections_group_parts_part_pointer_mode)
- "AUTOGRAB"
- "NOGRAB"
- ; aspect (st_collections_group_parts_part_description_aspect_preference)
- "NONE"
- "VERTICAL"
- "HORIZONTAL"
- "BOTH"
- ; text effect (st_collections_group_parts_part_effect)
- "NONE"
- "PLAIN"
- "OUTLINE"
- "SOFT_OUTLINE"
- "SHADOW"
- "SOFT_SHADOW"
- "OUTLINE_SHADOW"
- "OUTLINE_SOFT_SHADOW"
- "FAR_SHADOW"
- "FAR_SOFT_SHADOW"
- "GLOW"
- ; image fill (st_collections_group_parts_part_description_fill_type)
- "SCALE"
- "TILE"
- ; program action (st_collections_group_programs_program_action)
- "STATE_SET"
- "ACTION_STOP"
- "SIGNAL_EMIT"
- "DRAG_VAL_SET"
- "DRAG_VAL_STEP"
- "DRAG_VAL_PAGE"
- "SCRIPT"
- ; program transition (st_collections_group_programs_program_transition)
- "LINEAR"
- "SINUSOIDAL"
- "CUBIC_BEZIER"
- "ACCELERATE"
- "DECELERATE"
- ) t) "\\>")
- '(1 font-lock-builtin-face))
- )))
- "Enumerate values")
-
-(defconst edje-font-lock-keywords-4
- (eval-when-compile
- (append edje-font-lock-keywords-3
- (list
- (list
- (concat "[ \t]*#"
- (regexp-opt
- '("if"
- "ifdef"
- "ifndef"
- "define"
- "else"
- "endif"
- "include"
- "undef") t) "[ \t]*")
- '(1 font-lock-builtin-face))
- )))
- "CPP directives")
-
-(defconst edje-font-lock-keywords-5
- (eval-when-compile
- (append edje-font-lock-keywords-4
- (list
- (list "[ \t]*#undef[ \t]+\\([a-zA-Z_][a-zA-Z0-9_]*\\)"
- '(1 font-lock-variable-name-face))
- (list "[ \t]*#define[ \t]+\\([a-zA-Z_][a-zA-Z0-9_]*\\)("
- '(1 font-lock-function-name-face))
- (list "[ \t]*#define[ \t]+\\([a-zA-Z_][a-zA-Z0-9_]*\\)"
- '(1 font-lock-variable-name-face))
- )))
- "CPP directives that define constants")
-
-
-(defvar edje-font-lock-keywords edje-font-lock-keywords-5)
-
-(defvar edje-mode-syntax-table
- (let ((edje-mode-syntax-table (make-syntax-table)))
- ; This is added so entity names with underscores can be more easily parsed
- (modify-syntax-entry ?_ "w" edje-mode-syntax-table)
- (modify-syntax-entry ?/ ". 124b" edje-mode-syntax-table)
- (modify-syntax-entry ?* ". 23" edje-mode-syntax-table)
- (modify-syntax-entry ?\n "> b" edje-mode-syntax-table)
-
- edje-mode-syntax-table)
- "Syntax table for edje-mode")
-
-(c-add-style
- "edje"
- '("gnu"
- (indent-tabs-mode . nil)
- (tab-width . 8)
- (c-basic-offset . 3)
- (c-backslash-column . 72)
- (c-hanging-braces-alist .
- ((block-open after)
- (brace-list-open after)
- (substatement-open after))
- )
- (c-offsets-alist .
- ((statement-block-intro . +)
- (defun-open . 0)
- (substatement-open . 0)
- (defun-block-intro . +)
- (block-open . 0)
- (label . +)
- ))))
-
-
-(define-derived-mode edje-mode c-mode "Edje"
- "Major mode for editing Edje files"
- (interactive)
- (use-local-map edje-mode-map)
- (set-syntax-table edje-mode-syntax-table)
- (set (make-local-variable 'font-lock-defaults) '(edje-font-lock-keywords))
- (set (make-local-variable 'require-final-newline) t)
- (c-set-style "edje")
- (run-hooks 'edje-mode-hook)
- )
-
-(provide 'edje-mode)
-
-;;; edje-mode.el ends here
diff --git a/data/eo/eo-mode.el b/data/eo/eo-mode.el
deleted file mode 100644
index f455711ed7..0000000000
--- a/data/eo/eo-mode.el
+++ /dev/null
@@ -1,398 +0,0 @@
-;;; eo-mode-el -- Major mode for editing Eo (eolian) files
-
-;; Author: Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
-;; Created: 2016-07-29
-;; Keywords: EFL Eo major-mode
-
-;; Copyright (C) 2016 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2 of
-;; the License, or (at your option) any later version.
-
-;; This program is distributed in the hope that it will be
-;; useful, but WITHOUT ANY WARRANTY; without even the implied
-;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-;; PURPOSE. See the GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public
-;; License along with this program; if not, write to the Free
-;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-;; MA 02111-1307 USA
-
-;; To enable for *.eo and *.eot files, add to ~/.emacs:
-;;
-;; (add-to-list 'load-path "SOMEPATH/.emacs.d/site-packages/eo-mode.el")
-;; (add-to-list 'auto-mode-alist '("\\.eo$\\|\\.eot$" . eo-mode))
-;; (autoload 'eo-mode "eo-mode")
-
-
-(defvar eo-mode-hook nil)
-
-(defconst eo-font-lock-units
- (eval-when-compile
- (list
- (list (concat
- "^\\<"
- (regexp-opt
- '(
- "abstract"
- "class"
- "mixin"
- "interface"
- "type"
- "const"
- "var"
- "struct"
- "enum"
- "import"
- ) t) "\\>\\(\\(\\s-+@"
- "\\(extern\\|free([^)]+)\\)"
- "\\)+\\|\\)\\s-+\\<\\([a-zA-Z_][a-zA-Z0-9_.]*\\)\\>")
- '(1 font-lock-keyword-face)
- '(2 font-lock-type-face)
- '(5 font-lock-function-name-face)
- )))
- "Toplevel Units")
-
-(defconst eo-font-lock-blocks
- (eval-when-compile
- (append eo-font-lock-units
- (list
- (list (concat
- "^\\s-+"
- (regexp-opt
- '(
- "methods"
- "events"
- "implements"
- "constructors"
- "params"
- "keys"
- "values"
- ) t) "\\s-*{")
- '(1 font-lock-builtin-face)
- ))))
- "blocks")
-
-(defconst eo-font-lock-blocks-with-modifiers
- (eval-when-compile
- (append eo-font-lock-blocks
- (list
- (list (concat
- "^\\s-+"
- (regexp-opt
- '(
- "get"
- "set"
- ) t)
- "\\(\\s-+@"
- (regexp-opt
- '(
- "virtual_pure"
- ) t)
- "\\|\\)\\s-*{")
- '(1 font-lock-builtin-face)
- '(2 font-lock-type-face)
- ))))
- "blocks")
-
-(defconst eo-font-lock-constants
- (eval-when-compile
- (append eo-font-lock-blocks-with-modifiers
- (list
- (list (concat
- "\\<"
- (regexp-opt
- '(
- "null"
- "true"
- "false"
- ) t) "\\>")
- '(1 font-lock-constant-face)
- ))))
- "Constants")
-
-(defconst eo-font-lock-event
- (eval-when-compile
- (append eo-font-lock-constants
- (list
- (list (concat
- "^\\s-+\\([a-zA-Z][a-zA-Z0-9_,]*\\)\\(\\s-+@"
- (regexp-opt
- '(
- "private"
- "protected"
- "beta"
- "hot"
- ) t) "\\|\\)\\s-*\\(:\\|;\\)")
- '(1 font-lock-variable-name-face)
- '(2 font-lock-type-face)
- ))))
- "event")
-
-(defconst eo-font-lock-param
- (eval-when-compile
- (append eo-font-lock-event
- (list
- (list (concat
- "^\\s-+\\(@"
- (regexp-opt
- '(
- "in"
- "out"
- "inout"
- ) t)
- "\\s-+\\|\\)\\([a-zA-Z][a-zA-Z0-9_]*\\)"
- "\\s-*:[^@]+*\\(\\(\\s-+@"
- (regexp-opt
- '(
- "nonull"
- "nullable"
- "optional"
- ) t)
- "\\)+\\|\\)\\s-*;"
- )
- '(1 font-lock-type-face)
- '(3 font-lock-variable-name-face)
- '(4 font-lock-type-face)
- ))))
- "parameters")
-
-
-(defconst eo-font-lock-return
- (eval-when-compile
- (append eo-font-lock-param
- (list
- (list (concat
- "^\\s-+return\\s-*:[^@]+*\\(\\(\\s-+@"
- (regexp-opt
- '(
- "warn_unused"
- ) t)
- "\\)+\\|\\)\\s-*;"
- )
- '(1 font-lock-type-face)
- ))))
- "return")
-
-(defconst eo-font-lock-default-implementation
- (eval-when-compile
- (append eo-font-lock-return
- (list
- (list (concat
- "^\\s-+"
- (regexp-opt
- '(
- "class.constructor"
- "class.destructor"
- ) t)
- "\\s-*;"
- )
- '(1 font-lock-builtin-face)
- ))))
- "Default Implementation")
-
-(defconst eo-font-lock-implementation
- (eval-when-compile
- (append eo-font-lock-default-implementation
- (list
- (list (concat
- "^\\s-+"
- "\\(@\\(auto\\|empty\\)\\s-+\\|\\)"
- "\\([a-zA-Z.][a-zA-Z0-9_.]*\\)"
- "\\s-*;"
- )
- '(1 font-lock-type-face)
- '(3 font-lock-variable-name-face)
- ))))
- "Implementation")
-
-(defconst eo-font-lock-property
- (eval-when-compile
- (append eo-font-lock-implementation
- (list
- (list (concat
- "^\\s-+\\(@property\\)\\s-+"
- "\\([a-zA-Z][a-zA-Z0-9_]*\\)\\(\\(\\s-+@"
- (regexp-opt
- '(
- "protected"
- "class"
- "virtual_pure"
- "part"
- ) t)
- "\\)+\\|\\)\\s-*{"
- )
- '(1 font-lock-type-face)
- '(2 font-lock-variable-name-face)
- '(3 font-lock-type-face)
- ))))
- "Property method")
-
-(defconst eo-font-lock-method
- (eval-when-compile
- (append eo-font-lock-property
- (list
- (list (concat
- "^\\s-+\\([a-zA-Z][a-zA-Z0-9_]*\\)\\(\\(\\s-+@"
- (regexp-opt
- '(
- "protected"
- "const"
- "class"
- "virtual_pure"
- ) t)
- "\\)+\\|\\)\\s-*{"
- )
- '(1 font-lock-variable-name-face)
- '(2 font-lock-type-face)
- ))))
- "Method")
-
-
-(defconst eo-font-lock-fields
- (eval-when-compile
- (append eo-font-lock-method
- (list
- (list "^\\s-+\\<\\([a-zA-Z0-9][a-zA-Z0-9_,]*\\)\\>:"
- '(1 font-lock-variable-name-face)
- ))))
- "Fields & Events without modifiers")
-
-(defconst eo-font-lock-complex-type
- (eval-when-compile
- (append eo-font-lock-fields
- (list
- (list (concat
- "\\<"
- (regexp-opt
- '(
- "accessor"
- "array"
- "iterator"
- "hash"
- "list"
- ) t)
- "\\>\\s-*<"
- )
- '(1 font-lock-builtin-face)
- ))))
- "Complex types, C++ template style.")
-
-(defconst eo-font-lock-expression-functions
- (eval-when-compile
- (append eo-font-lock-complex-type
- (list
- (list (concat
- "\\<"
- (regexp-opt
- '(
- "own"
- "const"
- "free"
- ) t)
- "\\>\\s-*("
- )
- '(1 font-lock-builtin-face)
- ))))
- "Expression Functions")
-
-(defconst eo-font-lock-known-types
- (eval-when-compile
- (append eo-font-lock-expression-functions
- (list
- (list (concat
- "\\<"
- (regexp-opt
- '(
- "byte"
- "ubyte"
- "char"
- "short"
- "ushort"
- "int"
- "uint"
- "long"
- "ulong"
- "llong"
- "ullong"
- "int8"
- "uint8"
- "int16"
- "uint16"
- "int32"
- "uint32"
- "int64"
- "uint64"
- "int128"
- "uint128"
- "size"
- "ssize"
- "intptr"
- "uintptr"
- "ptrdiff"
- "time"
- "float"
- "double"
- "bool"
- "void"
- "void_ptr"
- ) t)
- "\\>"
- )
- '(1 font-lock-builtin-face)
- ))))
- "Expression Functions")
-
-(defgroup eo nil
- "EFL's Eo formatting."
- :prefix "eo-"
- :group 'faces)
-
-(defface eo-docstring-face
- '((t :inherit font-lock-string-face))
- "Face used to highlight documentation strings."
- :group 'eo)
-
-(defconst eo-font-lock-docstring
- (eval-when-compile
- (append eo-font-lock-known-types
- (list
- (list "\\(\\[\\[.*\\]\\]\\)"
- '(1 'eo-docstring-face t) ;; t = overrides comment existing formatting
- ))))
- "Documentation")
-
-(defvar eo-font-lock eo-font-lock-docstring)
-
-(defvar eo-mode-syntax-table
- (let ((eo-mode-syntax-table (make-syntax-table)))
- ;; [ is open and matches ], but [[ is a docstring starter
- (modify-syntax-entry ?[ "(]12c" eo-mode-syntax-table)
- (modify-syntax-entry ?] ")[34c" eo-mode-syntax-table)
- eo-mode-syntax-table)
- "Syntax table for eo-mode")
-
-(c-add-style
- "eo"
- '("gnu"
- (indent-tabs-mode . nil)
- (tab-width . 8)
- (c-basic-offset . 4)
- (c-backslash-column . 72)
- ))
-
-(define-derived-mode eo-mode c-mode "Eo"
- "Major mode for editing Eo files"
- (interactive)
- (use-local-map eo-mode-map)
- (set-syntax-table eo-mode-syntax-table)
- (set (make-local-variable 'font-lock-defaults) '(eo-font-lock))
- (set (make-local-variable 'require-final-newline) t)
- (c-set-style "eo")
- (run-hooks 'eo-mode-hook)
- )
-
-(provide 'eo-mode)