%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/progmodes/ |
Current File : //usr/local/share/emacs/27.2/lisp/progmodes/pascal.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (custom-declare-group 'pascal nil "Major mode for editing Pascal source in Emacs." :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) :group 'languages) #@45 Abbrev table in use in Pascal mode buffers. (defvar pascal-mode-abbrev-table nil (#$ . 582)) (define-abbrev-table 'pascal-mode-abbrev-table nil) #@29 Keymap used in Pascal mode. (defvar pascal-mode-map (byte-code "\300 \301\302\303#\210\301\304\303#\210\301\305\306#\210\301\307\310#\210\301\311\312#\210\301\313\314#\210\301\315\316#\210\301\317\320#\210\301\321\322#\210\301\323\324#\210\301\325\326#\210\301\327\330#\210\301\331\332#\210\301\333\334#\210\301\335\336#\210\301\337\340#\210\301\341\342#\210\211\207" [make-sparse-keymap define-key ";" electric-pascal-semi-or-dot "." ":" electric-pascal-colon "=" electric-pascal-equal "#" electric-pascal-hash "\211" completion-at-point "\277" completion-help-at-point "" backward-delete-char-untabify "\210" pascal-mark-defun "" pascal-insert-block "\252" pascal-star-comment "" pascal-comment-area "" pascal-uncomment-area "\201" pascal-beg-of-defun "\205" pascal-end-of-defun "" pascal-goto-defun "" pascal-outline-mode] 5) (#$ . 733)) #@68 Imenu expression for Pascal mode. See `imenu-generic-expression'. (defvar pascal-imenu-generic-expression '((nil "^[ ]*\\(function\\|procedure\\)[ \n]+\\([a-zA-Z0-9_.:]+\\)" 2)) (#$ . 1608)) (defvar pascal-keywords '("and" "array" "begin" "case" "const" "div" "do" "downto" "else" "end" "file" "for" "function" "goto" "if" "in" "label" "mod" "nil" "not" "of" "or" "packed" "procedure" "program" "record" "repeat" "set" "then" "to" "type" "until" "var" "while" "with" "get" "put" "input" "output" "read" "readln" "reset" "rewrite" "write" "writeln")) (defconst pascal-symbol-re "\\<[a-zA-Z_][a-zA-Z_0-9.]*\\>") (defconst pascal-beg-block-re "\\<\\(begin\\|case\\|record\\|repeat\\)\\>") (defconst pascal-end-block-re "\\<\\(end\\|until\\)\\>") (defconst pascal-declaration-re "\\<\\(const\\|label\\|type\\|var\\)\\>") (defconst pascal-progbeg-re "\\<program\\>") (defconst pascal-defun-re "\\<\\(function\\|procedure\\|program\\)\\>") (defconst pascal-sub-block-re "\\<\\(if\\|else\\|for\\|while\\|with\\)\\>") (defconst pascal-noindent-re "\\<\\(begin\\|end\\|until\\|else\\)\\>") (defconst pascal-nosemi-re "\\<\\(begin\\|repeat\\|then\\|do\\|else\\)\\>") (defconst pascal-autoindent-lines-re "\\<\\(label\\|var\\|type\\|const\\|until\\|end\\|begin\\|repeat\\|else\\)\\>") #@49 String used to mark beginning of excluded text. (defconst pascal-exclude-str-start "{-----\\/----- EXCLUDED -----\\/-----" (#$ . 2891)) #@43 String used to mark end of excluded text. (defconst pascal-exclude-str-end " -----/\\----- EXCLUDED -----/\\-----}" (#$ . 3033)) #@45 Syntax table in use in Pascal-mode buffers. (defvar pascal-mode-syntax-table (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\317#\210\301\320\321#\210\301\322\303#\210\301\323\303#\210\301\324\303#\210\301\325\303#\210\301\326\303#\210\301\327\303#\210\301\330\303#\210\301\331\303#\210\301\332\333#\210\301\334\335#\210\211\207" [make-syntax-table modify-syntax-entry 92 "." 40 "()1" 41 ")(4" 42 ". 23" 47 ". 12c" 10 "> c" 123 "<" 125 ">" 43 45 61 37 60 62 38 124 95 "_" 39 "\""] 5) (#$ . 3168)) #@53 Additional expressions to highlight in Pascal mode. (defconst pascal-font-lock-keywords (byte-code "\300\301\302B\303\304\305\306BBBBB\207" [("\\_<\\(function\\|pro\\(cedure\\|gram\\)\\)[ ]+\\([[:alpha:]][[:alnum:]_]*\\)" (1 font-lock-keyword-face) (3 font-lock-function-name-face)) "\\_<\\(array\\|boolean\\|c\\(har\\|onst\\)\\|file\\|integer\\|re\\(al\\|cord\\)\\|type\\|var\\)\\_>" font-lock-type-face ("\\_<\\(label\\|external\\|forward\\)\\_>" . font-lock-constant-face) ("\\_<\\([0-9]+\\)[ ]*:" 1 font-lock-function-name-face) "\\_<\\(and\\|begin\\|case\\|do\\|e\\(lse\\|nd\\)\\|for\\|i[fn]\\|not\\|o[fr]\\|repeat\\|t\\(hen\\|o\\)\\|until\\|w\\(hile\\|ith\\)\\)\\_>" (("\\_<\\(goto\\)\\_>[ ]*\\([0-9]+\\)?" (1 font-lock-keyword-face) (2 font-lock-keyword-face t)))] 6) (#$ . 3769)) (defconst pascal--syntax-propertize #[514 "b\210`W\205\200 \300\301\302#\205\200 \303\224\203\"