;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\207" [require cl-lib julia-mode-latexsubs] 2) (defvar julia-mode-hook nil) (byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\316\317%\210\320\321\322\323#\210\320\324\325\326#\210\327\330\331\"\207" [custom-declare-group julia nil "Major mode for the julia programming language." :group languages :prefix "julia-" custom-declare-variable julia-indent-offset funcall function #[0 "\300\207" [4] 1] "Number of spaces per indentation level." :type integer custom-declare-face julia-macro-face ((t :inherit font-lock-preprocessor-face)) "Face for Julia macro invocations." julia-quoted-symbol-face ((t :inherit font-lock-constant-face)) "Face for quoted Julia symbols, e.g. :foo." add-to-list auto-mode-alist ("\\.jl\\'" . julia-mode)] 8) #@32 Syntax table for `julia-mode'. (defvar julia-mode-syntax-table (byte-code "\300 \301\302\303#\210\301\304\303#\210\301\305\303#\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\323#\210\301\324\325#\210\301\326\327#\210\301\330\331#\210\301\332\333#\210\301\334\333#\210\301\335\336#\210\301\337\331#\210\301\340\331#\210\301\341\331#\210\301\342\331#\210\301\343\331#\210\301\344\331#\210\301\345\331#\210\301\346\331#\210\301\347\331#\210\301\350\331#\210\301\351\331#\210\301\352\353#\210\207" [make-syntax-table modify-syntax-entry 95 "_" 64 33 35 "< 14" 61 ". 23bn" 10 ">" 123 "(} " 125 "){ " 91 "(] " 93 ")[ " 40 "() " 41 ")( " 39 "." 34 "\"" 96 92 "\\" 46 63 36 38 42 47 43 45 60 62 37 8242 "w"] 5) (#$ . 884)) (defconst julia-hanging-operator-regexp "\\(?:!==?\\|\\$=\\|%=\\|&[&=]\\|\\*=\\|\\+[+=]\\|-\\(?:->\\|[=-]\\)\\|\\.\\(?:!=\\|%=\\|\\*=\\|\\+=\\|-=\\|/\\(?:/=\\|[/=]\\)\\|<[<=]\\|==\\|>\\(?:>>\\|[=>]\\)\\|[\\÷^]=\\|[!%*+./<=>\\÷≠≤≥^-]\\)\\|/\\(?:/=\\|[/=]\\)\\|:[:=]\\|<\\(?:<=\\|[:<=|]\\)\\|=\\(?:==\\|[=>]\\)\\|>\\(?:>\\(?:>=\\|[=>]\\)\\|[:=>]\\)\\|\\\\=\\|\\^=\\||[=>|]\\|÷=\\|[$%&*+./:<-?\\|~±×÷⅋←-↔↚↛↠↣↦↮⇎⇏⇒⇔⇴-⇿∈-∍∓∔∗∘∙∝∤-∪∷∸∺∻∽∾≀-⊋⊍-⊜⊞-⊣⊩⊬⊮⊰-⊷⊻⊼⊽⋄-⋇⋉-⋓⋕-⋭⋲-⋿▷⟈⟉⟑⟒⟕⟖⟗⟰⟱⟵⟶⟷⟹-⟿⤀-⤘⤝-⤠⥄-⥰⦷⦸⦼⦾-⧁⧡⧣⧤⧥⧴⧶⧷⧺⧻⨇⨈⨝⨢-⨮⨰-⨽⩀-⩅⩊-⩘⩚-⩣⩦⩧⩪-⫙⫛⫷-⫺⬰-⭄⭇-⭌←-↓^-]\\)[[:blank:]]*\\(?:$\\|#\\)") (defconst julia-unquote-regex "\\(\\s(\\|\\s-\\|-\\|[,%=<>\\+*/?&|!\\^~\\\\;:]\\|^\\)\\($[a-zA-Z0-9_]+\\)") (defconst julia-forloop-in-regex "for +.*[^\n].* \\(in\\)\\(\\s-\\|$\\)+") (defconst julia--forloop-=-regex "for +[^\n;=]+\\([=∈]\\)[^=]") (defconst julia-ternary-regex " +\\(\\?\\)[\n ]+[^\n]* +\\(:\\)[\n ]+") (defconst julia-function-regex "^\\(?:[[:space:]]\\|@inline\\|@noinline\\)*\\_") (defconst julia-quoted-symbol-regex "\\(?:^\\|[[:space:]]\\|(\\|\\[\\|,\\|=\\)\\(:\\(?:[[:alpha:]]\\|\\s_\\)\\(?:[[:word:]]\\|\\s_\\)*\\)") (defconst julia-font-lock-keywords (byte-code "\306\307E \310B\n\311B\312\313B\314\315B \316\313E\f\306\310E \306\310E\306\310D\316\310DE\306\317E\306\317E\306\320E\306\320E\306\320E\257\207" [julia-quoted-symbol-regex julia-keyword-regex julia-macro-regex julia-unquote-regex julia-forloop-in-regex julia--forloop-=-regex 1 'julia-quoted-symbol-face font-lock-keyword-face 'julia-macro-face "\\_<\\(Cvoid\\|Inf\\(?:32\\)?\\|NaN\\(?:32\\)?\\|false\\|missing\\|nothing\\|true\\|undef\\)\\_>" font-lock-constant-face "ccall" font-lock-builtin-face 2 font-lock-function-name-face font-lock-type-face julia-ternary-regex julia-function-regex julia-function-assignment-regex julia-type-regex julia-type-annotation-regex julia-subtype-regex] 16)) (defconst julia-block-start-keywords (list "if" "while" "for" "begin" "try" "function" "let" "macro" "quote" "do" "module" "baremodule" "abstract type" "primitive type" "struct" "mutable struct")) (defconst julia-block-start-keywords-no-indent (list "module" "baremodule")) (defconst julia-block-end-keywords (list "end" "else" "elseif" "catch" "finally")) #@88 Return non-nil if SYNTAX-PPSS is inside string or comment. (fn &optional SYNTAX-PPSS) (defalias 'julia-syntax-comment-or-string-p #[256 "\300\206\301 8\207" [8 syntax-ppss] 3 (#$ . 5358)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put julia-syntax-comment-or-string-p speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@142 Return non-nil if point is inside a comment using SYNTAX-PPSS. Handles both single-line and multi-line comments. (fn &optional SYNTAX-PPSS) (defalias 'julia-in-comment #[256 "\300\206\301 8\207" [4 syntax-ppss] 3 (#$ . 5716)]) #@207 Return non-nil if point is inside a string using SYNTAX-PPSS. Note this is Emacs' notion of what is highlighted as a string. As a result, it is true inside "foo", `foo` and 'f'. (fn &optional SYNTAX-PPSS) (defalias 'julia-in-string #[256 "\300\206\301 8\207" [3 syntax-ppss] 3 (#$ . 5954)]) (defconst julia-syntax-propertize-function #[514 "b\210`W\205\243\300\301\302#\205\243\303\224\203+\304\305!\211A\306\233\241\210\307!\266\310 \210\202\311\224\203E\304\305!\211A\312\233\241\210\307!\266\310 \210\202\313\224\203z\304\305!\211A\314\233\241\210\307!\266\315\224\315\225\316\212\317\315\224!)!?\205j\320\211\203u\321\322$\210\266\202\306\224\204\204\323\224\203\306\224\203\222\321\306\224\306\225\322\324$\210\323\224\203\321\323\224\323\225\322\324$\210\202\207" [re-search-forward "\\(\"\"\"\\)\\|\\(```\\)\\|\\(\\\\\\)\\|\\(?:[!$-&*--/:-?\\^|~]\\|\\s(\\|\\s-\\|^\\)\\('\\)\\(?:[^\\]\\|\\\\\\(?:[\"'\\abfnrtv]\\|[0-7]\\{1,3\\}\\|x[[:xdigit:]]\\{1,2\\}\\|u[[:xdigit:]]\\{1,4\\}\\|U[[:xdigit:]]\\{1,8\\}\\)\\)\\('\\)" t 1 match-data ints 4 set-match-data julia-syntax-stringify 2 6 3 8 0 julia-in-string syntax-ppss (1) put-text-property syntax-table 5 (7)] 10 "\n\n(fn START END)"]) #@74 Put `syntax-table' property correctly on triple-quoted strings and cmds. (defalias 'julia-syntax-stringify #[0 "\212\300\301\224!)\3028?\205\3038\211\204\304\301\224\301\224T\305\306$\207`Sff=\203Y\301e\301\224ZW\203G\301\224Z\2069`Sf\307=\203G\211T\262\202(\310!\262\203Y\304\301\225S\301\225\305\306$\207\311u\207" [syntax-ppss 0 4 8 put-text-property syntax-table (15) 92 cl-evenp -2] 7 (#$ . 7191)]) #@52 Return non-nil if point is inside square brackets. (defalias 'julia-in-brackets #[0 "`\300\212\301 \210`W\2034\302\303\206\304 8\262\204.\305\306!\203$\211T\262\305\307!\203.\211S\262\310u\210\202)\211\211\300V\207" [0 beginning-of-line nil 8 syntax-ppss looking-at "\\[" "]" 1] 5 (#$ . 7619)]) #@206 Return the word at point if it matches any keyword in KW-LIST. KW-LIST is a list of strings. The word at point is not considered a keyword if used as a field name, X.word, or quoted, :word. (fn KW-LIST) (defalias 'julia-at-keyword #[257 "o\204`\206 `Sf\300=?\205>`\206`Sf\301=?\205>\302\303!?\205>\304\305!\235\205>\304\305!\306\232\203;\307 ?\205>\310 ?\207" [46 58 looking-at "(" current-word t "end" julia-in-brackets julia-in-comment] 3 (#$ . 7934)]) (defalias 'julia-safe-backward-sexp #[0 "\3001\n\301 0\202\210\202\205\3021\303u0\207\210\304\207" [(error) backward-sexp (error) -1 nil] 1]) #@225 If the current line follows an `export` or `import` keyword with valid syntax, return the position of the keyword, otherwise `nil`. Works by stepping backwards through comma-separated symbol, gives up when this is not true. (defalias 'julia-following-import-export-using #[0 "\300\211\212\301 \210\204Re`W\203R\302 \210\303\304\305\306\307E!!\203$`\262\202\303\310!\203<\211\2034\311\262\202\312\313!\262\202\303\314!\203L\211\203\311\262\202\311\262\202)\311=?\205[\207" [nil beginning-of-line julia-safe-backward-sexp looking-at regexp-opt "import" "export" "using" "\\(\\(?:[[:word:]]\\|\\s_\\)*\\)[[:space:]]*:" broken match-string-no-properties 1 "\\(?:[[:word:]]\\|\\s_\\)*[[:space:]]*,"] 7 (#$ . 8561)]) #@107 Return the position of the last open block, if one found. Do not move back beyond position MIN. (fn MIN) (defalias 'julia-last-open-block-pos #[257 "\212\301\211\301V\204-`X\204-\302 \210\303!\203\211T\202(\303\304!\203'\211S\202(\211\262\202\211\301V\2054`\262)\207" [julia-block-start-keywords 0 julia-safe-backward-sexp julia-at-keyword ("end")] 4 (#$ . 9306)]) #@100 Move back and return indentation level for last open block. Do not move back beyond MIN. (fn MIN) (defalias 'julia-last-open-block #[257 "\211e]\262\301!\211\205\211b\210\302 \\\207" [julia-indent-offset julia-last-open-block-pos julia-block-open-indentation] 4 (#$ . 9693)]) #@68 Get the current indentation or the start of a parenthetical block. (defalias 'julia-block-open-indentation #[0 "\212\214\300 \301 }\210\3021\303 \210iT0\202\210\304 *\207" [line-beginning-position line-end-position (error) backward-up-list current-indentation] 2 (#$ . 9981)]) (byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable julia-max-block-lookback funcall function #[0 "\300\207" [20000] 1] "When indenting, don't look back more than this many characters\nto see if there are unclosed blocks.\n\nThis variable has a small effect on indent performance if set\ntoo high, but stops indenting in the middle of long blocks if set\ntoo low." :type integer] 6) #@174 Return the column of the text following the innermost containing paren before point, so we can align succeeding code with it. Returns nil if we're not within nested parens. (defalias 'julia-paren-indent #[0 "\212\301 \210\302 \3038\203\304\202d\211@\305U\203\304\202d\3061b\301 \210\307\310!\210`\311 \210`\304u\210\307\310!\210l\203Y\312 \210\313u\210`Ub\210\301 \210\307\310!\210i\203R\305\202S\\\262\202Zi\262\2620\202d\210\304\262)\207" [julia-indent-offset beginning-of-line syntax-ppss 3 nil 0 (error) skip-syntax-forward " " backward-up-list up-list -1] 6 (#$ . 10678)]) #@251 Move point to beginning of previous line skipping blank lines and lines including only comments. Returns number of lines moved. A return of -1 signals that we moved to the first line of the (possibly narrowed) buffer, so there is nowhere else to go. (defalias 'julia-prev-line-skip-blank-or-comment #[0 "\3012h\302\303\304y\262\211\302U\203(\305\306\307!)\262\204!\310 \203(T\262\202\211\302U\2037\311\301T\"\210\202o\203T\305\306\307!)\262\204L\310 \203T\311\301\304\"\210\202o\203`\311\301\"\210\202\311\301\302\"\210\202\207" [inhibit-changing-match-data result 0 nil -1 "^\\s-*\\(?:#.*\\)*$" t looking-at julia-in-comment throw] 5 (#$ . 11284)]) #@56 Return t if current line ends with a hanging operator. (defalias 'julia--hanging-operator-p #[0 "\301\302 \303#\205\212\304\305\224!)\306\206\304 8\262?\207" [julia-hanging-operator-regexp re-search-forward line-end-position t syntax-ppss 0 8] 4 (#$ . 11970)]) #@384 Calculate indentation for lines that follow "hanging" operators (operators that end the previous line) as defined in `julia-hanging-operator-regexp'. An assignment operator ending the previous line increases the indent as do the other operators unless another operator is found two lines up. Previous line means previous line after skipping blank lines and lines with only comments. (defalias 'julia-indent-hanging #[0 "\301\212\302 \303V\205%\304 \262\305 \205%\302 \303V\203\"\305 \203\"\211\202%\\)\207" [julia-indent-offset nil julia-prev-line-skip-blank-or-comment 0 current-indentation julia--hanging-operator-p] 3 (#$ . 12245)]) #@116 Indentation inside strings with newlines is "manual", meaning always increase indent on TAB and decrease on S-TAB. (defalias 'julia-indent-in-string #[0 "\212\302 \210\303 \205\304>\203 \305 \\\202\305 )\207" [this-command julia-indent-offset beginning-of-line julia-in-string (julia-latexsub-or-indent ess-indent-or-complete) current-indentation] 2 (#$ . 12896)]) #@74 Indent offset for lines that follow `import` or `export`, otherwise nil. (defalias 'julia-indent-import-export-using #[0 "\301 \205\207" [julia-indent-offset julia-following-import-export-using] 1 (#$ . 13274)]) #@36 Indent current line of julia code. (defalias 'julia-indent-line #[0 "i\304 Z\305\306 \206T\307 \206T\310 \206T\311 \206\312\212\313 \210\314 \3158\203+\3168b\210\210\317\312!\210\320!\321` Z!\206>\204H\320\n!\203L \202M\312Z]\266\202)\262!\210\211\312Y\205b\322\304 \\!\207" [julia-block-end-keywords julia-max-block-lookback julia-block-start-keywords-no-indent julia-indent-offset current-indentation indent-line-to julia-indent-in-string julia-indent-hanging julia-indent-import-export-using julia-paren-indent 0 beginning-of-line syntax-ppss 4 8 forward-to-indentation julia-at-keyword julia-last-open-block move-to-column] 9 (#$ . 13495) nil]) #@54 Regex matching beginning of Julia function or macro. (defconst julia-beginning-of-defun-regex (concat julia-function-regex "\\|" julia-function-assignment-regex "\\|\\_") (#$ . 14170)) #@116 Return the context type using SYNTAX-PPSS. TYPE can be `comment', `string' or `paren'. (fn &optional SYNTAX-PPSS) (defalias 'julia-syntax-context-type #[256 "\211\206\300 \3018\203\3028\203\303\207\304\207\211A@\205\305\207" [syntax-ppss 8 4 comment string paren] 4 (#$ . 14372)]) #@90 Check if point is at `beginning-of-defun' using SYNTAX-PPSS. (fn &optional SYNTAX-PPSS) (defalias 'julia-looking-at-beginning-of-defun #[256 "\211\206\301 \302\206 \301 8\262?\205\212\303\304!\210\305!)\207" [julia-beginning-of-defun-regex syntax-ppss 8 beginning-of-line 1 looking-at] 4 (#$ . 14670)]) #@134 Internal implementation of `julia-beginning-of-defun'. With positive ARG search backwards, else search forwards. (fn &optional ARG) (defalias 'julia--beginning-of-defun #[256 "\211\203\n\211\302U\203 \303\262\211\302V\203\304\202\305\306 \211\307 \\\310 \302V\205V\212\311 \204H\312 \2036\313y\204'\314 \315=\203B\316 \204'\317e!\204'\311 \203T\307 \\\206U\302)\302W\203d\311 \203d\303\210 \320\321#\203\216\320\322\206t\323 8\262\204d\302V\203\216\307 \302U\204\216\307 Y\204d\311 \205\254\324!\324 U?\206\254`Y\205\254`X\205\254V\211\203\270\325\303!\206\274`\207b\210\320\207" [julia-indent-offset julia-beginning-of-defun-regex 0 1 re-search-backward re-search-forward line-beginning-position current-indentation point-marker julia-looking-at-beginning-of-defun julia-indent-hanging -1 julia-syntax-context-type paren backward-up-list julia-last-open-block nil t 8 syntax-ppss line-number-at-pos beginning-of-line] 10 (#$ . 14989)]) #@294 Move point to `beginning-of-defun'. With positive ARG search backwards else search forward. ARG nil or 0 defaults to 1. When searching backwards, nested defuns are handled depending on current point position. Return non-nil (point) if point moved to `beginning-of-defun'. (fn &optional ARG) (defalias 'julia-beginning-of-defun #[256 "\211\203\n\211\300U\203 \301\262\302\300U\204:\303!\211\203\"\204\"\304\262\211\262\203:\300V\2033S\2025T\262\202\207" [0 1 nil julia--beginning-of-defun t] 4 (#$ . 15979)]) #@107 Move point to the end of the current function. Return nil if point is not in a function, otherwise point. (defalias 'julia-end-of-defun #[0 "\302\303 \204\304\305!\204\304\306!\205e\307 \210\310\311!)\262\203?\302y\203am\204a\312 \204!\313 \314=\203a\315\316!\204!\202a\317 \262m\204a\305y\203a\302\320\206T\321 8\262\204C\317 V\204C\302\210`\207" [julia-function-assignment-regex inhibit-changing-match-data nil julia-looking-at-beginning-of-defun julia-beginning-of-defun 1 -1 beginning-of-line t looking-at julia-indent-hanging julia-syntax-context-type paren search-forward ")" current-indentation 8 syntax-ppss] 4 (#$ . 16516) nil]) (defvar julia-imenu-generic-expression '(("Function (_)" "[ ]*function[ ]+\\(_[^ \n]*\\)" 1) ("Function" "^[ ]*function[ ]+\\([^_][^ \n]*\\)" 1) ("Const" "[ ]*const \\([^ \n]*\\)" 1) ("Type" "^[ ]*[a-zA-Z0-9_]*type[a-zA-Z0-9_]* \\([^ \n]*\\)" 1) ("Require" " *\\(\\brequire\\)(\\([^ \n)]*\\)" 2) ("Include" " *\\(\\binclude\\)(\\([^ \n)]*\\)" 2))) (defvar julia-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [julia-mode-hook variable-documentation put "Hook run after entering Julia mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp julia-mode-map definition-name julia-mode] 4) (defvar julia-mode-map (make-sparse-keymap)) (byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\210\303\311\323\324#\207" [julia-mode-abbrev-table julia-mode-map variable-documentation put purecopy "Keymap for `julia-mode'." boundp julia-mode-syntax-table definition-name julia-mode (lambda (#1=#:def-tmp-var) (defvar julia-mode-syntax-table #1#)) make-syntax-table "Syntax table for `julia-mode'." (lambda (#1#) (defvar julia-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `julia-mode'." derived-mode-parent prog-mode custom-mode-group julia] 5) #@224 Major mode for editing julia code. In addition to any hooks its parent mode `prog-mode' might have run, this mode runs the hook `julia-mode-hook', as the final or penultimate step during initialization. \{julia-mode-map} (defalias 'julia-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324 \325\"\204R +=\204R\326 \325+C#\210\327 !\210\330\f!\210 +\330\f!\210\306\331!\210\332\306\333!\210\334\306\335!\210\336\306\337!\210,\306\340!\210\341 \306\342!\210\343\"\306\344!\210\345$\346-./\347\350!\210)\351\352!\207" [delay-mode-hooks major-mode mode-name julia-mode-map julia-mode-syntax-table julia-mode-abbrev-table make-local-variable t prog-mode julia-mode "Julia" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table comment-start "# " comment-start-skip "#+\\s-*" font-lock-defaults (julia-font-lock-keywords) syntax-propertize-function indent-line-function julia-indent-line beginning-of-defun-function julia-beginning-of-defun end-of-defun-function julia-end-of-defun nil imenu-add-to-menubar "Imenu" run-mode-hooks julia-mode-hook local-abbrev-table julia-syntax-propertize-function indent-tabs-mode julia-imenu-generic-expression imenu-generic-expression] 5 (#$ . 18714) nil]) #@124 Deindent by `julia-indent-offset' regardless of current indentation context. To be used to manually indent inside strings. (defalias 'julia-manual-deindent #[0 "\301\302\303 Z]!\207" [julia-indent-offset indent-line-to 0 current-indentation] 4 (#$ . 20213) nil]) (define-key julia-mode-map [backtab] 'julia-manual-deindent) #@51 Perform a LaTeX-like Unicode symbol substitution. (defalias 'julia-latexsub #[0 "`o\204`Sf\301U\204`Sfz\302U\204\303u\210\202o\204?`Sf\301U\203?\303u\210\304`{\"\211\203<`|\210\211c\207b\207\211b\207" [julia-mode-latexsubs 92 32 -1 gethash] 4 (#$ . 20544) "*i"]) #@85 Either indent according to mode or perform a LaTeX-like symbol substution (fn ARG) (defalias 'julia-latexsub-or-indent #[257 "\300 \205\301!\207" [julia-latexsub indent-for-tab-command] 3 (#$ . 20828) "*i"]) (byte-code "\303\304\305#\210\306\307!\203f\310\311\312\"\210\313\314!\210\315\316!\210\310\316\317\"\210\320\314!\210\321\322N\204.\323\321\322\324#\210\323\321\325\326#\210\323\321\327\314C#\210\330\331 BC\332!\203K\211\202Z\211<\203V\333!\202Z\334\335\"\262!\210\336\316\314\n\314\211%\210\337\340!\210\341\342\343\344\345DD\346\347\350\351\352&\210\341\353\343\344\354DD\355\347\356\351\352&\207" [julia-mode-map LaTeX-math-keymap julia-math-mode-map define-key " " julia-latexsub-or-indent featurep latex defalias julia-math-insert #[257 "\211\205\301\302P\"\211\205\211c\262\207" [julia-mode-latexsubs gethash "\\"] 4 "Inserts math symbol given by `s'\n\n(fn S)"] (lambda (#1=#:def-tmp-var) (defvar julia-math-mode #1# "Non-nil if Julia-Math mode is enabled.\nUse the command `julia-math-mode' to change this variable.")) nil make-variable-buffer-local julia-math-mode #[256 "\303 \304=\203 ?\202\247\203\305W\203\306\202\307\310\301!\2031\311\300 \"\2031\300 B\203;\312\302!\210\313\314\315\203E\316\202F\317\"\210\320\321!\203h\303 \203Z\211\303 \232\203h\322\323\203d\324\202e\325\326#\210\210\327 \210\207" [julia-math-mode local-minor-modes LaTeX-math-insert-function current-message toggle 1 nil t boundp delq make-local-variable julia-math-insert run-hooks julia-math-mode-hook julia-math-mode-on-hook julia-math-mode-off-hook called-interactively-p any message "Julia-Math mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 6 "A minor mode with easy access to TeX math commands. The\ncommand is only entered if it is supported in Julia. The\nfollowing commands are defined:\n\nThis is a minor mode. If called interactively, toggle the\n`Julia-Math mode' mode. If the prefix argument is positive,\nenable the mode, and if it is zero or negative, disable the mode.\n\nIf called from Lisp, toggle the mode if ARG is `toggle'. Enable\nthe mode if ARG is nil, omitted, or is a positive number.\nDisable the mode if ARG is a negative number.\n\nTo check whether the minor mode is enabled in the current buffer,\nevaluate `julia-math-mode'.\n\nThe mode's hook is called both when the mode is enabled and when\nit is disabled.\n\n\\{LaTeX-math-mode-map}\n\n(fn &optional ARG)" (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)] (lambda (#1#) (defvar julia-math-mode-hook #1#)) julia-math-mode-hook variable-documentation put "Hook run after entering or leaving `julia-math-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value (lambda (#1#) (defvar julia-math-mode-map #1# "Keymap for `julia-math-mode'.")) LaTeX-math-abbrev-prefix keymapp easy-mmode-define-keymap error "Invalid keymap %S" add-minor-mode require comint custom-declare-variable julia-program funcall function #[0 "\300\207" [#2="julia"] 1 #2#] "Path to the program used by `inferior-julia'." :type string :group julia julia-arguments #[0 "\300\207" [("-i" "--color=yes")] 1] "Commandline arguments to pass to `julia-program'." (repeat (string :tag "argument"))] 8) #@46 Regexp for matching `inferior-julia' prompt. (defvar julia-prompt-regexp "^\\w*> " (#$ . 24219)) #@43 Basic mode map for `inferior-julia-mode'. (defvar inferior-julia-mode-map (byte-code "\301 \244\302\303\304#\210\207" [comint-mode-map make-sparse-keymap define-key " " julia-latexsub-or-indent] 5) (#$ . 24322)) #@49 Run an inferior instance of julia inside Emacs. (defalias 'inferior-julia #[0 "\302\303!\204\304\305\306\303\307 &\210\310\303!\210\311 )\207" [julia-program julia-arguments comint-check-proc "*Julia*" apply make-comint-in-buffer "Julia" nil pop-to-buffer-same-window inferior-julia-mode] 7 (#$ . 24542) nil]) #@49 Helper function to initialize `inferior-julia'. (defalias 'inferior-julia--initialize #[0 "\301\211\207" [comint-use-prompt-regexp t] 2 (#$ . 24864)]) (defvar inferior-julia-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [inferior-julia-mode-hook variable-documentation put "Hook run after entering Julia mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp inferior-julia-mode-map definition-name inferior-julia-mode] 4) (defvar inferior-julia-mode-map (make-sparse-keymap)) (byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [inferior-julia-mode-abbrev-table inferior-julia-mode-map variable-documentation put purecopy "Keymap for `inferior-julia-mode'." boundp inferior-julia-mode-syntax-table definition-name inferior-julia-mode (lambda (#1=#:def-tmp-var) (defvar inferior-julia-mode-syntax-table #1#)) make-syntax-table "Syntax table for `inferior-julia-mode'." (lambda (#1#) (defvar inferior-julia-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `inferior-julia-mode'." derived-mode-parent comint-mode] 5) #@270 Major mode for `inferior-julia'. \ In addition to any hooks its parent mode `comint-mode' might have run, this mode runs the hook `inferior-julia-mode-hook', as the final or penultimate step during initialization. \{inferior-julia-mode-map} (defalias 'inferior-julia-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324 \325\"\204R \"=\204R\326 \325\"C#\210\327 !\210\330\f!\210 \"\306\331!\210#\306\332!\210\307\306\333!\210\334\306\335!\210#\306\336!\210\337)\340\341!\207" [delay-mode-hooks major-mode mode-name inferior-julia-mode-map inferior-julia-mode-syntax-table inferior-julia-mode-abbrev-table make-local-variable t comint-mode inferior-julia-mode "Julia" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table comint-prompt-regexp comint-prompt-read-only font-lock-defaults (julia-font-lock-keywords t) paragraph-start indent-line-function julia-indent-line run-mode-hooks inferior-julia-mode-hook local-abbrev-table julia-prompt-regexp] 5 (#$ . 26274) nil]) (byte-code "\300\301\302\"\210\303\304\305\306#\210\307\310!\207" [add-hook inferior-julia-mode-hook inferior-julia--initialize defalias run-julia inferior-julia "Run an inferior instance of julia inside Emacs." provide julia-mode] 4)