;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (defconst scala-syntax:hexDigit-group "0-9A-Fa-f") (defconst scala-syntax:UnicodeEscape-re (concat "\\\\u[" scala-syntax:hexDigit-group "]\\{4\\}")) (defconst scala-syntax:upper-group "[:upper:]\\$") (defconst scala-syntax:upperAndUnderscore-group (concat "_" scala-syntax:upper-group)) (defconst scala-syntax:lower-group "[:lower:]") (defconst scala-syntax:letter-group (concat scala-syntax:lower-group scala-syntax:upper-group)) (defconst scala-syntax:digit-group "0-9") (defconst scala-syntax:letterOrDigit-group (concat scala-syntax:upperAndUnderscore-group scala-syntax:lower-group scala-syntax:digit-group)) (defconst scala-syntax:opchar-safe-group "!%&*+/?\\\\^|~-") (defconst scala-syntax:opchar-unsafe-group "#:<=>@") (defconst scala-syntax:opchar-group (concat scala-syntax:opchar-unsafe-group scala-syntax:opchar-safe-group)) (defconst scala-syntax:delimiter-group ".,;") (defconst scala-syntax:nonZeroDigit-group "1-9") (defconst scala-syntax:octalDigit-group "0-7") (defconst scala-syntax:decimalNumeral-re (concat "0\\|[" scala-syntax:nonZeroDigit-group "][" scala-syntax:digit-group "]*")) (defconst scala-syntax:hexNumeral-re (concat "0x[" scala-syntax:hexDigit-group "]+")) (defconst scala-syntax:octalNumeral-re (concat "0[" scala-syntax:octalDigit-group "]+")) (defconst scala-syntax:integerLiteral-re (concat "-?\\(" scala-syntax:hexNumeral-re #1="\\|" scala-syntax:octalNumeral-re #1# scala-syntax:decimalNumeral-re "\\)[Ll]?")) (defconst scala-syntax:exponentPart-re (concat "\\([eE][+-]?[" scala-syntax:digit-group "]+\\)")) (defconst scala-syntax:floatType-re "[fFdD]") (defconst scala-syntax:floatingPointLiteral-re (concat "-?\\([" scala-syntax:digit-group "]+\\.[" scala-syntax:digit-group "]*" scala-syntax:exponentPart-re #1="?" scala-syntax:floatType-re "?\\|\\.[" scala-syntax:digit-group #2="]+" scala-syntax:exponentPart-re #1# scala-syntax:floatType-re "?\\|[" scala-syntax:digit-group #2# scala-syntax:exponentPart-re "\\|[" scala-syntax:digit-group #2# scala-syntax:floatType-re "\\)")) (defconst scala-syntax:number-safe-start-re (concat "[^_" scala-syntax:letter-group "]")) (defconst scala-syntax:booleanLiteral-re "true|false") (defconst scala-syntax:escapeSequence-re "\\\\['btnfr\"\\\\]") (defconst scala-syntax:octalEscape-re (concat "\\\\[" scala-syntax:octalDigit-group "\\]\\{1,3\\}")) (defconst scala-syntax:characterLiteral-re (concat "\\('\\)\\([^\\\\]\\|" scala-syntax:escapeSequence-re #1="\\|" scala-syntax:octalEscape-re #1# scala-syntax:UnicodeEscape-re "\\)\\('\\)")) (defconst scala-syntax:string-escape-re (concat scala-syntax:escapeSequence-re #1="\\|" scala-syntax:octalEscape-re #1# scala-syntax:UnicodeEscape-re)) (defconst scala-syntax:stringElement-re (concat "\\([^\n\"\\\\]\\|" scala-syntax:string-escape-re "\\)")) (defconst scala-syntax:oneLineStringLiteral-re (concat "\\(\"\\)" scala-syntax:stringElement-re "*\\(\"\\)")) (defconst scala-syntax:multiLineStringLiteral-start-re "\\(\"\\)\"\"\\(\"?\"?[^\"]\\)*") (defconst scala-syntax:multiLineStringLiteral-end-re "\"\"+\\(\"\\)") (defconst scala-syntax:multiLineStringLiteral-re (concat scala-syntax:multiLineStringLiteral-start-re scala-syntax:multiLineStringLiteral-end-re)) (defconst scala-syntax:stringLiteral-re (concat "\\(" scala-syntax:multiLineStringLiteral-re "\\|" scala-syntax:oneLineStringLiteral-re "\\)")) (defconst scala-syntax:relaxed-char-and-string-literal-re (concat scala-syntax:characterLiteral-re "\\|" scala-syntax:multiLineStringLiteral-start-re "\\(?:" scala-syntax:multiLineStringLiteral-end-re "\\)?\\|\\(\"\\)\\(\\\\.\\|[^\"\n\\]\\)*\\(\"\\)")) (defconst scala-syntax:op-re (concat "[" scala-syntax:opchar-group "]+")) (defconst scala-syntax:idrest-re (concat "\\([_]??[" scala-syntax:letter-group scala-syntax:digit-group "]+\\)*\\(_+" scala-syntax:op-re "\\|_\\)?")) (defconst scala-syntax:varid-re (concat "[" scala-syntax:lower-group "]" scala-syntax:idrest-re)) (defconst scala-syntax:capitalid-re (concat "[" scala-syntax:upperAndUnderscore-group "]" scala-syntax:idrest-re)) (defconst scala-syntax:alphaid-re (concat "\\([" scala-syntax:lower-group scala-syntax:upperAndUnderscore-group "]" scala-syntax:idrest-re "\\)")) (defconst scala-syntax:plainid-re (concat "\\(" scala-syntax:alphaid-re "\\|" scala-syntax:op-re "\\)")) (defconst scala-syntax:stringlit-re "[^`\n ]") (defconst scala-syntax:quotedid-re (concat "`" scala-syntax:stringlit-re "+`")) (defconst scala-syntax:id-re (concat "\\(" scala-syntax:plainid-re "\\|" scala-syntax:quotedid-re "\\)")) (defconst scala-syntax:id-first-char-group (concat scala-syntax:lower-group scala-syntax:upperAndUnderscore-group scala-syntax:opchar-group)) (defconst scala-syntax:symbolLiteral-re (concat "\\('" scala-syntax:plainid-re "\\)\\([^']\\|$\\)")) (defconst scala-syntax:literal-re (concat "\\(" scala-syntax:integerLiteral-re #1="\\|" scala-syntax:floatingPointLiteral-re #1# scala-syntax:booleanLiteral-re #1# scala-syntax:characterLiteral-re #1# scala-syntax:stringLiteral-re #1# scala-syntax:symbolLiteral-re "\\|null\\)")) (defconst scala-syntax:interpolation-re (concat "\\(\\$" scala-syntax:id-re "\\|\\${[^}\n\\\\]*}\\)")) (defalias 'scala-syntax:interpolation-matcher #[(end) "\306\211\306\211\307\f \310#\211\203A\311!\211\203A\312 8\203=\313 8\211Sf\314 !\306\310\315#)\266\203?\202>\310\204,\207" [pos syntax str-start char-before-str scala-syntax:interpolation-re end nil re-search-forward t syntax-ppss 3 8 string string-match scala-syntax:id-re inhibit-changing-match-data] 8]) (defalias 'scala-syntax:looking-at-super #[nil "\212\302\303!\205i\304\224\304\225b\205h\305f\306U\203\305u\210\202Zm?\205h\305f\307U\205h\305u\210\310 \210\302 !\205h\304\225b\210\310 \210m?\205h\305f\311U\205h\305u\210m?\205h\305f\306U\205h\305u\210\302 !\205h\312\304\225D!\210\313))\207" [beg scala-syntax:id-re looking-at "\\" 0 nil 46 91 scala-syntax:skip-forward-ignorable 93 set-match-data t] 3]) (defalias 'scala-syntax:looking-at-stableIdOrPath #[(&optional path-p beg) "\204`\212\304\305!\203*\306\225b\210m\204&\307f\310U\203&\307u\210\311 \"\202c \202c\312 \204B\304\n!\2068\313\307!?\205c\304 !\205c\306\225b\210m\204[\307f\310U\203[\307u\210\311 \"\202c\314\306\225D!\210`)\207" [beg path-p scala-syntax:keywords-unsafe-re scala-syntax:id-re looking-at "\\" 0 nil 46 scala-syntax:looking-at-stableIdOrPath scala-syntax:looking-at-super scala-syntax:looking-at-reserved-symbol set-match-data] 3]) (defalias 'scala-syntax:looking-at-simplePattern-beginning #[nil "\301\302!\206\301!\206\303 \207" [scala-syntax:literal-re looking-at "[_(]" scala-syntax:looking-at-stableIdOrPath] 2]) (defalias 'scala-syntax:regexp-for-id #[(id) "\306 \"\203 \307\202\310\n\311Q\306 \312\313O\"\203 \314\n\315Q\202!\307\211 \fQ*\207" [scala-syntax:alphaid-re id scala-syntax:opchar-group scala-syntax:op-re suffix-regex prefix-regex string-match "\\b" "\\(^\\|[^" "]\\)" -1 nil "\\([^" "]\\|$\\)"] 7]) (defconst scala-syntax:preamble-start-re "#!") (defconst scala-syntax:empty-line-re "^\\s *$") (defconst scala-syntax:comment-start-re "/[/*]") #@161 A special regexp that can be concatenated to an other regular expression when used with scala-syntax:looking-back-token. Not meaningfull in other contexts. (defconst scala-syntax:end-of-code-line-re (concat "\\([ ]\\|$\\|" scala-syntax:comment-start-re "\\)") (#$ . 7222)) (defconst scala-syntax:path-keywords-unsafe-re "\\<\\(super\\|this\\)\\>") (defconst scala-syntax:path-keywords-re (concat "\\(^\\|[^`'_]\\)\\(" scala-syntax:path-keywords-unsafe-re "\\)")) (defconst scala-syntax:value-keywords-unsafe-re "\\<\\(false\\|null\\|true\\)\\>") (defconst scala-syntax:value-keywords-re (concat "\\(^\\|[^`'_]\\)\\(" scala-syntax:value-keywords-unsafe-re "\\)")) (defconst scala-syntax:other-keywords-unsafe-re "\\<\\(a\\(?:bstract\\|s\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\)\\|d\\(?:e\\(?:f\\|rives\\)\\|o\\)\\|e\\(?:lse\\|n\\(?:d\\|um\\)\\|x\\(?:port\\|ten\\(?:ds\\|sion\\)\\)\\)\\|f\\(?:inal\\(?:ly\\)?\\|or\\(?:Some\\)?\\)\\|given\\|i\\(?:f\\|mp\\(?:\\(?:lici\\|or\\)t\\)\\|nline\\)\\|lazy\\|match\\|new\\|o\\(?:bject\\|p\\(?:aque\\|en\\)\\|verride\\)\\|p\\(?:ackage\\|r\\(?:ivate\\|otected\\)\\)\\|return\\|sealed\\|t\\(?:h\\(?:en\\|row\\)\\|r\\(?:a\\(?:\\(?:i\\|nsparen\\)t\\)\\|y\\)\\|ype\\)\\|using\\|va[lr]\\|w\\(?:hile\\|ith\\)\\|yield\\)\\>") (defconst scala-syntax:other-keywords-re (concat "\\(^\\|[^`'_]\\)\\(" scala-syntax:other-keywords-unsafe-re "\\)")) (defconst scala-syntax:keywords-unsafe-re (concat "\\(" scala-syntax:path-keywords-unsafe-re #1="\\|" scala-syntax:value-keywords-unsafe-re #1# scala-syntax:other-keywords-unsafe-re "\\)")) (defconst scala-syntax:after-reserved-symbol-underscore-re (concat "$\\|" scala-syntax:comment-start-re "\\|[^" scala-syntax:letterOrDigit-group "]")) (defconst scala-syntax:reserved-symbol-underscore-re (concat "\\(^\\|[^" scala-syntax:letterOrDigit-group "]\\)\\(_\\)\\(" scala-syntax:after-reserved-symbol-underscore-re "\\)")) (defconst scala-syntax:reserved-symbols-unsafe-re "\\([:#@⇒←]\\|=>?\\|<[:%!?\\-]\\|>:\\)") (defconst scala-syntax:double-arrow-unsafe-re "\\(=>\\|⇒\\)") (defconst scala-syntax:after-reserved-symbol-re (concat "\\($\\|" scala-syntax:comment-start-re "\\|[^" scala-syntax:opchar-group "]\\)")) (defconst scala-syntax:reserved-symbols-re (concat "\\(^\\|[^" scala-syntax:opchar-group "]\\)" scala-syntax:reserved-symbols-unsafe-re "\\(" scala-syntax:after-reserved-symbol-re "\\)")) (defconst scala-syntax:colon-re (concat "\\(^\\|[^" scala-syntax:opchar-group "]\\)\\(:\\)\\(" scala-syntax:after-reserved-symbol-re "\\)")) (defconst scala-syntax:override-unsafe-re "\\<\\(override\\)\\>") (defconst scala-syntax:override-re (concat "\\(^\\|[^`'_]\\)\\(" scala-syntax:override-unsafe-re "\\)")) (defconst scala-syntax:abstract-unsafe-re "\\<\\(abstract\\)\\>") (defconst scala-syntax:abstract-re (concat "\\(^\\|[^`'_]\\)\\(" scala-syntax:abstract-unsafe-re "\\)")) (defconst scala-syntax:final-unsafe-re "\\<\\(final\\)\\>") (defconst scala-syntax:final-re (concat "\\(^\\|[^`'_]\\)\\(" scala-syntax:final-unsafe-re "\\)")) (defconst scala-syntax:sealed-unsafe-re "\\<\\(sealed\\)\\>") (defconst scala-syntax:sealed-re (concat "\\(^\\|[^`'_]\\)\\(" scala-syntax:sealed-unsafe-re "\\)")) (defconst scala-syntax:implicit-unsafe-re "\\<\\(implicit\\)\\>") (defconst scala-syntax:implicit-re (concat "\\(^\\|[^`'_]\\)\\(" scala-syntax:implicit-unsafe-re "\\)")) (defconst scala-syntax:lazy-unsafe-re "\\<\\(lazy\\)\\>") (defconst scala-syntax:lazy-re (concat "\\(^\\|[^`'_]\\)\\(" scala-syntax:lazy-unsafe-re "\\)")) (defconst scala-syntax:private-unsafe-re "\\<\\(private\\)\\>") (defconst scala-syntax:private-re (concat "\\(^\\|[^`'_]\\)\\(" scala-syntax:private-unsafe-re "\\)")) (defconst scala-syntax:protected-unsafe-re "\\<\\(protected\\)\\>") (defconst scala-syntax:protected-re (concat "\\(^\\|[^`'_]\\)\\(" scala-syntax:protected-unsafe-re "\\)")) (defconst scala-syntax:modifiers-unsafe-re "\\<\\(abstract\\|final\\|implicit\\|lazy\\|override\\|pr\\(?:ivate\\|otected\\)\\|sealed\\)\\>") (defconst scala-syntax:modifiers-re (concat "\\(^\\|[^`'_]\\)\\(" scala-syntax:modifiers-unsafe-re "\\)")) #@48 A regexp for detecting if a line ends with '=' (defconst scala-syntax:body-start-re (concat "=" scala-syntax:end-of-code-line-re) (#$ . 11330)) (defconst scala-syntax:list-keywords-re "\\<\\(import\\|va[lr]\\)\\>" ("Keywords that can start a list")) (defconst scala-syntax:case-re "\\") (defconst scala-syntax:for-re "\\") (defconst scala-syntax:class-or-object-re "\\<\\(class\\|object\\)\\>") #@44 Syntax table used in `scala-mode' buffers. (defvar scala-syntax:syntax-table nil (#$ . 11746)) (byte-code "\204\237\304 \305\306\307 !\"\210\310\311\312 #\210\310\313\314 #\210\310\315\316 #\210\310\317\320 #\210\310\321\322 #\210\310\323\324 #\210\310\325\326 #\210\310\327\330 #\210\331\332\333\"\334\211\203Y @\310\n\335 #\210 A\211\204I*\310\336\335 #\210\310\337\335 #\210\310\340\341 #\210\310\342\343 #\210\310\344\335 #\210\310\345\335 #\210\310\346\335 #\210\310\347\350 #\210\310\351\352 #\210\310\353\354 #\210\310\355\354 #\210 )\334\207" [scala-syntax:syntax-table syntab char --dolist-tail-- make-syntax-table map-char-table #[(key value) "\303!\304U\204\303!\305U\204\303!\306U\205\307 \310\n#\207" [value key syntab syntax-class 4 5 1 modify-syntax-entry "_"] 4] char-table-parent modify-syntax-entry (0 . 32) " " 40 "()" 91 "(]" 123 "(}" 41 ")(" 93 ")[" 125 "){" 95 "w" mapcar identity "!#%&*+/:<=>?@^|~-⇒←" nil "." 92 34 96 "$" 39 "'" 46 59 44 47 ". 124b" 42 ". 23n" 10 "> b" 13] 5) #@47 See syntax-propertize-extend-region-functions (defalias 'scala-syntax:propertize-extend-region #[(start end) "\300\207" [nil] 1 (#$ . 12776)]) #@87 Add 'syntax-table entry 'value' to the region marked by the match-group 'match-group' (defalias 'scala-syntax:put-syntax-table-property '(macro . #[(match-group value) "\302\303D\304D\305 \257\207" [match-group value put-text-property match-beginning match-end 'syntax-table] 5 (#$ . 12925)])) #@435 Mark start and end of character literals as well as one-line and multi-line string literals. One-line strings and characters use syntax class 7 (string quotes), while multi-line strings are marked with 15 (generic string delimiter). Multi-line string literals are marked even if they are unbalanced. One-line string literals have to be balanced to get marked. This means invalid characters and one-line strings will not be fontified. (defalias 'scala-syntax:propertize-char-and-string-literals #[(start end) "\306\307!8\211\310= \203\n\204\311 \312#\202\310\212b\210\n\2033\313\f \310#\2033\314\315\224\315\225\316\317$\210\3202\307\313 \310#\205\306\315\224\203Y\314\315\224\315\225\316\321$\210\314\306\224\306\225\316\322$\210\2027\323\224\203\200\314\323\224\323\225\316\324$\210\325\224\203x\314\325\224\325\225\316\326$\210\2027\327\320\330\"\210\2027\331\224\204\225\332\225\333 U\204\225\334\225f\335U\204\276\212\336\224b\210\"\310#\337!)\262)\2037\314\336\224\336\225\316\340$\210\314\332\224\332\225\316\341$\210\2027\327\320\330\"\210\20270)*\207" [start string-state unbalanced-p end scala-syntax:multiLineStringLiteral-end-re scala-syntax:relaxed-char-and-string-literal-re 3 syntax-ppss t remove-text-properties (syntax-table nil) re-search-forward put-text-property 1 syntax-table (15) break (7) (7) 4 (15) 6 (15) throw nil 8 9 line-end-position 10 34 7 looking-at (7) (7) scala-syntax:oneLineStringLiteral-re inhibit-changing-match-data] 6 (#$ . 13229)]) #@76 Mark a shell preamble (#!) at the beginning of a script as a line comment. (defalias 'scala-syntax:propertize-shell-preamble #[(start end) "\212b\210\303U\205,\304 !\205,\305\306\224\306\225\307\310$\210\311\210\312\313\n\314#\205,\305\306\224\306\225\307\315$)\207" [start scala-syntax:preamble-start-re end 1 looking-at put-text-property 0 syntax-table (11) nil re-search-forward "\n" t (12)] 5 (#$ . 14738)]) #@156 Mark all underscores (_) as symbol constituents (syntax 3) or upper case letter (syntax 2). Also mark opchars in idrest as symbol constituents (syntax 3). (defalias 'scala-syntax:propertize-underscore-and-idrest #[(start end) "\212b\210\306\307 \310#\205U\311\224\311\225\312 \n\313 \314 U\203+\315\f!\203'\316\202O\317\202O\212 Sb\210\315 !\203:\320\202N\nb\210\315!\203M\312\311\224\311\225\313\321$\210\322)$\210*\202)\207" [start end match-end match-beg scala-syntax:after-reserved-symbol-underscore-re scala-syntax:reserved-symbol-underscore-re re-search-forward "_" t 0 put-text-property syntax-table line-beginning-position looking-at (3) (2) (3) (3) (3) scala-syntax:op-re] 9 (#$ . 15163)]) (defalias 'scala-syntax:propertize-special-symbols #[(start end) "\212b\210\306\307 \310\nR \311#\205S\312\224\312\225\313\312!\314\315\f\"\204O\f\316\235\204O\312\317\320\321\">\204O\322\323 !!\324=\204O\322\323S!!\324=\204O\325 \326\327$\210+\202)\207" [start scala-syntax:opchar-group scala-syntax:op-re end match match-end re-search-forward "[" "]" t 0 match-string string-suffix-p "*/" ("" t] 2 (#$ . 17739)]) (defalias 'scala-syntax:looking-at-empty-line-p #[nil "\212n\204\f\301\302\303 T\"\210\304!)\207" [scala-syntax:empty-line-re skip-syntax-forward " >" line-end-position looking-at] 3]) (defalias 'scala-syntax:looking-at-reserved-symbol #[(re &optional point) "\204 \212\n\203\nb\210\305 \210\306!\205&\307\225b\205& \310\306!)\262)\207" [re scala-syntax:reserved-symbols-unsafe-re point scala-syntax:after-reserved-symbol-re inhibit-changing-match-data scala-syntax:skip-forward-ignorable looking-at 0 t] 3 nil nil]) (defalias 'scala-syntax:looking-at-case-p #[(&optional point) "\212\203b\210\304 \210\305 !\205&\306\225b\205&\304 \205&\n\307\305!)\262?)\207" [point scala-syntax:case-re scala-syntax:class-or-object-re inhibit-changing-match-data scala-syntax:skip-forward-ignorable looking-at 0 t] 3]) #@40 Return t if the previous line is empty (defalias 'scala-syntax:looking-back-empty-line-p #[nil "\212\302\303\304 \"\210n\205\305y\205\306\307!)\262)\207" [scala-syntax:empty-line-re inhibit-changing-match-data skip-syntax-backward " " line-beginning-position -1 t looking-at] 3 (#$ . 19079)]) #@124 Moves forward over ignorable whitespace and comments. A completely empty line is not ignorable and will not be mobed over. (defalias 'scala-syntax:skip-forward-ignorable #[nil "\301 \302\216\303 \204\304\305!\204\306\307\310 \"*\207" [save-match-data-internal match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] scala-syntax:looking-at-empty-line-p forward-comment 1 skip-syntax-forward " " line-end-position] 3 (#$ . 19387) nil]) #@180 Move backwards over ignorable whitespace and comments. A completely empty line is not ignorable and will not be moved over. Returns the number of points moved (will be negative). (defalias 'scala-syntax:skip-backward-ignorable #[nil "\301 \302\216\303 \204\304\305!\204\306\307\310 \"*\207" [save-match-data-internal match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] scala-syntax:looking-back-empty-line-p forward-comment -1 skip-syntax-backward " " line-beginning-position] 3 (#$ . 19868)]) #@169 Return the end position of the matched re, if the current position is followed by it, or nil if not. All ignorable comments and whitespace are skipped before matching. (defalias 'scala-syntax:looking-at #[(re) "\212\301 \210\302!)\207" [re scala-syntax:skip-forward-ignorable looking-at] 2 (#$ . 20412)]) #@383 Return the start position of the token matched by re, if the current position is preceeded by it, or nil if not. All ignorable comments and whitespace are ignored, i.e. does not search past an empty line. Expects to be outside of comment. A limit for the search is calculated based on max-chars. The function won't look further than max-chars starting after skipping any ignorable. (defalias 'scala-syntax:looking-back-token #[(re &optional max-chars) "\212\305 \210`\205\f`Z x\306U\203;\307\310 \"\306U\203;\307\311 \"\306U\203;\307\312 \"\306U\203;\307\313 \"\306U?\205B\314\f!\205B`+\207" [max-chars limit end scala-syntax:delimiter-group re scala-syntax:skip-backward-ignorable 0 skip-syntax-backward "." "(" ")" "w_'$" looking-at] 3 (#$ . 20725)]) #@68 Move back over all parameter groups to the start of the first one. (defalias 'scala-syntax:backward-parameter-groups #[nil "\301 \302\216\303\304\305\"\205\306 \210\202*\207" [save-match-data-internal match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] scala-syntax:looking-back-token "[])]" 1 backward-list] 3 (#$ . 21496)]) #@65 Move back over all parameter groups to the end of the last one. (defalias 'scala-syntax:forward-parameter-groups #[nil "\301 \302\216\303\304!\205\305 \210\202*\207" [save-match-data-internal match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] scala-syntax:looking-at "[[(]" forward-list] 2 (#$ . 21871)]) #@34 Move forward over any modifiers. (defalias 'scala-syntax:forward-modifiers #[nil "\302 \303\216\304 !\205\305 \210\304\306!\203\307 \210\202*\207" [save-match-data-internal scala-syntax:modifiers-re match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] scala-syntax:looking-at scala-syntax:forward-sexp "[[]" forward-list] 2 (#$ . 22226)]) (defalias 'scala-syntax:looking-back-else-if-p #[nil "\212\300\301\302\"\205\"\303 \205\"\300\304!\305\224b\210\205\"\300\306!\305\224b\210\205\"`)\207" [scala-syntax:looking-back-token "\\s)" 1 backward-list "if" 0 "else"] 3]) #@110 Return true if newlines are disabled at the current point (or point 'point') as specified by SLS chapter 1.2 (defalias 'scala-syntax:newlines-disabled-p #[(&optional point) "\204`\212\306!\211A@\211\205u\nb\210\307f\310U\206u\307f\311U\206u\307u\210\312\313 !\210\314\315!\210\316 !\205u\317\224\320 8\206@b\210`\fV\203\\\321 \210\316 !\204W\322 !\203B`\202B\322 !?\205t\323 \210`X\205t\324 \210\316!?)+\207" [point state parenthesisPos scala-syntax:case-re limit scala-syntax:double-arrow-unsafe-re syntax-ppss nil 40 91 forward-comment buffer-size skip-syntax-forward " >" looking-at 0 8 scala-syntax:backward-sexp scala-syntax:looking-at-reserved-symbol scala-syntax:forward-sexp scala-syntax:skip-forward-ignorable scala-syntax:class-or-object-re] 3 (#$ . 22848)]) #@238 Move forward one scala expression. It can be: parameter list (value or type), id, reserved symbol, keyword, block, or literal. Punctuation (.,;) and comments are skipped silently. Position is placed at the end of the skipped expression. (defalias 'scala-syntax:forward-sexp #[nil "\301d!\210\302\303 !\210\304\305\306!\307w\\W\204 \305\310!\304U\205(\311`\312\"\206'\313\312!b\207" [scala-syntax:delimiter-group syntax-propertize forward-comment buffer-size 0 skip-syntax-forward " " nil "." scan-sexps 1 buffer-end] 4 (#$ . 23648) nil]) #@292 Move forward one scala token, comment word or string word. It can be: start or end of list (value or type), id, reserved symbol, keyword, block, or literal. Punctuation (.,;), comment delimiters and string delimiters are skipped silently. Position is placed at the end of the skipped token. (defalias 'scala-syntax:forward-token #[nil "\306d!\210\307\310d\"\210\311\312\313 R!\203\314\225b\210\315fz\316 \317\n8\204*\320\n8\203Y\321\n8\212\315v\210`)\321\212\316\f!)8 =\203F\fb\202U\321\316 8 =\205U\315u\210\202F*\202x \322U\204e \323U\203j\315u\202x\311\324!\203v\314\225b\202x\325 *\207" [scala-syntax:double-arrow-unsafe-re scala-syntax:after-reserved-symbol-re state syntax end start syntax-propertize skip-syntax-forward " >" looking-at "\\([#@:]\\|" "\\|:>\\|<:\\)" 1 nil syntax-ppss 4 3 8 41 40 "\\(//\\|/\\*+\\|\"\\(\"\"\\)?\\)" forward-sexp] 5 (#$ . 24197) nil]) #@252 Move backward one scala expression. It can be: parameter list (value or type), id, reserved symbol, keyword, block, or literal. Delimiters (.,;) and comments are skipped silently. Position is placed at the beginning of the skipped expression. (defalias 'scala-syntax:backward-sexp #[nil "\301`!\210\302\303 [!\210\304\305\306!\307x\\V\204\n\305\310!\304U\205,\311`\312\"\206(\313\312!b\210\314 \207" [scala-syntax:delimiter-group syntax-propertize forward-comment buffer-size 0 skip-syntax-backward " " nil "." scan-sexps -1 buffer-end backward-prefix-chars] 4 (#$ . 25096) nil]) (defalias 'scala-syntax:has-char-before #[(char end) "\212`W\203o\204`Sf U\204\302 \210\202`Sf U\205'\303 \210`V)\207" [end char scala-syntax:forward-sexp scala-syntax:skip-forward-ignorable] 2]) #@167 Searches backward sexps until it reaches re, empty line or ;. If re is found, point is set to beginning of re and the position is returned, otherwise nil is returned (defalias 'scala-syntax:search-backward-sexp #[(re) "\212o\204\302 \204\303\304!\204\305!\204\306 \210\202\305!\205#`)\211\205+ b)\207" [re found scala-syntax:looking-back-empty-line-p scala-syntax:looking-back-token "[;,]" looking-at scala-syntax:backward-sexp] 3 (#$ . 25902)]) #@217 Returns the start of the list, if the current point (or point 'point') is on the first line of a list element > 1, or nil if not. A list must be either enclosed in parentheses or start with 'val', 'var' or 'import'. (defalias 'scala-syntax:list-p #[(&optional point) "\212\203b\210\304 \210\305\306\307\"\205o\310\311\312!)\262?\205o\313\224b\210\314 A@\211\203?\nf\315U\204:\nf\316U\203?\nT\202n\3171do\206U\312 !\206U\320 \206U\305\321!?\205_\322 \210\202C0\210\202e\210\312 !\205n\313\225b))\207" [point inhibit-changing-match-data parenpoint scala-syntax:list-keywords-re scala-syntax:beginning-of-code-line scala-syntax:looking-back-token "," 1 ")" t looking-at 0 syntax-ppss 40 91 (error) scala-syntax:looking-back-empty-line-p ";" scala-syntax:backward-sexp] 4 (#$ . 26370)]) (defconst scala-syntax:modifiers-re "\\<\\(abstract\\|case\\|final\\|implicit\\|lazy\\|override\\|pr\\(?:ivate\\|otected\\)\\|sealed\\)\\>") (defconst scala-syntax:whitespace-delimeted-modifiers-re (concat "\\(?:" scala-syntax:modifiers-re "\\(?: *\\)\\)*")) (defconst scala-syntax:definition-words-re (mapconcat 'regexp-quote '("class" "object" "trait" "val" "var" "def" "type") "\\|")) (defalias 'scala-syntax:build-definition-re #[(words-re) "\303 \304\n\305\260\207" [scala-syntax:whitespace-delimeted-modifiers-re words-re scala-syntax:id-re " *" "\\(?: *\\)\\(?2:" "\\)"] 6]) (defconst scala-syntax:all-definition-re (byte-code "\301\302\303Q!\207" [scala-syntax:definition-words-re scala-syntax:build-definition-re "\\(?1:" "\\)\\b"] 4)) (defalias 'scala-syntax:backward-sexp-forcing #[nil "\3011\302 0\207\303u)\207" [ex 'error backward-sexp -1] 1]) (defalias 'scala-syntax:forward-sexp-or-next-line #[nil "\300\301!\203\f\302y\210\303 \207\304 \207" [looking-at "\n" 1 beginning-of-line forward-sexp] 2 nil nil]) #@182 This function may not work properly with certain types of scala definitions. For example, no care has been taken to support multiple assignments to vals such as val a, b = (1, 2)  (defalias 'scala-syntax:beginning-of-definition #[nil "\212\302 \210\303\302\")\211\205 b\210\304 )\207" [scala-syntax:all-definition-re found-position scala-syntax:backward-sexp-forcing scala-syntax:movement-function-until-re back-to-indentation] 4 (#$ . 28211) nil]) #@182 This function may not work properly with certain types of scala definitions. For example, no care has been taken to support multiple assignments to vals such as val a, b = (1, 2)  (defalias 'scala-syntax:end-of-definition #[nil "\301!\210\302 \210\303 \207" [scala-syntax:all-definition-re re-search-forward scala-syntax:find-brace-equals-or-next scala-syntax:handle-brace-equals-or-next] 2 (#$ . 28672) nil]) (defalias 'scala-syntax:find-brace-equals-or-next #[nil "\300\212\301\302\303\")!\207" [scala-syntax:go-to-pos scala-syntax:movement-function-until-cond-function #[nil "\301\302!\206 \301!\207" [scala-syntax:all-definition-re looking-at "[[:space:]]*[{=]"] 2] #[nil "\3001\301 0\207\210\302\207" ['error scala-syntax:forward-sexp-or-next-line nil] 1]] 4]) (defalias 'scala-syntax:handle-brace-equals-or-next #[nil "m\203\301\207\302\303!\203\304 \207\302\305!\203\306 \210\307 \207\302!\203#\301\207\302\310!\203-\311\310!\207\306 \210\307 \207" [scala-syntax:all-definition-re nil looking-at "[[:space:]]*{" forward-sexp "[[:space:]]*=" scala-syntax:forward-sexp-or-next-line scala-syntax:handle-brace-equals-or-next "[[:space:]]*\n[[:space:]]*}" skip-syntax-forward] 2]) (defalias 'scala-syntax:movement-function-until-re #[(re movement-function) "\212\301\302\")\207" [movement-function scala-syntax:movement-function-until-cond-function #[nil "\301!\207" [re looking-at] 2]] 3]) (defalias 'scala-syntax:movement-function-until-cond-function #[(cond-function movement-function) "` \204\n \210`\232?\205\303 \n\"\202)\207" [last-point cond-function movement-function scala-syntax:movement-function-until-cond-function] 3]) (defalias 'scala-syntax:go-to-pos #[(pos) "\205b\207" [pos] 1]) (provide 'scala-mode-syntax)