;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310\311\312\313\314& \210\303\315\316\317\307\320\313\314&\210\303\321\316\322\307\320\311\323\313\314& \210\303\324\316\325\307\320\313\314&\207" [require scala-mode-syntax scala-mode-lib custom-declare-variable scala-indent:step 2 "The number of spaces an indentation step should be. The actual\nindentation will be one or two steps depending on context." :type integer :safe integerp :group scala scala-indent:indent-value-expression nil "Whether or not to indent multi-line value expressions, with\none extra step. When true, indenting will be\n\nval x = try {\n some()\n } catch {\n case e => other\n } finally {\n clean-up()\n }\n\nWhen nil, the same will indent as\n\nval x = try {\n some()\n} catch {\n case e => other\n} finally {\n clean-up()\n}\n" boolean scala-indent:align-parameters "Whether or not to indent parameter lists so that next\n parameter lines always align under the first parameter. When\n non-nil, indentation will be\n\ndef foo(x: Int, y: List[Int]\n z: Int)\n\nval x = foo(1, List(1, 2, 3) map (i =>\n i + 1\n ), 2)\n\nWhen nil, the same will indent as\n\ndef foo(x: Int, y: List[Int]\n z: Int)\n\nval x = foo(1, List(1, 2, 3) map (i =>\n i + 1\n ), 2)\n" booleanp scala-indent:align-forms "Whether or not to align 'else', 'yield', 'catch', 'finally'\nbelow their respective expression start. When non-nil, identing\nwill be\n\nval x = if (foo)\n bar\n else\n zot\n\nwhen nil, the same will indent as\n\nval x = if (foo)\n bar\n else\n zot\n"] 10) #@36 See 'scala-indent:run-on-strategy' (defconst scala-indent:eager-strategy 0 (#$ . 1717)) #@36 See 'scala-indent:run-on-strategy' (defconst scala-indent:operator-strategy 1 (#$ . 1811)) #@36 See 'scala-indent:run-on-strategy' (defconst scala-indent:reluctant-strategy 2 (#$ . 1908)) #@45 A strategy used internally by indent engine (defconst scala-indent:keywords-only-strategy 3 (#$ . 2006)) (byte-code "\303\304\305\306\307\310\311\312\313F\311\312\314 F\311\312\315\nFF\316\317&\210\320\321!\210\303\322\323\324\307\325\326\327\316\317& \210\303\330\331\332\307\325\326\327\316\317& \207" [scala-indent:eager-strategy scala-indent:operator-strategy scala-indent:reluctant-strategy custom-declare-variable scala-indent:default-run-on-strategy 2 "What strategy to use for detecting run-on lines, i.e. lines\nthat continue a statement from the previous line. Possible values\nare:\n\n'reluctant', which marks only lines that begin with -- or\nthat follow a line that ends with -- a reserved word that cannot start\nor end a line, such as 'with'.\n\n'operators', which extends the previous strategy by marking also\nlines that begin with -- or that follow a line that ends with --\nan operator character. For example, '+', '-', etc.\n\n'eager', which marks all rows which could be run-ons, i.e. which\nare not ruled out by the language specification.\n" :type choice const :tag "eager" "operators" "reluctant" :group scala make-variable-buffer-local scala-indent:effective-run-on-strategy scala-indent:add-space-for-scaladoc-asterisk t "When non-nil, a space will be added after a scaladoc asterisk,\nwhen it is added to an empty line." boolean :safe booleanp scala-indent:use-javadoc-style nil "When non-nil, multi-line comments are indented according to Javadoc\nstyle (i.e. indented to the first asterisk). This overrides the\nScaladoc behavior of indenting comment lines to the second asterisk."] 12) #@47 Returns the currently effecti run-on strategy (defalias 'scala-indent:run-on-strategy #[nil "\206 \206 \n\207" [scala-indent:effective-run-on-strategy scala-indent:default-run-on-strategy scala-indent:eager-strategy] 1 (#$ . 3630)]) #@208 If effective run-on strategy is not set, it is set as follows: - if default is eager or operators, then it is set to reluctant - if default is reluctant, then it is set to eager. If it is set, it is nilled. (defalias 'scala-indent:toggle-effective-run-on-strategy #[nil "\203\305\211\207\306 U\203\n\202\"\306 U\204!\306 \nU\205\" \211\211)\207" [scala-indent:effective-run-on-strategy scala-indent:reluctant-strategy scala-indent:eager-strategy scala-indent:operator-strategy new-strategy nil scala-indent:run-on-strategy] 3 (#$ . 3874)]) (defalias 'scala-indent:reset-effective-run-on-strategy #[nil "\301\211\207" [scala-indent:effective-run-on-strategy nil] 2]) (defalias 'scala-indent:rotate-run-on-strategy #[nil " U\203\n\n\202\nU\203 \202 U\205 \211\211)\207" [scala-indent:default-run-on-strategy scala-indent:reluctant-strategy scala-indent:operator-strategy scala-indent:eager-strategy new-strategy] 3 nil nil]) #@270 Skip sexps backwards until reaches beginning of line (i.e. the point is at the first non whitespace or comment character). It does not move outside enclosin list. Returns the current point or nil if the beginning of line could not be reached because of enclosing list. (defalias 'scala-indent:backward-sexp-to-beginning-of-line #[nil "\212\301 \210`)\3021-`V\205(\303 \210\304\305!\210`W\203 \212\301 \210`)\202 0\210\202.\210`V?\2056`)\207" [code-beg scala-syntax:beginning-of-code-line (error) scala-syntax:backward-sexp skip-syntax-backward "."] 2 (#$ . 4832)]) #@208 Go to beginning of line, if a) scala-indent:align-parameters is nil or backward-sexp-to-beginning-of-line is non-nil. This has the effect of staying within lists if scala-indent:align-parameters is non-nil. (defalias 'scala-indent:align-anchor #[nil "\301 \204\n?\205\f\302 \207" [scala-indent:align-parameters scala-indent:backward-sexp-to-beginning-of-line back-to-indentation] 1 (#$ . 5415)]) (defalias 'scala-indent:value-expression-lead #[(start anchor &optional not-block-p) "\203*\3061#\212 \203\n\202\307\n!A@\fb\210\310\311 \"*0\202%\210\312\203* \207\313\207" [scala-indent:indent-value-expression not-block-p start block-beg anchor scala-indent:step (error) syntax-ppss scala-syntax:has-char-before 61 nil 0] 3]) #@64 Some keywords which occure only in the middle of an expression (defconst scala-indent:mustNotTerminate-keywords-re "\\<\\(extends\\|forSome\\|\\(?:matc\\|wit\\)h\\)\\>" (#$ . 6158)) #@123 All keywords and symbols that cannot terminate a expression and must be handled by run-on. Reserved-symbols not included. (defconst scala-indent:mustNotTerminate-line-beginning-re (concat "\\(" scala-indent:mustNotTerminate-keywords-re "\\|:\\(" scala-syntax:after-reserved-symbol-re "\\)\\)") (#$ . 6347)) #@193 Symbols that must terminate an expression or start a sub-expression, i.e the following expression cannot be a run-on. This includes only parenthesis, '=', '=>', ',' and ';' and the empty line (defconst scala-indent:mustTerminate-re (concat "\\([,;⇒]\\|=>?" scala-syntax:end-of-code-line-re "\\|\\s(\\|" scala-syntax:empty-line-re "\\)") (#$ . 6661)) #@56 Words that we don't want to continue the previous line (defconst scala-indent:mustNotContinue-re "\\<\\(abstract\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\)\\|d\\(?:ef\\|o\\)\\|else\\|f\\(?:inal\\(?:ly\\)?\\|or\\)\\|i\\(?:f\\|mp\\(?:\\(?:lici\\|or\\)t\\)\\|nline\\)\\|lazy\\|new\\|o\\(?:bject\\|verride\\)\\|p\\(?:ackage\\|r\\(?:ivate\\|otected\\)\\)\\|return\\|sealed\\|t\\(?:hrow\\|r\\(?:ait\\|y\\)\\|ype\\)\\|va[lr]\\|while\\|yield\\)\\>" (#$ . 7019)) #@125 All keywords and symbols that cannot terminate a expression and are infact a sign of run-on. Reserved-symbols not included. (defconst scala-indent:mustBeContinued-line-end-re (concat "\\(" scala-syntax:other-keywords-unsafe-re "\\|:" scala-syntax:end-of-code-line-re "\\)") (#$ . 7473)) #@66 Returns t if the current point is in the middle of an expression (defalias 'scala-indent:run-on-p #[(&optional point strategy) "\204\306 \212 \203 b\210m?\205\375\307fz\310U\203 \307\202\375\212\311 \210o\2060\312 \2060\313\n!)\2038\307\202\375\314 \203G U\204G\315\202\375\316\f!\203Q\307\202\375\317 \203Z\307\202\375 U\203d\315\202\375\316!\203o\315\202\375\307\313!)\203~\315\202\375\307f\320U\203\211\315\202\375\307f\321U\203\261\212\322 \210\323 \210\307f\324U\206\251\307f\325U\206\251\326\307\")\203\261\315\202\375 U\203\273\307\202\375\307f\327U\203\306\315\202\375\313\330!\203\320\315\202\375U\203\333\307\202\375\212\331\307wW)\203\352\315\202\375\212\311 \210\331\307xV)\203\374\315\202\375\307)\207" [strategy point scala-indent:mustTerminate-re scala-indent:keywords-only-strategy scala-indent:mustNotContinue-re scala-indent:eager-strategy scala-indent:run-on-strategy nil 41 scala-syntax:skip-backward-ignorable scala-syntax:looking-back-empty-line-p scala-syntax:looking-back-token scala-syntax:newlines-disabled-p t looking-at scala-indent:body-p 91 40 scala-syntax:forward-parameter-groups scala-syntax:skip-forward-ignorable 61 123 scala-indent:run-on-p 46 ".*[.]" 0 scala-indent:mustNotTerminate-line-beginning-re case-fold-search scala-indent:mustBeContinued-line-end-re scala-indent:reluctant-strategy scala-syntax:opchar-group] 3 (#$ . 7766)]) #@105 Returns t if the current point (or point at 'point) is on a line that is a run-on from a previous line. (defalias 'scala-indent:run-on-line-p #[(&optional point strategy) "\212\203b\210\302 \210\303\304 \")\207" [point strategy scala-syntax:beginning-of-code-line scala-indent:run-on-p nil] 3 (#$ . 9206)]) #@212 Moves back to the point whose column will be used as the anchor relative to which indenting for current point (or point 'point') is calculated. Returns the new point or nil if the point is not on a run-on line. (defalias 'scala-indent:goto-run-on-anchor #[(&optional point strategy) "\302 \"\205&\203b\210\303 \210\302\304 \"\203\"\305 \203\"\306 \204\307 \210`\207" [point strategy scala-indent:run-on-line-p scala-syntax:beginning-of-code-line nil scala-syntax:skip-backward-ignorable scala-indent:backward-sexp-to-beginning-of-line scala-indent:align-anchor] 3 (#$ . 9524)]) (defconst scala-indent:double-indent-re (concat "\\<\\(extends\\|forSome\\|with\\)\\>\\|:\\(" scala-syntax:after-reserved-symbol-re "\\)")) #@74 Resolves the appropriate indent step for run-on line at position 'start' (defalias 'scala-indent:resolve-run-on-step #[(start &optional anchor) "\212b\210\305 \203 b\210\306\n_\307\310wZ\2029 b\210\311 !\204%\312 !\203+\306\n_\2029\f\2033\313\2027\314 \"\n\\)\207" [anchor start scala-indent:step scala-indent:double-indent-re scala-indent:align-parameters scala-syntax:looking-at-case-p 2 "|" nil looking-at scala-syntax:looking-back-token 0 scala-indent:value-expression-lead] 3 (#$ . 10258)]) (defconst scala-indent:forms-align-re "\\<\\(catch\\|else\\|finally\\|yield\\)\\>") #@235 Returns scala-syntax:beginning-of-code-line for the line on which current point (or point 'point') is, if the line starts with one of 'yield', 'else', 'catch' and 'finally', otherwise nil. Also, the previous line must not be with '}' (defalias 'scala-indent:forms-align-p #[(&optional point) "\212\203b\210\302 \210\303 !\205\304\224b\210`)\207" [point scala-indent:forms-align-re scala-syntax:beginning-of-code-line looking-at 0] 2 (#$ . 10855)]) #@268 Moves back to the point whose column will be used as the anchor relative to which indenting of special words on beginning of the line on which point (or point 'point') is, or nul if not special word found. Special words include 'yield', 'else', 'catch' and 'finally' (defalias 'scala-indent:goto-forms-align-anchor #[(&optional point) "\304!\211\205\234 b\210\305\306!\203)\212\307\224b\210\307\224\212\310 \210`)U)\203)\307\224b\202\234\311\312!\203A\313\314!\2039`\202\212\315\316!\210\317\202\212\311\320!\203]\313\321!\205\212\305\320!\203Y\307\224b\202\212`\202\212\311\322!\203u\313\323!\203m`\202\212\315\324!\210\317\202\212\311\325!\205\212\313\323!\203\205`\202\212\315\324!\210\317 \203\223\n\202\233\n\205\233\326 \210`))\207" [point special-beg anchor scala-indent:align-forms scala-indent:forms-align-p scala-syntax:looking-back-token "}" 0 scala-syntax:beginning-of-code-line looking-at "\\" scala-syntax:search-backward-sexp "\\" message "matching 'for' not found" nil "\\" "\\" "\\" "\\" "matching 'try' not found" "\\" scala-indent:align-anchor] 3 (#$ . 11316)]) (defalias 'scala-indent:resolve-forms-align-step #[(start anchor) "\203\303\207\304 \n\305#\207" [scala-indent:align-forms start anchor 0 scala-indent:value-expression-lead t] 4]) (defalias 'scala-indent:goto-list-anchor-impl #[(point) "b\210 \204\f\302 \210`\207\303\304 !\210\305!\305 U\203 b\210\202#\306 \210\307\310!\210`\207" [point scala-indent:align-parameters back-to-indentation forward-comment buffer-size line-number-at-pos beginning-of-line skip-syntax-forward " "] 2]) #@180 Moves back to the point whose column will be used to indent list rows at current point (or point `point'). Returns the new point or nil if the point is not in a list element > 1. (defalias 'scala-indent:goto-list-anchor #[(&optional point) "\302!\211\205 \303 !)\207" [point list-beg scala-syntax:list-p scala-indent:goto-list-anchor-impl] 3 (#$ . 12979)]) (defalias 'scala-indent:resolve-list-step #[(start anchor) "\203\303\207\304 \n\"\207" [scala-indent:align-parameters start anchor 0 scala-indent:resolve-block-step] 3]) #@186 Returns the point after opening parentheses if the current point (or point 'point') is in a block of enumerators. Return nil if not in a list of enumerators or at the first enumerator. (defalias 'scala-indent:for-enumerators-p #[(&optional point) "\204`\212b\210\303 \210\304!m\206\305fz\306U?\205E \205E A@\205E A@b\210\307\n!\205E\305u\210\310\311 !\210`W\205E A@T*\207" [point state scala-syntax:for-re scala-syntax:beginning-of-code-line syntax-ppss nil 41 scala-syntax:looking-back-token forward-comment buffer-size] 2 (#$ . 13519)]) #@191 Moves back to the point whose column will be used to indent for enumerator at current point (or point 'point'). Returns the new point or nil if the point is not in a enumerator element > 1. (defalias 'scala-indent:goto-for-enumerators-anchor #[(&optional point) "\302!\211\205 \303 !)\207" [point enumerators-beg scala-indent:for-enumerators-p scala-indent:goto-list-anchor-impl] 3 (#$ . 14080)]) #@117 All the flow control keywords that are followed by a condition (or generators in the case of 'for') in parentheses. (defconst scala-indent:control-keywords-cond-re "\\<\\(for\\|if\\|while\\)\\>" (#$ . 14487)) #@59 Other flow control keywords (not followed by parentheses) (defconst scala-indent:control-keywords-other-re "\\<\\(catch\\|do\\|else\\|finally\\|try\\|yield\\)\\>" (#$ . 14702)) (defconst scala-indent:control-keywords-re (concat "\\(" scala-indent:control-keywords-cond-re "\\|" scala-indent:control-keywords-other-re "\\)")) #@234 Returns the position of '=' symbol, or one of the scala-indent:control-keywords-re or scala-indent:control-keywords-cond-re keywords if current point (or point 'point) is on a line that follows said symbol or keyword, or nil if not. (defalias 'scala-indent:body-p #[(&optional point) "\212\203b\210\306 \210\307 \310\"\206K\311\307 !)\206K\307\312\313\"\203)\314\225b\210\315 \210\307\f!\205K\314\224b\210\316\317!\203C\307\320!\203C\314\224b\210 \204J\321 \210`)\207" [point scala-syntax:body-start-re case-fold-search scala-indent:control-keywords-other-re scala-indent:control-keywords-cond-re scala-indent:align-forms scala-syntax:beginning-of-code-line scala-syntax:looking-back-token 3 nil ")" 1 0 backward-list looking-at "\\" "\\" scala-indent:align-anchor] 3 (#$ . 15034)]) (defalias 'scala-indent:goto-body-anchor #[(&optional point) "\305!\211\205& b\210\306\307 !)\203`\202&\310 \203\"\311\306\f\"\210\312 \210`)\207" [point declaration-end case-fold-search scala-indent:control-keywords-re scala-indent:keywords-only-strategy scala-indent:body-p nil looking-at scala-indent:backward-sexp-to-beginning-of-line scala-indent:goto-run-on-anchor scala-indent:align-anchor] 4]) (defalias 'scala-indent:resolve-body-step #[(start &optional anchor) "dU\204f\303U\203\304\207\305 \306#\n\\\207" [start anchor scala-indent:step 123 0 scala-indent:value-expression-lead t] 4]) #@184 Moves back to the point whose column will be used as the anchor for calculating block indent for current point (or point 'point'). Returns point or (point-min) if not inside a block. (defalias 'scala-indent:goto-block-anchor #[(&optional point) "\303\212\304 \210`)!A@\211\205<b\210`\212\305 \210`)U\203!`\202<\306 \307\"\206)`b\210\310 \210\311 \2038\312\313\n\"\210\314 \210`)\207" [block-beg scala-syntax:body-start-re scala-indent:keywords-only-strategy syntax-ppss beginning-of-line scala-syntax:beginning-of-code-line scala-syntax:looking-back-token 3 scala-syntax:backward-parameter-groups scala-indent:backward-sexp-to-beginning-of-line scala-indent:goto-run-on-anchor nil scala-indent:align-anchor] 4 (#$ . 16461)]) #@112 Resolves the appropriate indent step for block line at position 'start' relative to the block anchor 'anchor'. (defalias 'scala-indent:resolve-block-step #[(start anchor) "\304 \"dU\203 \n\\\202^fz\305U\203\n\306_\202^\307!\203+ \n\\\202^\212\310!A@\2065\311Tb\210\312\313 !\210\307 \205O\314 \314 !V\205O\311\224V)\203[\315 _\n\\\202^ \n\\)\207" [start anchor lead scala-indent:step scala-indent:value-expression-lead 41 1 scala-syntax:looking-at-case-p syntax-ppss 0 forward-comment buffer-size line-number-at-pos 2] 3 (#$ . 17200)]) #@167 Returns the position of the first character of the line, if the current point (or point 'point') is on a line that starts with an opening parentheses, or nil if not. (defalias 'scala-indent:open-parentheses-line-p #[(&optional point) "\212\203b\210\301 \210\302\303!\205`)\207" [point scala-syntax:beginning-of-code-line looking-at "\\s("] 2 (#$ . 17763)]) #@221 Moves back to the point whose column will be used as the anchor for calculating opening parenthesis indent for the current point (or point 'point'). Returns point or nil, if line does not start with opening parenthesis. (defalias 'scala-indent:goto-open-parentheses-anchor #[(&optional point) "\305!\211\205\\ b\210\n\203>\306f\307U\203>\310 \203>\311\312\313\"\203>\314 \210`\306u\210\315\316 !\210\317 !\317 U\205: b)\202\\\311\320\313\"\203I\306\202\\\306f\321U\203[\322\306\f\"\203[`\202\\\306)\207" [point parentheses-beg scala-indent:align-parameters curry-beg scala-indent:keywords-only-strategy scala-indent:open-parentheses-line-p nil 40 scala-indent:run-on-p scala-syntax:looking-back-token ")" 1 scala-syntax:backward-parameter-groups forward-comment buffer-size line-number-at-pos "=" 123 scala-indent:goto-run-on-anchor] 4 (#$ . 18133)]) #@78 Resolves the appropriate indent step for an open paren anchored at 'anchor'. (defalias 'scala-indent:resolve-open-parentheses-step #[(start anchor) "\303\304!\203\305\207\212b\210\306\307 \")\203\n\207\305\207" [anchor start scala-indent:step scala-syntax:looking-back-token ")" 0 scala-syntax:has-char-before 61] 3 (#$ . 19005)]) #@150 Goto and return the position relative to which a line comment will be indented. This will be the start of the line-comment on previous line, if any. (defalias 'scala-indent:goto-line-comment-anchor #[(&optional point) "`\212 \203\n b\210\302\303!\205\304 ?\205\305\306!\205`\211)\205%b)\207" [pos point looking-at "\\s *//" scala-syntax:looking-back-empty-line-p forward-comment -1] 2 (#$ . 19348)]) #@147 Evaluates each rule, until one returns non-nil value. Returns the sum of the value and the respective indent step, or nil if nothing was applied. (defalias 'scala-indent:apply-indent-rules #[(rule-indents &optional point) "\205^\212 \203\f b\210\306 @\211@ A@\f !\211\203X\2030\307\310\f\n %\210`U\204@\311\312\313`#!\210i\212\314 !\203P \n\"\202S\315 !)\\\202\\\316A!.\207" [rule-indents point pos rule-indent rule-statement indent-statement scala-syntax:beginning-of-code-line message "indenting acording to %s at %d for pos %d for point %s" error format "Assertion error: anchor=%d, point=%d" functionp eval scala-indent:apply-indent-rules anchor scala-mode:debug-messages] 7 (#$ . 19766)]) #@145 Calculate the appropriate indent for the current point or the point 'point'. Returns the new column, or nil if the indent cannot be determined. (defalias 'scala-indent:calculate-indent-for-line #[(&optional point) "\301\302\"\206\303\207" [point scala-indent:apply-indent-rules ((scala-indent:goto-line-comment-anchor 0) (scala-indent:goto-open-parentheses-anchor scala-indent:resolve-open-parentheses-step) (scala-indent:goto-for-enumerators-anchor scala-indent:resolve-list-step) (scala-indent:goto-forms-align-anchor scala-indent:resolve-forms-align-step) (scala-indent:goto-list-anchor scala-indent:resolve-list-step) (scala-indent:goto-body-anchor scala-indent:resolve-body-step) (scala-indent:goto-run-on-anchor scala-indent:resolve-run-on-step) (scala-indent:goto-block-anchor scala-indent:resolve-block-step)) 0] 3 (#$ . 20495)]) #@95 Indent the line to column and move cursor to the indent column, if it was at the left margin. (defalias 'scala-indent:indent-line-to #[(column) "\205i\301 X\203\302!\207\212\302!)\207" [column current-indentation indent-line-to] 2 (#$ . 21342)]) (make-variable-buffer-local 'scala-indent:previous-indent-pos) #@198 Handles removing of whitespace from a previosly indented code line that was left empty (i.e. whitespaces only). Also clears the scala-indent:previous-indent-pos variable that controls the process. (defalias 'scala-indent:remove-indent-from-previous-empty-line #[nil "\2054`U?\2054\212\301 \210`U\203!\302\303!\205`\211\2023b\210\302\303!\2030\304\224\304\225|\210\305\211)\207" [scala-indent:previous-indent-pos beginning-of-line looking-at "^\\s +$" 0 nil] 2 (#$ . 21665)]) #@72 Indent a line of code. Expect to be outside of any comments or strings (defalias 'scala-indent:indent-code-line #[(&optional strategy) "\203 \202\n =\203\305 \210\202\306 \210\307\310 !\210\311 \210\212\312 \210\313\314!\205+`)\211\207" [strategy scala-indent:effective-run-on-strategy last-command this-command scala-indent:previous-indent-pos scala-indent:toggle-effective-run-on-strategy scala-indent:reset-effective-run-on-strategy scala-indent:indent-line-to scala-indent:calculate-indent-for-line scala-lib:delete-trailing-whitespace beginning-of-line looking-at "^\\s +$"] 2 (#$ . 22159)]) #@27 Indents the current line. (defalias 'scala-indent:indent-line #[(&optional strategy) "\212\302\303 !)\3048\204\305 !\202Q\306\3078\250\203#\310\3048!\202P\3118\312=\203N\212\313 \210\314\315!\205E\3048b\210\314\316!\205E\317\225b\210i)\206P\320 \202P\320 !)\207" [state strategy syntax-ppss line-beginning-position 8 scala-indent:indent-code-line scala-indent:indent-line-to 4 scala-indent:scaladoc-indent 3 t beginning-of-line looking-at "\\s *|" "\\(\"\"\"\\)|" 1 current-indentation] 4 (#$ . 22774) "*"]) (defalias 'scala-indent:indent-with-reluctant-strategy #[nil "\301!\207" [scala-indent:reluctant-strategy scala-indent:indent-line] 2 nil "*"]) #@289 Calculate indent for a multi-line comment. Scaladoc lines (starting with /**) are indented under the second aseterix. Other multi-line comment rows are indented undet the first asterisk. Note: start line is indented as code since the start of the comment is outside the comment region.  (defalias 'scala-indent:scaladoc-indent #[(comment-start-pos) "\212b\210\302\303!\205$ \204\304\225\304\224Z\305U\203\304\225S\202!\304\224Tb\210i)\207" [comment-start-pos scala-indent:use-javadoc-style looking-at "/\\*+" 0 3] 2 (#$ . 23450)]) (defalias 'scala-indent:indent-on-parentheses #[nil "`Sfz\300U\205\212\301 \210`)`SU\205\302 \207" [41 back-to-indentation scala-indent:indent-line] 2]) (defconst scala-indent:indent-on-words-re "^\\s *\\<\\(ca\\(?:se\\|tch\\)\\|else\\|finally\\|yield\\)\\>") #@174 This function is meant to be used with post-self-insert-hook. Indents the line if position is right after a space that is after a word that needs to be indented specially. (defalias 'scala-indent:indent-on-special-words #[nil "i\301V\2054`Sf\302U\2054`S\206`Sfz\303U\2054\212\304u\210\305\306\")\2054\307\310 8?\2054\311\312 !\207" [scala-indent:indent-on-words-re 4 32 119 -1 looking-back 7 8 syntax-ppss scala-indent:indent-line-to scala-indent:calculate-indent-for-line] 3 (#$ . 24260)]) #@343 This function is meant to be used with post-self-insert-hook. Indents the line if position is right after an asterisk in a multi-line comment block and there is only whitespace before the asterisk. If scala-indent:add-space-for-scaladoc-asterisk is t, also adds a space after the asterisk if the asterisk is the last character on the line. (defalias 'scala-indent:indent-on-scaladoc-asterisk #[nil "\302 \3038\250\205 \304\305\306 \"\205 \203\307c\210\310\311\3128!!)\207" [state scala-indent:add-space-for-scaladoc-asterisk syntax-ppss 4 looking-back "^\\s *\\*" line-beginning-position " " scala-indent:indent-line-to scala-indent:scaladoc-indent 8] 4 (#$ . 24767)]) #@232 This function is meant to be used with post-self-insert-hook. Changes 'asterisk space slash' to 'asterisk slash' in a multi-line comment if position is right after that slash and scala-indent:add-space-for-scaladoc-asterisk is t. (defalias 'scala-indent:fix-scaladoc-close #[nil "\302  \205\3038\250\205\304\305\306 \"\205`\307Z`S|)\207" [state scala-indent:add-space-for-scaladoc-asterisk syntax-ppss 4 looking-back "^\\s *\\*\\s /" line-beginning-position 2] 3 (#$ . 25453)]) #@112 Insert an asterisk at the end of the current line when at the beginning of a line inside a multi-line comment  (defalias 'scala-indent:insert-asterisk-on-multiline-comment #[nil "\304 \3058\3068\250\205V\307\310 \211\306\\\"\311\312\313#)\266\203\205V\310\314\315!\316\315!\"\317 \311\312\313#)\266\203\206I\320 \311\312\313#)\266\203)\205V\321\322!\210\323c\210\324 *\207" [state comment-start-pos inhibit-changing-match-data prev-line syntax-ppss 8 4 "^/\\*\\*[^\\*]" buffer-substring-no-properties nil t string-match line-beginning-position 0 line-end-position "^\\s-*\\*" "\\s-*/\\*\\*" skip-syntax-forward " " "*" scala-indent:indent-on-scaladoc-asterisk] 7 (#$ . 25947)]) (defalias 'scala-mode:indent-scaladoc-asterisk #[(&optional insert-space-p) "\300\301!\207" [message "scala-mode:indent-scaladoc-asterisk has been deprecated"] 2]) #@42 scala-mode version of `fixup-whitespace' (defalias 'scala-indent:fixup-whitespace #[nil "\212\300 \210\301\302!\206.\212\303u\210\304\305 8\203\301\306!\202\301\307!)\206.`Sf\310U\205.\311f\312U?\2054\313c)\207" [delete-horizontal-space looking-at "^\\|[]):.]" -1 4 syntax-ppss "$\\|\\s(" "$\\|[[(.]" 123 nil 125 32] 2 (#$ . 26816) "*"]) #@62 scala-mode version of `join-line', i.e. `delete-indentation' (defalias 'scala-indent:join-line #[(&optional arg) "\302 \210\203\n\303y\210h\304U\205R``S|\210\305 \210\306 \307 8\250\203?\310\311!\203?\212\312 8\313 ]b\210\310\314!)\203?\315\316!\210\202O\307 8\203O\310\317!\203O\315\320!\210)\321 \207" [arg state beginning-of-line 1 10 delete-horizontal-space syntax-ppss 4 looking-at " *\\*\\($\\|[^/]\\)" 8 line-beginning-position "\\s */?\\*" delete-char 2 " //" 3 scala-indent:fixup-whitespace] 2 (#$ . 27168) "*P"]) (provide 'scala-mode-indent)