Skip to content
Snippets Groups Projects
Commit 6c8dd4a3 authored by athomps's avatar athomps
Browse files

Added emacs syntax highlighting

git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@5360 f3b2605a-c512-4ea7-a41b-209d697bcdaa
parent a9dd87de
No related branches found
No related tags found
No related merge requests found
...@@ -3,150 +3,208 @@ ...@@ -3,150 +3,208 @@
;; see http://xahlee.org/emacs/elisp_syntax_coloring.html ;; see http://xahlee.org/emacs/elisp_syntax_coloring.html
;; define several keyword classes ;; define several keyword classes
(defvar lammps-output (defvar lammps-output
'("log" "write_restart" "dump" "undump" "thermo" "thermo_modify" "thermo_style" "print") '("log"
"LAMMPS output.") "write_restart"
"dump"
(defvar lammps-read "undump"
'("include" "read" "read_restart" "read_data") "thermo"
"LAMMPS read.") "thermo_modify"
"thermo_style"
(defvar lammps-lattice "print")
'("boundary" "units" "atom_style" "lattice" "region" "create_box" "create_atoms" "dielectric" "delete_atoms" "change_box" "dimension" "replicate") "LAMMPS output.")
"LAMMPS lattice.")
(defvar lammps-read
(defvar lammps-define '("include"
'("variable" "group") "read"
"LAMMPS define.") "read_restart"
"read_data")
(defvar lammps-run "LAMMPS read.")
'("minimize" "run")
"LAMMPS run.") (defvar lammps-lattice
'("boundary"
(defvar lammps-setup "units"
'("min_style" "fix_modify" "run_style" "timestep" "neighbor" "neigh_modify" "fix" "unfix" "communicate" "newton" "nthreads" "processors" "reset_timestep") "atom_style"
"LAMMPS setup.") "lattice"
"region"
(defvar lammps-particle "create_box"
'("pair_coeff" "pair_style" "pair_modify" "mass" "velocity" "angle_coeff" "angle_style" "atom_modify" "atom_style" "bond_coeff" "bond_style" "delete_bonds" "kspace_style" "kspace_modify" "dihedral_style" "dihedral_coeff" "improper_style" "improper_coeff") "create_atoms"
"LAMMPS particle.") "dielectric"
"delete_atoms"
(defvar lammps-repeat "change_box"
'("jump" "next" "loop") "dimension"
"LAMMPS repeat.") "replicate")
"LAMMPS lattice.")
(defvar lammps-operator
'("equal" "add" "sub" "mult" "div") (defvar lammps-define
"LAMMPS operator.") '("variable"
"group")
(defvar lammps-conditional "LAMMPS define.")
'("if" "then" "elif" "else")
"LAMMPS conditional.") (defvar lammps-run
'("minimize"
(defvar lammps-special "run")
'("EDGE" "NULL") "LAMMPS run.")
"LAMMPS special.")
(defvar lammps-setup
;; create the regex string for each class of keywords '("min_style"
(defvar lammps-output-regexp (regexp-opt lammps-output 'words)) "fix_modify"
(defvar lammps-read-regexp (regexp-opt lammps-read 'words)) "run_style"
(defvar lammps-lattice-regexp (regexp-opt lammps-lattice 'words)) "timestep"
(defvar lammps-define-regexp (regexp-opt lammps-define 'words)) "neighbor"
(defvar lammps-run-regexp (regexp-opt lammps-run 'words)) "neigh_modify"
(defvar lammps-setup-regexp (regexp-opt lammps-setup 'words)) "fix"
(defvar lammps-particle-regexp (regexp-opt lammps-particle 'words)) "unfix"
(defvar lammps-repeat-regexp (regexp-opt lammps-repeat 'words)) "communicate"
(defvar lammps-operator-regexp (regexp-opt lammps-operator 'words)) "newton"
(defvar lammps-conditional-regexp (regexp-opt lammps-conditional 'words)) "nthreads"
(defvar lammps-special-regexp (regexp-opt lammps-special 'words)) "processors"
"reset_timestep")
"LAMMPS setup.")
(defvar lammps-particle
'("pair_coeff"
"pair_style"
"pair_modify"
"mass"
"velocity"
"angle_coeff"
"angle_style"
"atom_modify"
"atom_style"
"bond_coeff"
"bond_style"
"delete_bonds"
"kspace_style"
"kspace_modify"
"dihedral_style"
"dihedral_coeff"
"improper_style"
"improper_coeff")
"LAMMPS particle.")
(defvar lammps-repeat
'("jump"
"next"
"loop")
"LAMMPS repeat.")
(defvar lammps-operator
'("equal"
"add"
"sub"
"mult"
"div")
"LAMMPS operator.")
(defvar lammps-conditional
'("if"
"then"
"elif"
"else")
"LAMMPS conditional.")
(defvar lammps-special
'("EDGE"
"NULL")
"LAMMPS special.")
;; create the regex string for each class of keywords
(defvar lammps-output-regexp (regexp-opt lammps-output 'words))
(defvar lammps-read-regexp (regexp-opt lammps-read 'words))
(defvar lammps-lattice-regexp (regexp-opt lammps-lattice 'words))
(defvar lammps-define-regexp (regexp-opt lammps-define 'words))
(defvar lammps-run-regexp (regexp-opt lammps-run 'words))
(defvar lammps-setup-regexp (regexp-opt lammps-setup 'words))
(defvar lammps-particle-regexp (regexp-opt lammps-particle 'words))
(defvar lammps-repeat-regexp (regexp-opt lammps-repeat 'words))
(defvar lammps-operator-regexp (regexp-opt lammps-operator 'words))
(defvar lammps-conditional-regexp (regexp-opt lammps-conditional 'words))
(defvar lammps-special-regexp (regexp-opt lammps-special 'words))
;; Add some more classes using explicit regexp ;; Add some more classes using explicit regexp
(defvar lammps-number-regexp (defvar lammps-number-regexp
"\\<[0-9]\\>" "\\<[0-9]\\>")
)
(defvar lammps-float-regexp
(defvar lammps-float-regexp "\\<[0-9-+]+.[0-9-+]*\\>")
"\\<[0-9-+]+.[0-9-+]*\\>"
) (defvar lammps-comment-regexp
"#*")
(defvar lammps-comment-regexp
"#*" (defvar lammps-variable-regexp
) "\\$\\({[a-zA-Z0-9_]+}\\)\\|\\$[A-Za-z]")
(defvar lammps-variable-regexp ;; clear memory
"\\$\\({[a-zA-Z0-9_]+}\\)\\|\\$[A-Za-z]" (setq lammps-output nil)
) (setq lammps-read nil)
(setq lammps-lattice nil)
;; clear memory (setq lammps-define nil)
(setq lammps-output nil) (setq lammps-run nil)
(setq lammps-read nil) (setq lammps-setup nil)
(setq lammps-lattice nil) (setq lammps-particle nil)
(setq lammps-define nil) (setq lammps-repeat nil)
(setq lammps-run nil) (setq lammps-operator nil)
(setq lammps-setup nil) (setq lammps-conditional nil)
(setq lammps-particle nil) (setq lammps-special nil)
(setq lammps-repeat nil)
(setq lammps-operator nil) ;; create the list for font-lock.
(setq lammps-conditional nil) ;; each class of keyword is given a particular face
(setq lammps-special nil) (setq
lammps-font-lock-keywords
;; create the list for font-lock. `((,lammps-output-regexp . font-lock-function-name-face)
;; each class of keyword is given a particular face (,lammps-read-regexp . font-lock-preprocessor-face)
(setq lammps-font-lock-keywords (,lammps-lattice-regexp . font-lock-type-face)
`( (,lammps-define-regexp . font-lock-variable-name-face)
(,lammps-output-regexp . font-lock-function-name-face) (,lammps-run-regexp . font-lock-keyword-face)
(,lammps-read-regexp . font-lock-preprocessor-face) (,lammps-setup-regexp . font-lock-type-face)
(,lammps-lattice-regexp . font-lock-type-face) (,lammps-particle-regexp . font-lock-type-face)
(,lammps-define-regexp . font-lock-variable-name-face) (,lammps-repeat-regexp . font-lock-string-face)
(,lammps-run-regexp . font-lock-keyword-face) (,lammps-operator-regexp . font-lock-warning-face)
(,lammps-setup-regexp . font-lock-type-face) (,lammps-conditional-regexp . font-lock-builtin-face)
(,lammps-particle-regexp . font-lock-type-face) (,lammps-special-regexp . font-lock-constant-face)
(,lammps-repeat-regexp . font-lock-string-face) (,lammps-float-regexp . font-lock-constant-face)
(,lammps-operator-regexp . font-lock-warning-face) (,lammps-number-regexp . font-lock-constant-face)
(,lammps-conditional-regexp . font-lock-builtin-face) (,lammps-comment-regexp . font-lock-constant-face)
(,lammps-special-regexp . font-lock-constant-face) (,lammps-variable-regexp . font-lock-function-name-face)
(,lammps-float-regexp . font-lock-constant-face) ;; note: order above matters. lammps-variable-regexp goes last because
(,lammps-number-regexp . font-lock-constant-face) ;; otherwise the keyword state in the variable state_entry
(,lammps-comment-regexp . font-lock-constant-face) ;; would be highlighted.
(,lammps-variable-regexp . font-lock-function-name-face) ))
;; note: order above matters. lammps-variable-regexp goes last because
;; otherwise the keyword state in the variable state_entry ;; define the mode
;; would be highlighted. (define-derived-mode lammps-mode shell-script-mode
)) "lammps mode"
"Major mode for editing LAMMPS input scripts ..."
;; define the mode ;; ...
(define-derived-mode lammps-mode shell-script-mode
"lammps mode" ;; code for syntax highlighting
"Major mode for editing LAMMPS input scripts ..." (setq font-lock-defaults '((lammps-font-lock-keywords)))
;; ...
;; clear memory
;; code for syntax highlighting (setq lammps-output-regexp nil)
(setq font-lock-defaults '((lammps-font-lock-keywords))) (setq lammps-read-regexp nil)
(setq lammps-lattice-regexp nil)
;; clear memory (setq lammps-define-regexp nil)
(setq lammps-output-regexp nil) (setq lammps-run-regexp nil)
(setq lammps-read-regexp nil) (setq lammps-setup-regexp nil)
(setq lammps-lattice-regexp nil) (setq lammps-particle-regexp nil)
(setq lammps-define-regexp nil) (setq lammps-repeat-regexp nil)
(setq lammps-run-regexp nil) (setq lammps-operator-regexp nil)
(setq lammps-setup-regexp nil) (setq lammps-conditional-regexp nil)
(setq lammps-particle-regexp nil) (setq lammps-special-regexp nil)
(setq lammps-repeat-regexp nil) (setq lammps-number-regexp nil)
(setq lammps-operator-regexp nil) (setq lammps-float-regexp nil)
(setq lammps-conditional-regexp nil) (setq lammps-comment-regexp nil)
(setq lammps-special-regexp nil) (setq lammps-variable-regexp nil))
(setq lammps-number-regexp nil)
(setq lammps-float-regexp nil)
(setq lammps-comment-regexp nil)
(setq lammps-variable-regexp nil)
)
;; apply it to specified filename patterns ;; apply it to specified filename patterns
(setq auto-mode-alist (setq
(append auto-mode-alist auto-mode-alist
'(("in\\." . lammps-mode)) (append
'(("\\.lmp\\'" . lammps-mode)) auto-mode-alist
) '(("in\\." . lammps-mode))
) '(("\\.lmp\\'" . lammps-mode))
))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment