Server IP : 111.118.215.189 / Your IP : 18.117.158.174 Web Server : Apache System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 User : a1673wkz ( 2475) PHP Version : 8.2.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /usr/share/emacs/24.3/lisp/progmodes/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
;ELC ;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:09:30 2024 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/progmodes/sh-script.el ;;; in Emacs version 24.3.1 ;;; 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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\302\303\304\"\210\302\305\304\"\210\302\306\307\"\210\302\310\307\"\210\311\312\313\314\315\316%\210\311\317\313\320\321\322\315\312\323\324& \210\325\326\327\330\331\332\315\317&\210\325\333\334\335\331\336\315\317&\210\325\337\340\341\331\342\315\317&\210\325\343\344\345\331\346\315\317&\210\325\347\350\351\331\352\315\317\353\354& \207" [require executable autoload comint-completion-at-point "comint" comint-filename-completion shell-command-completion "shell" shell-environment-variable-completion custom-declare-group sh nil "Shell programming utilities." :group languages sh-script "Shell script mode." :link (custom-group-link :tag "Font Lock Faces group" font-lock-faces) :prefix "sh-" custom-declare-variable sh-ancestor-alist '((ash . sh) (bash . jsh) (bash2 . jsh) (dtksh . ksh) (es . rc) (itcsh . tcsh) (jcsh . csh) (jsh . sh) (ksh . ksh88) (ksh88 . jsh) (oash . sh) (pdksh . ksh88) (posix . sh) (tcsh . csh) (wksh . ksh88) (wsh . sh) (zsh . ksh88) (rpm . sh)) "Alist showing the direct ancestor of various shells.\nThis is the basis for `sh-feature'. See also `sh-alias-alist'.\nBy default we have the following three hierarchies:\n\ncsh C Shell\n jcsh C Shell with Job Control\n tcsh TENEX C Shell\n itcsh Ian's TENEX C Shell\nrc Plan 9 Shell\n es Extensible Shell\nsh Bourne Shell\n ash Almquist Shell\n jsh Bourne Shell with Job Control\n bash GNU Bourne Again Shell\n ksh88 Korn Shell '88\n ksh Korn Shell '93\n dtksh CDE Desktop Korn Shell\n pdksh Public Domain Korn Shell\n wksh Window Korn Shell\n zsh Z Shell\n oash SCO OA (curses) Shell\n posix IEEE 1003.2 Shell Standard\n wsh ? Shell" :type (repeat (cons symbol symbol)) sh-alias-alist (append (if (eq system-type 'gnu/linux) '((csh . tcsh) (ksh . pdksh))) '((ksh . ksh88) (bash2 . bash) (sh5 . sh))) "Alist for transforming shell names to what they really are.\nUse this where the name of the executable doesn't correspond to the type of\nshell it really is." (repeat (cons symbol symbol)) sh-shell-file (or (and (memq system-type '(ms-dos windows-nt)) (let* ((shell (getenv "SHELL")) (shell-base (and shell (file-name-nondirectory shell)))) (if (or (null shell) (member (downcase shell-base) '("command.com" "cmd.exe" "4dos.com" "ndos.com" "cmdproxy.exe"))) "/bin/sh" (file-name-sans-extension (downcase shell))))) (getenv "SHELL") "/bin/sh") "The executable file name for the shell being programmed." string sh-shell-arg '((bash) (csh . "-f") (pdksh) (ksh88) (rc . "-p") (wksh) (zsh . "-f")) "Single argument string for the magic number. See `sh-feature'." (repeat (cons (symbol :tag "Shell") (choice (const :tag "No Arguments" nil) (string :tag "Arguments") (sexp :format "Evaluate: %v")))) sh-imenu-generic-expression `((sh (nil "^\\s-*function\\s-+\\([[:alpha:]_][[:alnum:]_]+\\)\\s-*\\(?:()\\)?" 1) (nil "^\\s-*\\([[:alpha:]_][[:alnum:]_]+\\)\\s-*()" 1))) "Alist of regular expressions for recognizing shell function definitions.\nSee `sh-feature' and `imenu-generic-expression'." (alist :key-type (symbol :tag "Shell") :value-type (alist :key-type (choice :tag "Title" string (const :tag "None" nil)) :value-type (repeat :tag "Regexp, index..." sexp))) :version "20.4"] 10) #@246 Alist of shell variable names that should be included in completion. These are used for completion in addition to all the variables named in `process-environment'. Each element looks like (VAR . VAR), where the car and cdr are the same symbol. (defvar sh-shell-variables nil (#$ . 3802)) #@49 Non-nil if `sh-shell-variables' is initialized. (defvar sh-shell-variables-initialized nil (#$ . 4097)) #@63 Convert a shell name SHELL to the one we should handle it as. (defalias 'sh-canonicalize-shell #[(shell) "\302\303\"\203 \304\211\224O9\204 \305! \236A\206 \207" [shell sh-alias-alist string-match "\\.exe\\'" 0 intern] 3 (#$ . 4207)]) #@62 The shell being programmed. This is set by \[sh-set-shell]. (defvar sh-shell (byte-code "\301\302!!\207" [sh-shell-file sh-canonicalize-shell file-name-nondirectory] 3) (#$ . 4459)) (define-abbrev-table 'sh-mode-abbrev-table nil) #@72 Copy TABLE and set syntax for successive CHARs according to strings S. (defalias 'sh-mode-syntax-table #[(table &rest list) "\302! \203 \303 \211A@ \211A@#\210\202 \207" [table list copy-syntax-table modify-syntax-entry] 4 (#$ . 4697)]) #@91 The syntax table to use for Shell-Script mode. This is buffer-local in every such buffer. (defvar sh-mode-syntax-table (sh-mode-syntax-table nil 35 "<" 10 ">#" 34 "\"\"" 39 "\"'" 96 "\"`" 36 "'" 33 #1="_" 37 #1# 58 #1# 46 #1# 94 #1# 126 #1# 44 #1# 61 #2="." 60 #2# 62 #2#) (#$ . 4948)) #@60 Syntax-table used in Shell-Script mode. See `sh-feature'. (defvar sh-mode-syntax-table-input '((sh)) (#$ . 5240)) #@35 Keymap used in Shell-Script mode. (defvar sh-mode-map (byte-code "\302 \302 \303 \304\305#\210\303 \306\307#\210\303 \310\311#\210\303 \312\313#\210\303 \314\315#\210\303 \316\317#\210\303 \320\321#\210\303 \322\323#\210\303 \324\325#\210\303 \326\327#\210\303 \330\331#\210\303 \332\333#\210\303 \334\335#\210\303 \336\337#\210\303 \340\341#\210\303 \342\343#\210\303 \344\345#\210\303 \346\347#\210\303 \350\351#\210\303 \352\353#\210\303 \354\355#\210\303 \356\357#\210\303 \360\361#\210\303 \362\363#\210\303 \364\365B#\210\303\366\367#\210\303\370\371#\210\303\372\373#\210\303\374\375#\210\303\376\377#\210\303\201@ \201A #\210\303\201B \201C #\210\303\201D \201E #\210\303\201F \201G #\210\303\201H \201I #\210\303\201J \201K #\210\303\201L \201M #\210\303\201N \201O #\210\303\201P \201Q #\210\303\201R \201S #\210\303\201T \201U #\210\303\201V \201W #\210\303\201X \201Y #\210\303\201Z \201[ #\210\303\201\\ \201] #\210\303\201^ \201_ #\210\303\201` \201a #\210 *\207" [menu-map map make-sparse-keymap define-key "(" sh-function "" sh-while "" sh-until "" sh-tmp-file "" sh-select "" sh-repeat "" sh-while-getopts "\f" sh-indexed-loop " " sh-if "" sh-for "" sh-case "?" sh-show-indent "=" sh-set-indent "<" sh-learn-line-indent ">" sh-learn-buffer-indent "" sh-backslash-region "=" sh-assignment "+" sh-add "\230" sh-execute-region "" executable-interpret [remap delete-backward-char] backward-delete-char-untabify ":" sh-set-shell [remap backward-sentence] sh-beginning-of-command [remap forward-sentence] sh-end-of-command [menu-bar sh-script] "Sh-Script" [sh-learn-buffer-indent] (menu-item "Learn buffer indentation" sh-learn-buffer-indent :help "Learn how to indent the buffer the way it currently is.") [sh-learn-line-indent] (menu-item "Learn line indentation" sh-learn-line-indent :help "Learn how to indent a line as it currently is indented") [sh-show-indent] (menu-item "Show indentation" sh-show-indent :help "Show the how the current line would be indented") [sh-set-indent] (menu-item "Set indentation" sh-set-indent :help "Set the indentation for the current line") [sh-pair] (menu-item "Insert braces and quotes in pairs" electric-pair-mode :button (:toggle bound-and-true-p electric-pair-mode) :help "Inserting a brace or quote automatically inserts the matching pair") [sh-s0] ("--") [sh-function] (menu-item "Function..." sh-function :help "Insert a function definition") [sh-add] (menu-item "Addition..." sh-add :help "Insert an addition of VAR and prefix DELTA for Bourne (type) shell") [sh-until] (menu-item "Until Loop" sh-until :help "Insert an until loop") [sh-repeat] (menu-item "Repeat Loop" sh-repeat :help "Insert a repeat loop definition") [sh-while] (menu-item "While Loop" sh-while :help "Insert a while loop") [sh-getopts] (menu-item "Options Loop" sh-while-getopts :help "Insert a while getopts loop.") [sh-indexed-loop] (menu-item "Indexed Loop" sh-indexed-loop :help "Insert an indexed loop from 1 to n.") [sh-select] (menu-item "Select Statement" sh-select :help "Insert a select statement ") [sh-if] (menu-item "If Statement" sh-if :help "Insert an if statement") [sh-for] (menu-item "For Loop" sh-for :help "Insert a for loop") [sh-case] (menu-item "Case Statement" sh-case :help "Insert a case/switch statement") [sh-s1] ("--") [sh-exec] (menu-item "Execute region" sh-execute-region :help "Pass optional header and region to a subshell for noninteractive execution") [sh-exec-interpret] (menu-item "Execute script..." executable-interpret :help "Run script with user-specified args, and collect output in a buffer") [sh-set-shell] (menu-item "Set shell type..." sh-set-shell :help "Set this buffer's shell to SHELL (a string)") [sh-backslash-region] (menu-item "Backslash region" sh-backslash-region :help "Insert, align, or delete end-of-line backslashes on the lines in the region.")] 5) (#$ . 5361)) #@70 Value to use for `skeleton-pair-default-alist' in Shell-Script mode. (defvar sh-skeleton-pair-default-alist '((40 _ 41) (41) (91 32 _ 32 93) (93) (123 _ 125) (125)) (#$ . 9274)) (byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\313\306\307&\210\300\314\315\316\304\317\306\307&\210\320\314\321\322#\210\300\323\324\325\304\317\306\307&\207" [custom-declare-variable sh-dynamic-complete-functions '(shell-environment-variable-completion shell-command-completion comint-filename-completion) "Functions for doing TAB dynamic completion." :type (repeat function) :group sh-script sh-assignment-regexp `((csh . "\\<\\([[:alnum:]_]+\\)\\(\\[.+\\]\\)?[ ]*[-+*/%^]?=") (ksh88 \, (concat "\\<\\([[:alnum:]_]+\\)\\(\\[.+\\]\\)?" "[ ]*\\(?:[-+*/%&|~^]\\|<<\\|>>\\)?=")) (bash . "\\<\\([[:alnum:]_]+\\)\\(\\[.+\\]\\)?\\+?=") (rc . "\\<\\([[:alnum:]_*]+\\)[ ]*=") (sh . "\\<\\([[:alnum:]_]+\\)=")) "Regexp for the variable name and what may follow in an assignment.\nFirst grouping matches the variable name. This is upto and including the `='\nsign. See `sh-feature'." (repeat (cons (symbol :tag "Shell") (choice regexp (sexp :format "Evaluate: %v")))) sh-indentation 4 "The width for further indentation in Shell-Script mode." integer put safe-local-variable integerp sh-remember-variable-min 3 "Don't remember variables less than this length for completing reads."] 8) #@128 When non-nil is the end of header for prepending by \[sh-execute-region]. That command is also used for setting this variable. (defvar sh-header-marker nil (#$ . 10669)) (byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\210\302\312\313\314\306\307\310\311&\210\302\315\316\317\306\320\310\311&\207" [make-variable-buffer-local sh-header-marker custom-declare-variable sh-beginning-of-command "\\([;({`|&]\\|\\`\\|[^\\]\n\\)[ ]*\\([/~[:alnum:]:]\\)" "Regexp to determine the beginning of a shell command.\nThe actual command starts at the beginning of the second \\(grouping\\)." :type regexp :group sh-script sh-end-of-command "\\([/~[:alnum:]:]\\)[ ]*\\([;#)}`|&]\\|$\\)" "Regexp to determine the end of a shell command.\nThe actual command ends at the end of the first \\(grouping\\)." sh-here-document-word "EOF" "Word to delimit here documents.\nIf the first character of this string is \"-\", this is taken as\npart of the redirection operator, rather than part of the\nword (that is, \"<<-\" instead of \"<<\"). This is a feature\nused by some shells (for example Bash) to indicate that leading\ntabs inside the here document should be ignored. In this case,\nEmacs indents the initial body and end of the here document with\ntabs, to the same level as the start (note that apart from this\nthere is no support for indentation of here documents). This\nwill only work correctly if `sh-basic-offset' is a multiple of\n`tab-width'.\n\nAny quote characters or leading whitespace in the word are\nremoved when closing the here document." string] 8) #@75 Initial input in Bourne if, while and until skeletons. See `sh-feature'. (defvar sh-test '((sh "[ ]" . 3) (ksh88 "[[ ]]" . 4)) (#$ . 12243)) (byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\313\306\307&\210\300\314\315\316\304\317\306\307&\207" [custom-declare-variable sh-builtins '((bash sh-append posix "." "alias" "bg" "bind" "builtin" "caller" "compgen" "complete" "declare" "dirs" "disown" "enable" "fc" "fg" "help" "history" "jobs" "kill" "let" "local" "popd" "printf" "pushd" "shopt" "source" "suspend" "typeset" "unalias") (bourne sh-append shell "eval" "export" "getopts" "newgrp" "pwd" "read" "readonly" "times" "ulimit") (csh sh-append shell "alias" "chdir" "glob" "history" "limit" "nice" "nohup" "rehash" "setenv" "source" "time" "unalias" "unhash") (dtksh sh-append wksh) (es "access" "apids" "cd" "echo" "eval" "false" "let" "limit" "local" "newpgrp" "result" "time" "umask" "var" "vars" "wait" "whatis") (jsh sh-append sh "bg" "fg" "jobs" "kill" "stop" "suspend") (jcsh sh-append csh "bg" "fg" "jobs" "kill" "notify" "stop" "suspend") (ksh88 sh-append bourne "alias" "bg" "false" "fc" "fg" "jobs" "kill" "let" "print" "time" "typeset" "unalias" "whence") (oash sh-append sh "checkwin" "dateline" "error" "form" "menu" "newwin" "oadeinit" "oaed" "oahelp" "oainit" "pp" "ppfile" "scan" "scrollok" "wattr" "wclear" "werase" "win" "wmclose" "wmmessage" "wmopen" "wmove" "wmtitle" "wrefresh") (pdksh sh-append ksh88 "bind") (posix sh-append sh "command") (rc "builtin" "cd" "echo" "eval" "limit" "newpgrp" "shift" "umask" "wait" "whatis") (sh sh-append bourne "hash" "test" "type") (shell "cd" "echo" "eval" "set" "shift" "umask" "unset" "wait") (wksh sh-append ksh88 "Xt[A-Z][A-Za-z]*") (zsh sh-append ksh88 "autoload" "bindkey" "builtin" "chdir" "compctl" "declare" "dirs" "disable" "disown" "echotc" "enable" "functions" "getln" "hash" "history" "integer" "limit" "local" "log" "popd" "pushd" "r" "readonly" "rehash" "sched" "setopt" "source" "suspend" "true" "ttyctl" "type" "unfunction" "unhash" "unlimit" "unsetopt" "vared" "which")) "List of all shell builtins for completing read and fontification.\nNote that on some systems not all builtins are available or some are\nimplemented as aliases. See `sh-feature'." :type (repeat (cons (symbol :tag "Shell") (choice (repeat string) (sexp :format "Evaluate: %v")))) :group sh-script sh-leading-keywords '((bash sh-append sh "time") (csh "else") (es "true" "unwind-protect" "whatis") (rc "else") (sh "!" "do" "elif" "else" "if" "then" "trap" "type" "until" "while")) "List of keywords that may be immediately followed by a builtin or keyword.\nGiven some confusion between keywords and builtins depending on shell and\nsystem, the distinction here has been based on whether they influence the\nflow of control or syntax. See `sh-feature'." (repeat (cons (symbol :tag "Shell") (choice (repeat string) (sexp :format "Evaluate: %v")))) sh-other-keywords '((bash sh-append bourne "bye" "logout" "select") (bourne sh-append sh "function") (csh sh-append shell "breaksw" "default" "end" "endif" "endsw" "foreach" "goto" "if" "logout" "onintr" "repeat" "switch" "then" "while") (es "break" "catch" "exec" "exit" "fn" "for" "forever" "fork" "if" "return" "throw" "while") (ksh88 sh-append bourne "select") (rc "break" "case" "exec" "exit" "fn" "for" "if" "in" "return" "switch" "while") (sh sh-append shell "done" "esac" "fi" "for" "in" "return") (shell "break" "case" "continue" "exec" "exit") (zsh sh-append bash "select" "foreach")) "List of keywords not in `sh-leading-keywords'.\nSee `sh-feature'." (repeat (cons (symbol :tag "Shell") (choice (repeat string) (sexp :format "Evaluate: %v"))))] 8) #@78 List of all shell variables available for completing read. See `sh-feature'. (defvar sh-variables '((bash sh-append sh "allow_null_glob_expansion" "auto_resume" "BASH" "BASH_ENV" "BASH_VERSINFO" "BASH_VERSION" "cdable_vars" "COMP_CWORD" "COMP_LINE" "COMP_POINT" "COMP_WORDS" "COMPREPLY" "DIRSTACK" "ENV" "EUID" "FCEDIT" "FIGNORE" "FUNCNAME" "glob_dot_filenames" "GLOBIGNORE" "GROUPS" "histchars" "HISTCMD" "HISTCONTROL" "HISTFILE" "HISTFILESIZE" "HISTIGNORE" "history_control" "HISTSIZE" "hostname_completion_file" "HOSTFILE" "HOSTTYPE" "IGNOREEOF" "ignoreeof" "INPUTRC" "LINENO" "MACHTYPE" "MAIL_WARNING" "noclobber" "nolinks" "notify" "no_exit_on_failed_exec" "NO_PROMPT_VARS" "OLDPWD" "OPTERR" "OSTYPE" "PIPESTATUS" "PPID" "POSIXLY_CORRECT" "PROMPT_COMMAND" "PS3" "PS4" "pushd_silent" "PWD" "RANDOM" "REPLY" "SECONDS" "SHELLOPTS" "SHLVL" "TIMEFORMAT" "TMOUT" "UID") (csh sh-append shell "argv" "cdpath" "child" "echo" "histchars" "history" "home" "ignoreeof" "mail" "noclobber" "noglob" "nonomatch" "path" "prompt" "shell" "status" "time" "verbose") (es sh-append shell "apid" "cdpath" "CDPATH" "history" "home" "ifs" "noexport" "path" "pid" "prompt" "signals") (jcsh sh-append csh "notify") (ksh88 sh-append sh "ENV" "ERRNO" "FCEDIT" "FPATH" "HISTFILE" "HISTSIZE" "LINENO" "OLDPWD" "PPID" "PS3" "PS4" "PWD" "RANDOM" "REPLY" "SECONDS" "TMOUT") (oash sh-append sh "FIELD" "FIELD_MAX" "LAST_KEY" "OALIB" "PP_ITEM" "PP_NUM") (rc sh-append shell "apid" "apids" "cdpath" "CDPATH" "history" "home" "ifs" "path" "pid" "prompt" "status") (sh sh-append shell "CDPATH" "IFS" "OPTARG" "OPTIND" "PS1" "PS2") (shell "COLUMNS" "EDITOR" "HOME" "HUSHLOGIN" "LANG" "LC_COLLATE" "LC_CTYPE" "LC_MESSAGES" "LC_MONETARY" "LC_NUMERIC" "LC_TIME" "LINES" "LOGNAME" "MAIL" "MAILCHECK" "MAILPATH" "PAGER" "PATH" "SHELL" "TERM" "TERMCAP" "TERMINFO" "VISUAL") (tcsh sh-append csh "addsuffix" "ampm" "autocorrect" "autoexpand" "autolist" "autologout" "chase_symlinks" "correct" "dextract" "edit" "el" "fignore" "gid" "histlit" "HOST" "HOSTTYPE" "HPATH" "ignore_symlinks" "listjobs" "listlinks" "listmax" "matchbeep" "nobeep" "NOREBIND" "oid" "printexitvalue" "prompt2" "prompt3" "pushdsilent" "pushdtohome" "recexact" "recognize_only_executables" "rmstar" "savehist" "SHLVL" "showdots" "sl" "SYSTYPE" "tcsh" "term" "tperiod" "tty" "uid" "version" "visiblebell" "watch" "who" "wordchars") (zsh sh-append ksh88 "BAUD" "bindcmds" "cdpath" "DIRSTACKSIZE" "fignore" "FIGNORE" "fpath" "HISTCHARS" "hostcmds" "hosts" "HOSTS" "LISTMAX" "LITHISTSIZE" "LOGCHECK" "mailpath" "manpath" "NULLCMD" "optcmds" "path" "POSTEDIT" "prompt" "PROMPT" "PROMPT2" "PROMPT3" "PROMPT4" "psvar" "PSVAR" "READNULLCMD" "REPORTTIME" "RPROMPT" "RPS1" "SAVEHIST" "SPROMPT" "STTY" "TIMEFMT" "TMOUT" "TMPPREFIX" "varcmds" "watch" "WATCH" "WATCHFMT" "WORDCHARS" "ZDOTDIR")) (#$ . 15936)) (byte-code "\300\301\302\303\304\305%\210\300\306\307\310\304\305%\210\311\312\313\301#\210\311\312\314\315\316!\206 \317#\207" [custom-declare-face sh-heredoc ((((min-colors 88) (class color) (background dark)) (:foreground "yellow1" :weight bold)) (((class color) (background dark)) (:foreground "yellow" :weight bold)) (((class color) (background light)) (:foreground "tan1")) (t (:weight bold))) "Face to show a here-document" :group sh-indentation sh-quoted-exec ((((class color) (background dark)) (:foreground "salmon")) (((class color) (background light)) (:foreground "magenta")) (t (:weight bold))) "Face to show quoted execs like ``" put sh-heredoc-face face-alias obsolete-face purecopy "22.1" t] 6) (defvar sh-heredoc-face 'sh-heredoc) (custom-declare-face 'sh-escaped-newline '((t :inherit font-lock-string-face)) "Face used for (non-escaped) backslash at end of a line in Shell-script mode." :group 'sh-script :version "22.1") #@76 Default expressions to highlight in Shell Script modes. See `sh-feature'. (defvar sh-font-lock-keywords-var '((csh sh-append shell ("\\${?[#?]?\\([[:alpha:]_][[:alnum:]_]*\\|0\\)" 1 font-lock-variable-name-face)) (es sh-append executable-font-lock-keywords ("\\$#?\\([[:alpha:]_][[:alnum:]_]*\\|[0-9]+\\)" 1 font-lock-variable-name-face)) (rc sh-append es) (bash sh-append sh ("\\$(\\(\\sw+\\)" (1 'sh-quoted-exec t))) (sh sh-append shell ("\\$\\({#?\\)?\\([[:alpha:]_][[:alnum:]_]*\\|[-#?@!]\\)" 2 font-lock-variable-name-face) ("^\\(\\sw+\\)[ ]*(" 1 font-lock-function-name-face) ("\\<\\(function\\)\\>[ ]*\\(\\sw+\\)?" (1 font-lock-keyword-face) (2 font-lock-function-name-face nil t)) ("\\(?:^\\s *\\|[[();&|]\\s *\\|\\(?:\\s +-[ao]\\|if\\|else\\|then\\|while\\|do\\)\\s +\\)\\(!\\)" 1 font-lock-negation-char-face)) (shell ("\\(^\\|[^\\]\\)\\(\\\\\\\\\\)*\\(\\\\\\)$" 3 'sh-escaped-newline) ("\\\\[^[:alnum:]]" 0 font-lock-string-face) ("\\${?\\([[:alpha:]_][[:alnum:]_]*\\|[0-9]+\\|[$*_]\\)" 1 font-lock-variable-name-face)) (rpm sh-append rpm2 ("%{?\\(\\sw+\\)" 1 font-lock-keyword-face)) (rpm2 sh-append shell ("^\\(\\sw+\\):" 1 font-lock-variable-name-face))) (#$ . 19712)) #@52 Subdued level highlighting for Shell Script modes. (defvar sh-font-lock-keywords-var-1 '((sh "[ ]in\\>")) (#$ . 20904)) #@50 Gaudy level highlighting for Shell Script modes. (defvar sh-font-lock-keywords-var-2 nil (#$ . 21031)) (defconst sh-st-punc '(1)) (defconst sh-here-doc-syntax '(15)) (defconst sh-escaped-line-re "\\(?:\\(?:.*[^\\\n]\\)?\\(?:\\\\\\\\\\)*\\\\\n\\)*.*") (defconst sh-here-doc-open-re (concat "<<-?\\s-*\\\\?\\(\\(?:['\"][^'\"]+['\"]\\|\\sw\\|[-/~._]\\)+\\)" sh-escaped-line-re "\\(\n\\)")) (defalias 'sh--inside-noncommand-expression #[(pos) "\212\303!\211A@\205: A@b\210\304f\211\305=\203* `Sf\305=\2059 `SSf\306=\2029 \n\307>\2038 `Sf\306=\2029 \304)*\207" [pos ppss #1=#:val syntax-ppss nil 40 36 (123 91)] 3]) #@307 Determine the syntax of the \n after a <<EOF. START is the position of <<. STRING is the actual word used as delimiter (e.g. "EOF"). INDENTED is non-nil if the here document's content (and the EOF mark) can be indented (i.e. a <<- was used rather than just <<). Point is at the beginning of the next line. (defalias 'sh-font-lock-open-heredoc #[(start string eol) "Sf\306>\206 \307!\206 \310!?\205U \311\312\313 #\212\314\n!)\3158\203/ \316\nS\n\317\320$\210\3218\204>