Files
emacsd/elpa/skewer-mode-20180706.1807/skewer-repl.elc

82 lines
8.7 KiB
Plaintext
Raw Normal View History

2019-10-09 20:36:55 +02:00
;ELC
;;; Compiled
;;; in Emacs version 26.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\300\302!\210\300\303!\210\304\305\306\307\310DD\311\312\313\314\315&\210\304\316\306\307\317DD\320\312\321\314\315&\207" [require comint compile skewer-mode custom-declare-variable skewer-repl-strict-p funcall function #[0 "\300\207" [nil] 1] "When non-NIL, all REPL evaluations are done in strict mode." :type boolean :group skewer skewer-repl-prompt #[0 "\300\207" [#1="js> "] 1 #1#] "Prompt string for JavaScript REPL." string] 8)
#@192 Header line to show at the top of the REPL buffer. Hack
notice: this allows log messages to appear before anything is
evaluated because it provides insertable space at the top of the
buffer.
(defvar skewer-repl-welcome (propertize "*** Welcome to Skewer ***\n" 'font-lock-face 'font-lock-comment-face) (#$ . 871))
#@41 Return the process for the skewer REPL.
(defalias 'skewer-repl-process #[0 "\300p!\207" [get-buffer-process] 2 (#$ . 1191)])
(custom-declare-face 'skewer-repl-log-face '((((class color) (background light)) :foreground "#77F") (((class color) (background dark)) :foreground "#77F")) "Face for skewer.log() messages." :group 'skewer)
(defvar skewer-repl-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [skewer-repl-mode-hook variable-documentation put "Hook run after entering js-REPL mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp skewer-repl-mode-map definition-name skewer-repl-mode] 4)
(defvar skewer-repl-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\300!\204#\303\300\307\310#\210\311\312\300\313\"\210!\210\300\302N\2041\303\300\302\304\314!#\210\303\310\315\316#\210\303\310\317\320#\207" [skewer-repl-mode-abbrev-table skewer-repl-mode-map variable-documentation put purecopy "Keymap for `skewer-repl-mode'." boundp definition-name skewer-repl-mode (lambda (#1=#:def-tmp-var) (defvar skewer-repl-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `skewer-repl-mode'." derived-mode-parent comint-mode custom-mode-group skewer] 5)
#@245 Provide a REPL into the visiting browser.
In addition to any hooks its parent mode `comint-mode' might have run,
this mode runs the hook `skewer-repl-mode-hook', as the final or penultimate step
during initialization.
\{skewer-repl-mode-map}
(defalias 'skewer-repl-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\321\"\204;\f =\204;\322\f\321 C#\210\323 !\210\324%!\210\f\325\326&!P'\327(\330)\306\331!\210\332\333p!\204\210*c\210\334\335p\330#\210\336\337 \330\"\210db\210\306\340!\210\307 \341\337 &\"\210\342\337 \341\"\210)\343\344!\207" [delay-mode-hooks major-mode mode-name skewer-repl-mode-map skewer-repl-mode-abbrev-table local-abbrev-table make-local-variable t comint-mode skewer-repl-mode "js-REPL" mode-class put keymap-parent set-keymap-parent current-local-map abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table "^" regexp-quote skewer-input-sender nil company-backends (company-skewer-repl) comint-check-proc start-process "skewer-repl" set-process-query-on-exit-flag skewer-repl-process comint-inhibit-carriage-motion comint-output-filter set-process-filter run-mode-hooks skewer-repl-mode-hook emacs-lisp-mode-syntax-table skewer-repl-prompt comint-prompt-regexp comint-input-sender comint-process-echoes skewer-repl-welcome] 5 (#$ . 2551) nil])
#@59 Toggle strict mode for expressions evaluated by the REPL.
(defalias 'skewer-repl-toggle-strict-mode #[0 "?\301\302\203 \303\202\304\"\207" [skewer-repl-strict-p message "REPL strict mode %s" "enabled" "disabled"] 3 (#$ . 3936) nil])
#@36 REPL comint handler.
(fn _ INPUT)
(defalias 'skewer-input-sender #[514 "\301\302\303\304\305&\207" [skewer-repl-strict-p skewer-eval skewer-post-repl :verbose t :strict] 9 (#$ . 4181)])
#@58 Callback for reporting results in the REPL.
(fn RESULT)
(defalias 'skewer-post-repl #[257 "\301\302!\303\304\"A\205rq\210\305\306 \307Q\")\207" [skewer-repl-prompt get-buffer "*skewer-repl*" assoc value comint-output-filter skewer-repl-process "\n"] 8 (#$ . 4377)])
#@51 Faces to use for different types of log messages.
(defvar skewer-repl-types '(("log" . skewer-repl-log-face) ("error" . skewer-error-face)) (#$ . 4657))
#@70 Create a log string for the source file in LOG if present.
(fn LOG)
(defalias 'skewer-log-filename #[257 "\300\301\"A\300\302\"A\300\303\"A\205!\304\305#\205 \304\306\"P\207" [assoc filename line column format "\n at %s:%s" ":%s"] 8 (#$ . 4816)])
#@54 Callback for logging messages to the REPL.
(fn LOG)
(defalias 'skewer-post-log #[257 "\301\302!\303\211\304\"A\"A\303\305\"A\206\306\307\310#\2055rq\210\212db\210\311y\210\312u\210\313\314!Qc*\207" [skewer-repl-types get-buffer "*skewer-repl*" assoc type value "<unspecified error>" propertize font-lock-face 0 -1 "\n" skewer-log-filename] 9 (#$ . 5083)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable skewer-path-strip-level funcall function #[0 "\300\207" [1] 1] "Number of folders which will be stripped from url when discovering paths.\nUse this to limit path matching to files in your filesystem. You\nmay want to add some folders to `compilation-search-path', so\nmatched files can be found." :type number :group skewer] 8)
#@59 Setup compilation shell minor mode for highlighting files
(defalias 'skewer-repl-mode-compilation-shell-hook #[0 "\302\303\"\304\301!\210\211\305BC\210\306\307!\207" [skewer-path-strip-level compilation-error-regexp-alist format "^[ ]*at https?://[^/]+/\\(?:[^/]+/\\)\\{%d\\}\\([^:?#]+\\)\\(?:[?#][^:]*\\)?:\\([[:digit:]]+\\)\\(?::\\([[:digit:]]+\\)\\)?$" make-local-variable (1 2 3 2) compilation-shell-minor-mode 1] 3 (#$ . 5874)])
#@71 Catches all browser messages logging some to the REPL.
(fn RESPONSE)
(defalias 'skewer-repl--response-hook #[257 "\300\301\"A\211\302\235\205\303!\207" [assoc type ("log" "error") skewer-post-log] 4 (#$ . 6316)])
#@66 Start a JavaScript REPL to be evaluated in the visiting browser.
(defalias 'skewer-repl #[0 "\300\301!\204r\302\301!q\210\303 \210)\304\300\301!!\207" [get-buffer "*skewer-repl*" get-buffer-create skewer-repl-mode pop-to-buffer] 3 (#$ . 6540) nil])
#@139 Skewerl REPL backend for company-mode.
See `company-backends' for more info about COMMAND and ARG.
(fn COMMAND &optional ARG &rest ARGS)
(defalias 'company-skewer-repl #[641 "\300\267\202!\301\302!\207\303 \207\304\207\304\207\305\306\307\310\311\312!\313\"\314\315%B\207\316\207" [#s(hash-table size 5 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (interactive 6 prefix 10 ignore-case 13 sorted 15 candidates 17)) company-begin-backend company-skewer-repl skewer-repl-company-prefix t :async make-byte-code 257 "\301\300\"\207" vconcat vector [skewer-repl-get-completions] 4 "\n\n(fn CALLBACK)" nil] 10 (#$ . 6798) (byte-code "\300C\207" [interactive] 1)])
#@119 Get the completion list matching the prefix ARG.
Evaluate CALLBACK with the completion candidates.
(fn ARG CALLBACK)
(defalias 'skewer-repl-get-completions #[514 "\300!\211\203GT\301O\202\302\206\303\304\305\306\307\310  \"\311\"\312\313%\314\315\316\317BC&\207" [skewer-repl--get-completion-expression nil skewer-eval "window" make-byte-code 257 "\302\303\"A\211\304\305\211\203I:\204GW\203I:\203'\211A\262\242\202*H\262\301\203<\211\301\306QC\244\262\202B\211C\244\262T\262\202 \300!\210\305\207" vconcat vector [assoc value 0 nil "."] 10 "\n\n(fn RESULT)" :type "completions" :extra regexp] 13 (#$ . 7488)])
#@47 Get completion expression from ARG.
(fn ARG)
(defalias 'skewer-repl--get-completion-expression #[257 "\300\301\"\211G\302V\205\303\304\305\306\307#\310#\207" [split-string "\\." 1 mapconcat identity cl-subseq 0 -1 "."] 8 (#$ . 8149)])
#@21 Prefix for company.
(defalias 'skewer-repl-company-prefix #[0 "\301=\205\302\303\304\"\206\305\207" [major-mode skewer-repl-mode company-grab-symbol-cons "\\." 1 stop] 3 (#$ . 8395)])
(byte-code "\300\301\302\"\210\303\304!\207" [eval-after-load skewer-mode #[0 "\301\302\303\"\210\301\304\305\"\210\306\307\310#\207" [skewer-mode-map add-hook skewer-response-hook skewer-repl--response-hook skewer-repl-mode-hook skewer-repl-mode-compilation-shell-hook define-key "" skewer-repl] 4] provide skewer-repl] 3)