;ELC   
;;; Compiled
;;; in Emacs version 26.3
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`%s' was compiled for Emacs 23 or later" #$))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\210\300\310!\210\300\311!\210\300\312!\210\300\313!\210\300\314!\210\315\316\317\320\321\322\323\324&\210\325\326\327\330\331DD\332\333\334\323\316&\210\325\335\327\330\336DD\337\333\340\323\316&\210\325\341\327\330\342DD\343\333\344\323\316&\210\325\345\327\330\346DD\347\333\350\323\316&\210\325\351\327\330\352DD\353\333\354\323\316&\210\325\355\327\330\356DD\357\333\360\323\316&\210\325\361\327\330\362DD\363\333\364\323\316&\210\325\365\327\330\366DD\367\333\370\323\316&\210\325\371\327\330\372DD\373\333\374\323\316&\210\325\375\327\330\376DD\377\333\364\323\316&\210\325\201@ \327\330\201A DD\201B \333\364\323\316&\210\325\201C \327\330\201D DD\201E \333\364\323\316&\210\325\201F \327\330\201G DD\201H \333\364\323\316&\210\325\201I \327\330\201J DD\201K \333\330\323\316&\210\201L \201M \201N \201O \323\316%\210\201L \201P \201Q \201R \323\316%\210\201L \201S \201T \201U \323\316%\210\201L \201V \201W \201X \323\316%\210\201L \201Y \201Z \201[ \323\316%\210\325\201\\ \327\330\201] DD\201^ \333\364\323\316&\210\325\201_ \327\330\201` DD\201a \333\364\323\316&\210\325\201b \327\330\201c DD\201d \333\201e \323\316&\210\325\201f \327\330\201g DD\201h \333\364\323\316&\210\325\201i \327\330\201j DD\201k \333\334\323\316&\210\325\201l \327\330\201m DD\201n \333\330\323\316&\210\325\201o \327\330\201p DD\201q \333\201r \323\316&\210\325\201s \327\330\201t DD\201u \333\364\323\316&\210\325\201v \327\330\201w DD\201x \333\364\323\316\201y \201z &	\207" [require typescript-mode etags json cl-lib eldoc dash s flycheck imenu thingatpt tide-lv tabulated-list custom-declare-group tide nil "TypeScript Interactive Development Environment." :prefix "tide-" :group tools custom-declare-variable tide-sync-request-timeout funcall function #[0 "\300\207" [2] 1] "The number of seconds to wait for a sync response." :type integer tide-tsserver-process-environment #[0 "\300\207" [nil] 1] "List of extra environment variables to use when starting tsserver." (repeat string) tide-tsserver-executable #[0 "\300\207" [nil] 1] "Name of tsserver executable to run instead of the bundled tsserver.\n\nThis may either be an absolute path or a relative path. Relative\npaths are resolved against the project root directory.\n\nNote that this option only works with TypeScript version 2.0 and\nabove." (choice (const nil) string) tide-tscompiler-executable #[0 "\300\207" [nil] 1] "Name of tsc executable.\n\nThis may either be an absolute path or a relative path. Relative\npaths are resolved against the project root directory." (choice (const nil) string) tide-node-executable #[0 "\300\207" [#1="node"] 1 #1#] "Name or path of the node executable binary file." (choice (const nil) string) tide-post-code-edit-hook #[0 "\300\207" [nil] 1] "Hook run after code edits are applied in a buffer." hook tide-sort-completions-by-kind #[0 "\300\207" [nil] 1] "Whether completions should be sorted by kind." boolean tide-format-options #[0 "\300\207" [nil] 1] "Format options plist." (plist :value-type sexp) tide-user-preferences #[0 "\300\207" [(:includeCompletionsForModuleExports t :includeCompletionsWithInsertText t :allowTextChangesInNewFiles t)] 1] "User preference plist used on the configure request.\n\nCheck\nhttps://github.com/Microsoft/TypeScript/blob/17eaf50b73c1355d2fd15bdc3912aa64a73483dd/src/server/protocol.ts#L2684\nfor the full list of available options." (plist :value-type sexp) tide-disable-suggestions #[0 "\300\207" [nil] 1] "Disable suggestions.\n\nIf set to non-nil, suggestions will not be shown in flycheck\nerrors and tide-project-errors buffer." tide-completion-ignore-case #[0 "\300\207" [nil] 1] "CASE will be ignored in completion if set to non-nil." tide-completion-detailed #[0 "\300\207" [nil] 1] "Completion dropdown will contain detailed method information if set to non-nil." tide-completion-enable-autoimport-suggestions #[0 "\300\207" [t] 1] "Whether to include external module exports in completions." tide-navto-item-filter #[0 "\300\207" [tide-navto-item-filter-default] 1] "The filter for items returned by tide-nav. Defaults to class, interface, type, enum" custom-declare-face tide-file ((t (:inherit dired-header))) "Face for file names in references output." tide-line-number ((t (:inherit compilation-line-number))) "Face for line numbers in references output." tide-match ((t (:inherit match))) "Face for matched symbol in references output." tide-imenu-type-face ((t (:inherit font-lock-type-face))) "Face for type in imenu list." tide-choice-face ((t (:inherit font-lock-warning-face))) "Face for choices used in popup window." tide-jump-to-definition-reuse-window #[0 "\300\207" [t] 1] "Reuse existing window when jumping to definition." tide-imenu-flatten #[0 "\300\207" [nil] 1] "Imenu index will be flattened if set to non-nil." tide-allow-popup-select #[0 "\300\207" [(code-fix refactor)] 1] "The list of commands where popup selection is allowed." (set (const code-fix) (const jump-to-implementation) (const refactor)) tide-always-show-documentation #[0 "\300\207" [nil] 1] "Show the documentation window even if only type information is available." tide-server-max-response-length #[0 "\300\207" [102400] 1] "Maximum allowed response length from tsserver. Any response greater than this would be ignored." tide-tsserver-locator-function #[0 "\300\207" [tide-tsserver-locater-npmlocal-projectile-npmglobal] 1] "Function used by tide to locate tsserver." tide-default-mode #[0 "\300\207" [#2="TS"] 1 #2#] "The default mode to open buffers not backed by files (e.g. Org\n  source blocks) in." (choice (const "TS") (const "TSX") (const "JS") (const "JSX")) tide-recenter-after-jump #[0 "\300\207" [t] 1] "Recenter buffer after jumping to definition" tide-filter-out-warning-completions #[0 "\300\207" [nil] 1] "Completions whose `:kind' property is \"warning\" will be filtered out if set to non-nil.\nThis option is useful for Javascript code completion, because tsserver often returns a lot of irrelevant\ncompletions whose `:kind' property is \"warning\" for Javascript code. You can fix this behavior by setting\nthis variable to non-nil value for Javascript buffers using `setq-local' macro." :safe booleanp] 10)
#@57 This is the oldest version of Emacs that tide supports.
(defconst tide--minimal-emacs "24.4" (#$ . 6700))
#@72 Declare NAME as buffer local variable.

(fn NAME &optional INIT-VALUE)
(defalias 'tide-def-permanent-buffer-local '(macro . #[513 "\300\301E\302\303DD\304\303D\305BBF\207" [progn defvar make-variable-buffer-local quote put ('permanent-local t)] 8 (#$ . 6812)]))
(defvar tide-supported-modes '(typescript-mode web-mode js-mode js2-mode js2-jsx-mode js3-mode rjsx-mode))
(defvar tide-server-buffer-name "*tide-server*")
(defvar tide-request-counter 0)
(defvar tide-project-configs (make-hash-table :test 'equal))
(defvar tide-max-response-length-error-message "Response length from tsserver is greater than maximum allowed response.")
(defvar tide-project-root nil)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local tide-project-root put permanent-local t] 4)
(defvar tide-buffer-dirty nil)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local tide-buffer-dirty put permanent-local t] 4)
(defvar tide-buffer-tmp-file nil)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local tide-buffer-tmp-file put permanent-local t] 4)
(defvar tide-active-buffer-file-name nil)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local tide-active-buffer-file-name put permanent-local t] 4)
(defvar tide-require-manual-setup nil)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local tide-require-manual-setup put permanent-local t] 4)
(defvar tide-servers (make-hash-table :test 'equal))
(defvar tide-response-callbacks (make-hash-table :test 'equal))
(defvar tide-source-root-directory (byte-code "\302\206 	!\207" [load-file-name buffer-file-name file-name-directory] 2))
(defvar tide-tsserver-directory (expand-file-name "tsserver" tide-source-root-directory))
#@72 Project root folder determined based on the presence of tsconfig.json.
(defalias 'tide-project-root #[0 "\206) \302	\303\"\206 \302	\304\"\211\204 \305\306\307	\310E!!\210	\262\311!\211\211\262\262\207" [tide-project-root default-directory locate-dominating-file "tsconfig.json" "jsconfig.json" message tide-join "Couldn't locate project root folder with a tsconfig.json or jsconfig.json file. Using '" "' as project root." expand-file-name] 6 (#$ . 8586)])
(defalias 'tide-project-name #[0 "\300\301 !\302!\303\304!\305\306OQ\207" [directory-file-name tide-project-root file-name-nondirectory "-" md5 0 10] 6])
#@180 Returns the path to either the currently open file or the
  current buffer's parent. This is needed to support indirect
  buffers, as they don't set `buffer-file-name' correctly.
(defalias 'tide-buffer-file-name #[0 "\303\304\300!\203 \203 \305!\2063 \304\301!\203! 	\203! \305	!\2063 \304\302!\2031 \n\2031 \305\n!\2063 \306 !\207" [edit-indirect--overlay org-src--overlay org-edit-src-overlay buffer-file-name boundp overlay-buffer buffer-base-buffer] 3 (#$ . 9215)])
(defvar tide-tsserver-unsupported-commands (make-hash-table :test 'equal))
#@16 

(fn COMMAND)
(defalias 'tide-mark-as-unsupported #[257 "\301\302 \302 \301\303\304#\305\"\203 \211\202 B\262#\266\203#\207" [tide-tsserver-unsupported-commands puthash tide-project-name gethash nil memql] 12 (#$ . 9770)])
#@16 

(fn COMMAND)
(defalias 'tide-unsupported-p #[257 "\211\301\302 \303#\235\207" [tide-tsserver-unsupported-commands gethash tide-project-name nil] 6 (#$ . 10015)])
#@31 

(fn NEW-COMMAND NEW OLD CB)
(defalias 'tide-fallback-if-not-supported '(macro . #[1028 "\300\301DD\302\303\300\304\305\306DDE\307\n\310BBFEDF\207" [if tide-unsupported-p lambda (response) (tide-command-unknown-p response) progn tide-mark-as-unsupported funcall (response)] 16 (#$ . 10186)]))
#@89 Return t if Emacs is at least at version VERSION.  Return nil, otherwise.

(fn VERSION)
(defalias 'tide--emacs-at-least #[257 "\301\"?\207" [emacs-version version<] 4 (#$ . 10497)])
#@17 

(fn FILENAME)
(defalias 'tide-safe-json-read-file #[257 "\3011\f \302\303!)0\207\210\304\207" [json-object-type (error) plist json-read-file nil] 3 (#$ . 10687)])
#@15 

(fn STRING)
(defalias 'tide-safe-json-read-string #[257 "\3011\f \302\303!)0\207\210\304\207" [json-object-type (error) plist json-read-from-string nil] 3 (#$ . 10860)])
#@24 

(fn LIST &rest ARGS)
(defalias 'tide-plist-get #[385 "\300\301\302$\207" [cl-reduce #[514 "\205 \300\"\207" [plist-get] 5 "\n\n(fn OBJECT KEY)"] :initial-value] 7 (#$ . 11040)])
#@17 

(fn FN PLIST)
(defalias 'tide-plist-map #[514 "\211\203 \300G!\204 \301\302\"\210\303\304\305\306\307\310!\311\"\312\313%\314\315\"\"\207" [cl-evenp error "Invalid plist %S" -map make-byte-code 257 "\211\211A\262\242@\300\"\207" vconcat vector [] 7 "\n\n(fn INPUT0)" -partition 2] 9 (#$ . 11232)])
#@271 Create a single property list from all plists in PLISTS.
The process starts by copying the first list, and then setting properties
from the other lists. Settings in the last list are the most significant
ones and overrule settings in the other lists.

(fn &rest PLISTS)
(defalias 'tide-combine-plists #[128 "\300\211A\262\242!\301\211\211\2035 \211A\262\242\262\211\203 \211A\262\242\262\211A\262\242\262\302#\262\202 \207" [copy-sequence nil plist-put] 9 (#$ . 11551)])
#@190 Returns a buffer associated with a file. This will return the
  current buffer if it matches `file'. This way we can support
  temporary and indirect buffers.

(fn FILE &optional NEW-FILE)
(defalias 'tide-get-file-buffer #[513 "\300 \232\203	 p\207\301!\203 \302!\207\211\203- \303!r\211q\210\304!\210\305 \210\306\307\"\210)\211\207\310\311\"\207" [tide-buffer-file-name file-exists-p find-file-noselect create-file-buffer set-visited-file-name basic-save-buffer display-buffer t error "Invalid file %S"] 6 (#$ . 12048)])
#@17 

(fn RESPONSE)
(defalias 'tide-response-success-p #[257 "\211\205\n \300\301\"\302\232\207" [plist-get :success t] 4 (#$ . 12585)])
#@17 

(fn RESPONSE)
(defalias 'tide-command-unknown-p #[257 "\211\205\n \300\301\"\302\230\207" [plist-get :command "unknown"] 4 (#$ . 12725)])
(defalias 'tide-tsserver-version-not-supported #[0 "\300\301!\207" [error "Only tsserver 2.0 or greater is supported. Upgrade your tsserver or use older version of tide."] 2])
#@20 

(fn MIN-VERSION)
(defalias 'tide-tsserver-feature-not-supported #[257 "\300\301\"\207" [error "tsserver %S or greater is required for this feature."] 4 (#$ . 13048)])
#@104 BODY must be a single expression if OPTIONS is not passed.

(fn RESPONSE &optional OPTIONS &rest BODY)
(defalias 'tide-on-response-success '(macro . #[641 "C\204 \211\242C\262\211\300\240\210\301\302\303\304\305\306!\307\"\310\311%\242\"\210\312\242\313\"\312\242\314\"\315\316\317	DE\320DD\321D\322BD\323\324\325\312\f\326BBD\327\316	\330BB\331BB\332BBBDF\266\202\207" [nil tide-plist-map make-byte-code 514 "\301\235?\205\f \302\303\300\242\"\207" vconcat vector [(:ignore-empty :min-version) error "Invalid options %S"] 5 "\n\n(fn KEY VALUE)" plist-get :ignore-empty :min-version cond and tide-command-unknown-p tide-tsserver-feature-not-supported tide-response-success-p progn t -when-let msg (:message) unless ((string-equal msg "No content available.")) ((message "%s" msg)) (nil)] 16 (#$ . 13225)]))
(byte-code "\300\301\302\303#\300\207" [function-put tide-on-response-success lisp-indent-function 2] 4)
#@46 

(fn RESPONSE &optional OPTIONS &rest BODY)
(defalias 'tide-on-response-success-callback '(macro . #[641 "\300C\301BBBE\207" [lambda tide-on-response-success] 9 (#$ . 14162)]))
(byte-code "\300\301\302\303#\300\207" [function-put tide-on-response-success-callback lisp-indent-function 2] 4)
#@13 

(fn LIST)
(defalias 'tide-join #[257 "\300\301\302#\207" [mapconcat identity ""] 5 (#$ . 14464)])
#@95 Callback FN for each buffer within PROJECT-NAME with tide-mode enabled.

(fn PROJECT-NAME FN)
(defalias 'tide-each-buffer #[514 "\300\301 \302\303\304\305\306\"\307\"\310\311%\"\207" [-each buffer-list make-byte-code 257 "r\211q\210\303\302!\205 \n\205 \304 \300\232\205 \301 )\207" vconcat vector [tide-mode boundp tide-project-name] 3 "\n\n(fn BUFFER)"] 11 (#$ . 14571)])
#@100 Callback FN for the first buffer within PROJECT-NAME with tide-mode enabled.

(fn PROJECT-NAME FN)
(defalias 'tide-first-buffer #[514 "\300\301\302\303\304\305!\306\"\307\310%\311 \"\211\205 r\211q\210 )\207" [-first make-byte-code 257 "r\211q\210\302\301!\205 	\205 \303 \300\232)\207" vconcat vector [tide-mode boundp tide-project-name] 3 "\n\n(fn BUFFER)" buffer-list] 9 (#$ . 14959)])
#@22 

(fn &optional POS)
(defalias 'tide-line-number-at-pos #[256 "\211\206 `e\300U\203 \301!\202 \212\214~\210\301!*\207" [1 line-number-at-pos] 4 (#$ . 15360)])
#@105 Number of characters present from the begining of line to cursor in current line.

offset is one based.
(defalias 'tide-current-offset #[0 "`\300 ZT\207" [line-beginning-position] 2 (#$ . 15531)])
#@12 

(fn POS)
(defalias 'tide-offset #[257 "\212\214~\210\211b\210\300 *\207" [tide-current-offset] 2 (#$ . 15734)])
#@141 Return column number corresponds to the LINE and OFFSET.

LINE is one based, OFFSET is one based and column is zero based

(fn LINE OFFSET)
(defalias 'tide-column #[514 "\212\214~\210eb\210Sy\210\211Su\210iT*\207" [] 3 (#$ . 15855)])
#@13 

(fn SPAN)
(defalias 'tide-span-to-position #[257 "\212\214~\210eb\210\300\301\"Sy\210\302 \210\300\303\"Su\210`*\207" [plist-get :line beginning-of-line :offset] 4 (#$ . 16096)])
#@21 

(fn FEATURE BODY)
(defalias 'tide-display-help-buffer #[514 "\301\"\302\303\"\210\203 \304!\210\305\306!\202 \305\307\310Q!\207" [help-window-select tide-make-help-buffer display-buffer t pop-to-buffer message "Type \"q\" to restore previous buffer" "Type \"q\" in the " " buffer to close it"] 7 (#$ . 16285)])
#@21 

(fn FEATURE BODY)
(defalias 'tide-make-help-buffer #[514 "r\302\303\304Q!q\210\305\211\306 \210\211\203 \212\307!\210))\310\311\312\"\210p)\207" [buffer-read-only inhibit-read-only get-buffer-create "*tide-" "*" t erase-buffer tide-insert local-set-key "q" quit-window] 7 (#$ . 16612)])
(defvar tide-alphabets '(97 115 100 102 106 107 108))
#@20 

(fn PROMPT LIST)
(defalias 'tide-popup-select-item #[514 "\301\302\"\303\216\304\305\306\307#!\210\310\311G\"\"\312\313\314\315\316\317!\320\"\321\322%\"8\262)\207" [tide-alphabets -map-indexed #[514 "\301\3028!\303\304#\305Q\207" [tide-alphabets propertize char-to-string face tide-choice-face "  "] 6 "\n\n(fn I ITEM)"] #[0 "\300 \207" [tide-lv-delete-window] 1] tide-lv-message mapconcat identity "\n" read-char-choice -take -find-index make-byte-code 257 "\301\300\"\207" vconcat vector [eql] 4 "\n\n(fn CHAR)"] 11 (#$ . 16966)])
#@20 

(fn PROMPT LIST)
(defalias 'tide-completing-read-select-item #[514 "\300\301\302$\207" [completing-read nil t] 7 (#$ . 17522)])
#@16 

(fn FEATURE)
(defalias 'tide-can-use-popup-p #[257 "\211\235\207" [tide-allow-popup-select] 3 (#$ . 17660)])
#@41 

(fn PROMPT LIST LABEL-FN ALLOW-POPUP)
(defalias 'tide-select-item-from-list #[1028 "\301\302\303\"\211\203 \211@\304!#\210A\266\202\202 \210GGX\203F \203F \305\306C\307\310\311\312\313\314!\315\"\316\317%\"\210\211\242\237\266\202\"\202b \320\306C\307\310\311\312\313\314!\315\"\316\317%\"\210\211\242\237\266\202\"\321\"\262\207" [tide-alphabets make-hash-table :test equal puthash tide-popup-select-item nil maphash make-byte-code 514 "\300\300\242B\240\207" vconcat vector [] 5 "\n\n(fn K --CL-VAR--)" tide-completing-read-select-item gethash] 16 (#$ . 17778)])
#@21 

(fn PROGRAM ARGS)
(defalias 'tide-command-to-string #[514 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\311\312\313\314\315\314F\"\"\210\316 *\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 apply process-file -concat nil t buffer-string] 10 (#$ . 18376)])
(defvar tide-event-listeners (make-hash-table :test 'equal))
#@17 

(fn LISTENER)
(defalias 'tide-set-event-listener #[257 "\301\302 pB#\207" [tide-event-listeners puthash tide-project-name] 5 (#$ . 18795)])
(defalias 'tide-clear-event-listener #[0 "\301\302 \"\207" [tide-event-listeners remhash tide-project-name] 3])
(defalias 'tide-current-server #[0 "\301\302 \"\207" [tide-servers gethash tide-project-name] 3])
(defalias 'tide-next-request-id #[0 "\301T\211!\207" [tide-request-counter number-to-string] 3])
#@17 

(fn RESPONSE)
(defalias 'tide-dispatch-response #[257 "\301\302\"\303\"\211\205% \211@\304!\203  r\211q\210\305AC\"\210)\210\306\"\207" [tide-response-callbacks plist-get :request_seq gethash buffer-live-p apply remhash] 7 (#$ . 19256)])
#@14 

(fn EVENT)
(defalias 'tide-dispatch-event #[257 "\301\302 \"\211\205 r\211@q\210\303AC\")\207" [tide-event-listeners gethash tide-project-name apply] 5 (#$ . 19510)])
#@17 

(fn RESPONSE)
(defalias 'tide-dispatch #[257 "\300\301\302\"!\303\304\"\203 \305!\202 \303\306\"\205 \307!\207" [intern plist-get :type memql 'response tide-dispatch-response 'event tide-dispatch-event] 5 (#$ . 19689)])
#@37 

(fn NAME ARGS &optional CALLBACK)
(defalias 'tide-send-command #[770 "\302 \204	 \303\304!\210\305 \210\306 \307\310\311\257\312\313!\211\314P\315\302 \"\210\2051 \316pB	#)\207" [json-encoding-pretty-print tide-response-callbacks tide-current-server error "Server does not exist. Run M-x tide-restart-server to start it again" tide-sync-buffer-contents tide-next-request-id :command :seq :arguments nil json-encode "\n" process-send-string puthash] 11 (#$ . 19925)])
#@18 

(fn NAME ARGS)
(defalias 'tide-send-command-sync #[514 "\301 \302C\303\304\305\306\307\310!\311\"\312\313%#\210\211\242\2044 \314\302\315\"\210\316\301 \"A@V\203 \317\320\"\210\202 \211\242\207" [tide-sync-request-timeout current-time nil tide-send-command make-byte-code 257 "\300\240\207" vconcat vector [] 3 "\n\n(fn RESP)" accept-process-output 0.01 time-subtract error "Sync request timed out %s"] 13 (#$ . 20412)])
#@21 

(fn PROCESS DATA)
(defalias 'tide-net-filter #[514 "r\300!q\210db\210\211c\210)\301!\207" [process-buffer tide-decode-response] 4 (#$ . 20851)])
#@24 

(fn PROCESS MESSAGE)
(defalias 'tide-net-sentinel #[514 "\300\301\"\302\303\304\211\305\306\206 \307\310Q\"\203% \311\312\313\211$\266\202\202( \266\202\305\314\2060 \307\315Q\"\203B \311\312\313\211$\266\205\202E \266\205#\210\3161T \317\320!!0\202X \210\202Y \210\321!\207" [process-get project-name message "(%s) tsserver exits: %s." nil string-match "\\(?:" "[ 	\n]+" "\\)\\'" replace-match "" t "\\`\\(?:" "\\)" (error) kill-buffer process-buffer tide-cleanup-project] 16 (#$ . 21006)])
#@80 Return a single path to the package-local typescript package directory or nil.
(defalias 'tide--npm-local #[0 "\301\302\"\211\205 \211\303P\207" [default-directory locate-dominating-file "package.json" "node_modules/typescript/lib/"] 3 (#$ . 21524)])
#@73 Return a single path to the global typescript package directory or nil.
(defalias 'tide--npm-global #[0 "\301=\203\f \302\303!\304P\207\305\207" [system-type windows-nt getenv "appdata" "\\npm\\node_modules" "/usr/lib/node_modules/typescript/lib/"] 2 (#$ . 21783)])
#@73 Return a single path to the global typescript package directory or nil.
(defalias 'tide--npm-global-usrlocal #[0 "\301=?\205 \302\207" [system-type windows-nt "/usr/local/lib/node_modules/typescript/lib/"] 2 (#$ . 22056)])
#@88 Return the package's node_module bin directory using projectile's project root or nil.
(defalias 'tide--project-package #[0 "\300\301!\205 \300\302!\205 \301 \205 \302 \303P\207" [functionp projectile-project-p projectile-project-root "node_modules/typescript/lib"] 2 (#$ . 22287)])
#@39 File-name of the typescript compiler.
(defconst tide--tscompiler "tsc.js" (#$ . 22579))
#@112 Locate the typescript compiler in PATH.
Return a string representing the existing full path or nil.

(fn PATH)
(defalias 'tide--locate-tscompiler #[257 "\301\"\302!\205 \211\207" [tide--tscompiler expand-file-name file-exists-p] 4 (#$ . 22674)])
#@66 Locate tsserver through project-local or global system settings.
(defalias 'tide-tscompiler-locater-npmlocal-projectile-npmglobal #[0 "\300\301 !\206 \300\302 !\206 \300\303 !\206 \300\304 !\207" [tide--locate-tscompiler tide--npm-local tide--project-package tide--npm-global tide--npm-global-usrlocal] 2 (#$ . 22930)])
#@236 Locate the typescript compiler executable.
If TIDE-TSCOMPILER-EXECUTABLE is set by the user use it.  Otherwise check in the npm local package directory, in the project root as defined by projectile, and in the npm global installation.
(defalias 'tide-locate-tscompiler-executable #[0 "\203\n \301!\206\f \302 \207" [tide-tscompiler-executable expand-file-name tide-tscompiler-locater-npmlocal-projectile-npmglobal] 2 (#$ . 23260)])
#@74 File-name of the file that node executes to start the typescript server.
(defconst tide--tsserver "tsserver.js" (#$ . 23700))
#@110 Locate the typescript server in PATH.
Return a string representing the existing full path or nil.

(fn PATH)
(defalias 'tide--locate-tsserver #[257 "\301\"\302!\205 \211\207" [tide--tsserver expand-file-name file-exists-p] 4 (#$ . 23833)])
#@66 Locate tsserver through project-local or global system settings.
(defalias 'tide-tsserver-locater-npmlocal-projectile-npmglobal #[0 "\300\301 !\206 \300\302 !\206 \300\303 !\206 \300\304 !\207" [tide--locate-tsserver tide--npm-local tide--project-package tide--npm-global tide--npm-global-usrlocal] 2 (#$ . 24083)])
#@278 Locate the typescript server executable.
If TIDE-TSSERVER-EXECUTABLE is set by the user use it.  Otherwise check in the npm local package directory, in the project root as defined by projectile, and in the npm global installation.  If nothing is found use the bundled version.
(defalias 'tide-locate-tsserver-executable #[0 "\203\n \304!\206 	 \206 \304\n\"\207" [tide-tsserver-executable tide-tsserver-locator-function tide--tsserver tide-tsserver-directory expand-file-name] 3 (#$ . 24409)])
(defalias 'tide-start-server #[0 "\306 \203	 \307\310!\210\311\312\313 \"\210\314 \315	\n\"\316!\317 \320\321\322$\323\324\211#\210\325\326\"\210\327\330\"\210\331\320\"\210r\332!q\210\333 \210)\334\335\313 #\210\334\336#\210\337\313 !#\210\311\340\313 \"+\207" [default-directory tide-tsserver-process-environment process-environment tide-server-buffer-name process-connection-type tide-node-executable tide-current-server error "Server already exist" message "(%s) Starting tsserver..." tide-project-name tide-project-root append generate-new-buffer tide-locate-tsserver-executable nil start-file-process "tsserver" set-process-coding-system utf-8-unix set-process-filter tide-net-filter set-process-sentinel tide-net-sentinel set-process-query-on-exit-flag process-buffer buffer-disable-undo process-put project-name project-root puthash "(%s) tsserver server started successfully." tide-servers] 7])
(defalias 'tide-cleanup-buffer-callbacks #[0 "\301\302D\303\304\305\306\307\310!\311\"\312\313%\"\207" [tide-response-callbacks :success nil maphash make-byte-code 514 "p@\232\205 \211A\300!\210\302	\"\207" vconcat vector [tide-response-callbacks remhash] 5 "\n\n(fn ID CALLBACK)"] 8])
#@21 

(fn PROJECT-NAME)
(defalias 'tide-cleanup-project #[257 "\303\304\"\210\305\"\210\305	\"\210\305\n\"\207" [tide-servers tide-tsserver-unsupported-commands tide-project-configs tide-each-buffer #[0 "\300 \207" [tide-cleanup-buffer-callbacks] 1] remhash] 4 (#$ . 26127)])
(defalias 'tide-start-server-if-required #[0 "\300 ?\205 \301 \207" [tide-current-server tide-start-server] 1])
(defalias 'tide-decode-response-legth #[0 "eb\210\300\301\302\303#\205 \304\305\306!!\207" [re-search-forward "Content-Length: \\([0-9]+\\)" nil t string-to-number match-string 1] 4])
#@15 

(fn LENGTH)
(defalias 'tide-enough-response-p #[257 "\212\300\301\302\303#\205 \304u\210\305d!\305`!ZSY)\207" [search-forward "{" nil t -1 position-bytes] 5 (#$ . 26708)])
#@16 

(fn PROCESS)
(defalias 'tide-decode-response #[257 "r\304!q\210\305 \306\307\211\205^ \310!\205^ \311\312!\210\313u\210\211\nV\203E \314\315\316\317#\205. \320\321!\321y\210\211\205@ \322\323\324\325\326\327\257\262\202G \330 e`|\210\211\203S \331!\210\210\332 \333Y\205^ \334!*\262)\207" [json-array-type json-object-type tide-server-max-response-length tide-max-response-length-error-message process-buffer tide-decode-response-legth plist list tide-enough-response-p search-forward "{" -1 re-search-forward "\"request_seq\":\"\\([0-9]+\\)\"" nil t match-string 1 :success :json-false :type "response" :message :request_seq json-read-object tide-dispatch buffer-size 16 tide-decode-response] 11 (#$ . 26890)])
(defalias 'tide-file-format-options #[0 "\302\303\304\305 F	\306 #\207" [tab-width tide-format-options tide-combine-plists :tabSize :indentSize tide-current-indentsize tide-tsfmt-options] 5])
(defalias 'tide-tsfmt-options #[0 "\300\301\302 \"\303!\205 \304!\207" [expand-file-name "tsfmt.json" tide-project-root file-exists-p tide-safe-json-read-file] 3])
(defalias 'tide-current-indentsize #[0 "\306=\203 	\207\307=\203 \n\207\310=\203 \207\311=\203  \f\207\312=\203( \207\313=\2044 \314=\2037 \207\207" [major-mode typescript-indent-level js2-basic-offset js-indent-level js3-indent-level web-mode-code-indent-offset typescript-mode js2-mode js-mode js3-mode web-mode js2-jsx-mode rjsx-mode sgml-basic-offset standard-indent] 2])
(defalias 'tide-command:configure #[0 "\301\302\303\304 \305\306 \307\310 \311\257\"\207" [tide-user-preferences tide-send-command "configure" :hostInfo emacs-version :file tide-buffer-file-name :formatOptions tide-file-format-options :preferences] 10])
#@41 

(fn CB &optional NEED-FILE-NAME-LIST)
(defalias 'tide-command:projectInfo #[513 "\300\301\302\303 \304F#\207" [tide-send-command "projectInfo" :file tide-buffer-file-name :needFileNameList] 8 (#$ . 28630)])
(defalias 'tide-command:openfile #[0 "\302\303\203 \304\305 \306	\307\310 \257\202) \311\304\305 D\312\305 !\226\211\313\235\205& \306D\262\"\"\207" [tide-require-manual-setup tide-default-mode tide-send-command "open" :file tide-buffer-file-name :scriptKindName :fileContent buffer-string append file-name-extension ("TS" "JS" "TSX" "JSX")] 8])
(defalias 'tide-command:closefile #[0 "\300\301\302\303 D\"\207" [tide-send-command "close" :file tide-buffer-file-name] 4])
#@11 

(fn CB)
(defalias 'tide-command:definition #[257 "\300\301\302\303 \304\305 \306\307 \257#\207" [tide-send-command "definition" :file tide-buffer-file-name :line tide-line-number-at-pos :offset tide-current-offset] 9 (#$ . 29323)])
#@11 

(fn CB)
(defalias 'tide-command:typeDefinition #[257 "\300\301\302\303 \304\305 \306\307 \257#\207" [tide-send-command "typeDefinition" :file tide-buffer-file-name :line tide-line-number-at-pos :offset tide-current-offset] 9 (#$ . 29565)])
#@219 Jump to the definition of the symbol at point.

If pointed at an abstract member-declaration, will proceed to look for
implementations.  When invoked with a prefix arg, jump to the type definition.

(fn &optional ARG)
(defalias 'tide-jump-to-definition #[256 "\300\301\302\303\304!\305\"\306\307%\203 \310!\202 \311!\207" [make-byte-code 257 "\302!\203# \303\304\"@\211\205\" \300\204 \305!\203 \306 \202\" \307	\"\207\303\310\"\211\2051 \311\312\"\210\313\207" vconcat vector [tide-jump-to-definition-reuse-window tide-response-success-p plist-get :body tide-filespan-is-current-location-p tide-jump-to-implementation tide-jump-to-filespan :message message "%s" nil] 5 "\n\n(fn RESPONSE)" tide-command:typeDefinition tide-command:definition] 7 (#$ . 29816) "P"])
#@17 

(fn FILESPAN)
(defalias 'tide-filespan-is-current-location-p #[257 "\300\301\"\300\302\"\211\303 \230\205 \304!`\232\207" [plist-get :start :file tide-buffer-file-name tide-location-to-point] 5 (#$ . 30600)])
#@17 

(fn LOCATION)
(defalias 'tide-move-to-location #[257 "\300\301\"\300\302\"\214~\210eb\210Sy\210)\211\303U\205 \303U?\205# \211Su\207" [plist-get :line :offset 0] 5 (#$ . 30821)])
#@17 

(fn LOCATION)
(defalias 'tide-location-to-point #[257 "\212\300!\210`)\207" [tide-move-to-location] 3 (#$ . 31013)])
#@41 

(fn FILESPAN &optional RECENTER-PREF)
(defalias 'tide-recenter-p #[513 "\211\205 \300\301\"\211\302 \230\203 \303!\202 \304\262\207" [plist-get :file tide-buffer-file-name tide-recenter-in-same-buffer-p t] 5 (#$ . 31139)])
#@17 

(fn FILESPAN)
(defalias 'tide-recenter-in-same-buffer-p #[257 "\300\211\301\"\302\"\303\304 Z!\211\305 V\207" [plist-get :start :line abs line-number-at-pos window-body-height] 5 (#$ . 31376)])
#@50 

(fn FILESPAN &optional REUSE-WINDOW NO-MARKER)
(defalias 'tide-jump-to-filespan #[769 "\302\303\"\304\"\204 \305	\306 \"\210\203  \307\310!\311\"\210\202& \307\310!!\210\312\302\313\"!\210\211\2054 \314 \207" [tide-recenter-after-jump find-tag-marker-ring plist-get :file tide-recenter-p ring-insert point-marker pop-to-buffer tide-get-file-buffer ((display-buffer-reuse-window display-buffer-same-window)) tide-move-to-location :start recenter] 9 (#$ . 31580)])
(defalias 'tide-jump-back 'pop-tag-mark)
(defalias 'tide-command:implementation #[0 "\300\301\302\303 \304\305 \306\307 \257\"\207" [tide-send-command-sync "implementation" :file tide-buffer-file-name :line tide-line-number-at-pos :offset tide-current-offset] 8])
#@13 

(fn ITEM)
(defalias 'tide-jump-to-implementation-format-item #[257 "\300\301\"\212r\302!q\210\303\300\304\"!\210\305\306\307\310\311!#*\312\313!\314\315#\316\312\317\320\304\321#!\314\322#Q\323Q\207" [plist-get :file tide-get-file-buffer tide-move-to-location :start replace-regexp-in-string "\n" "" thing-at-point line propertize file-name-nondirectory face tide-file ":" number-to-string tide-plist-get :line tide-line-number " "] 11 (#$ . 32326)])
#@50 Jump to a implementation of the symbol at point.
(defalias 'tide-jump-to-implementation #[0 "\300 \301!\2036 \302\303\"\211G\304U\203 \305\306!\2021 \211G\307U\203' \310@!\2021 \310\311\312\313\314\315!$!\262\202F \302\316\"\211\205D \305\317\"\210\320\262\207" [tide-command:implementation tide-response-success-p plist-get :body 0 message "No implementations available." 1 tide-jump-to-filespan tide-select-item-from-list "Select implementation: " tide-jump-to-implementation-format-item tide-can-use-popup-p jump-to-implementation :message "%s" nil] 9 (#$ . 32793) nil])
(defalias 'tide-in-string-p #[0 "\300\301 8\207" [3 syntax-ppss] 2])
#@118 Returns the symbol found at point, if not deemed 'noise'.
Noise can be anything like braces, reserved keywords, etc.
(defalias 'tide-get-symbol-at-point #[0 "\300 \206	 \301 \302\235?\205 \303\304!\305\306\232\203 \307\202 !\262\207" [tide-in-string-p face-at-point (font-lock-keyword-face) thing-at-point symbol substring-no-properties nil ""] 4 (#$ . 33452)])
#@47 Search and navigate to named types.

(fn ARG)
(defalias 'tide-nav #[257 "\301\302C\205	 \303 \304\305\306\307\310\311\312\313	!\314\"\315\316%\301\"\302\301%\211\205; \317\307\310\320\312\313!\321\"\322\323%\242\"\324!\262\262)\207" [completion-ignore-case t nil tide-get-symbol-at-point completing-read-default "Search: " completion-table-dynamic make-byte-code 257 "\302!\303!\203# \304\305\"\211\205 	!\262\300\240\210\306\307\"\262\2023 \304\310\"\211\2051 \311\312\"\210\313\262\207" vconcat vector [tide-navto-item-filter tide-command:navto tide-response-success-p plist-get :body -map #[257 "\300\301\"\207" [plist-get :name] 4 "\n\n(fn NAVTO-ITEM)"] :message message "%s" nil] 6 "\n\n(fn PREFIX)" -find "\300\301\302\"\230\207" [plist-get :name] 5 "\n\n(fn NAVTO-ITEM)" tide-jump-to-filespan] 13 (#$ . 33826) "P"])
#@20 

(fn NAVTO-ITEMS)
(defalias 'tide-navto-item-filter-default #[257 "\300\301\"\207" [-filter #[257 "\300\301\"\302\235\207" [plist-get :kind ("class" "interface" "type" "enum")] 4 "\n\n(fn NAVTO-ITEM)"]] 4 (#$ . 34680)])
#@13 

(fn TYPE)
(defalias 'tide-command:navto #[257 "\300\301\302\303 \304\305BBBB\"\207" [tide-send-command-sync "navto" :file tide-buffer-file-name :searchValue (:maxResultCount 100)] 8 (#$ . 34909)])
#@41 

(fn DISPLAY-PART &optional HIGHLIGHT)
(defalias 'tide-annotate-display-part #[513 "\300\301\"\300\302\"\211\303\232\203 \304\202\351 \211\305\232\203 \304\202\351 \211\306\232\203& \304\202\351 \211\307\232\2030 \310\202\351 \211\311\232\203: \304\202\351 \211\312\232\203D \313\202\351 \211\314\232\203N \310\202\351 \211\315\232\203X \310\202\351 \211\316\232\203b \317\202\351 \211\320\232\203l \321\202\351 \211\322\232\203v \310\202\351 \211\323\232\203\200 \310\202\351 \211\324\232\203\212 \310\202\351 \211\325\232\203\230 \205\351 \326\202\351 \211\327\232\203\242 \310\202\351 \211\330\232\203\254 \310\202\351 \211\331\232\203\266 \310\202\351 \211\332\232\203\300 \310\202\351 \211\333\232\203\312 \321\202\351 \211\334\232\203\324 \335\202\351 \211\336\232\203\336 \337\202\351 \211\340\232\203\350 \317\202\351 \310\262\211\203\367 \341\342#\202\370 \207" [plist-get :text :kind "aliasName" font-lock-type-face "className" "enumName" "fieldName" nil "interfaceName" "keyword" font-lock-keyword-face "lineBreak" "numericLiteral" "stringLiteral" font-lock-string-face "localName" font-lock-variable-name-face "methodName" "moduleName" "operator" "parameterName" eldoc-highlight-function-argument "propertyName" "punctuation" "space" "text" "typeParameterName" "enumMemberName" font-lock-constant-face "functionName" font-lock-function-name-face "regularExpressionLiteral" propertize face] 8 (#$ . 35115)])
#@42 

(fn DISPLAY-PARTS &optional HIGHLIGHT)
(defalias 'tide-annotate-display-parts #[513 "\300\301\302\303\304\305\306!\307\"\310\311%\"!\207" [tide-join -map make-byte-code 257 "\301\300\"\207" vconcat vector [tide-annotate-display-part] 4 "\n\n(fn PART)"] 10 (#$ . 36550)])
#@28 

(fn PARAMETER HIGHLIGHT)
(defalias 'tide-annotate-signature-parameter #[514 "\300\301\302\303\304\305\306!\307\"\310\311%\312\313\"\"!\207" [tide-join -map make-byte-code 257 "\301\300\"\207" vconcat vector [tide-annotate-display-part] 4 "\n\n(fn PART)" plist-get :displayParts] 10 (#$ . 36833)])
#@37 

(fn SIGNATURE SELECTED-ARG-INDEX)
(defalias 'tide-annotate-signature #[514 "\300\301\302\303\304\"\"!\300\305\301\302\303\306\"\"\307\310\311\312\313\314\315\316\f!\317\"\320\321%\303\n\322\"\"#C\301\302\303	\323\"\"#!\207" [tide-join -map tide-annotate-display-part plist-get :separatorDisplayParts -concat :prefixDisplayParts mapconcat identity -map-indexed make-byte-code 514 "\301\300=\"\207" vconcat vector [tide-annotate-signature-parameter] 6 "\n\n(fn I PARAMETER)" :parameters :suffixDisplayParts] 15 (#$ . 37142)])
#@13 

(fn BODY)
(defalias 'tide-annotate-signatures #[257 "\300\301\"\300\302\"\303\300\304\"8\"\207" [plist-get :selectedItemIndex :argumentIndex tide-annotate-signature :items] 8 (#$ . 37684)])
#@11 

(fn CB)
(defalias 'tide-command:signatureHelp #[257 "\300\301\302\303 \304\305 \306\307 \257\310\311\312\313\314!\315\"\316\317%#\207" [tide-send-command "signatureHelp" :file tide-buffer-file-name :line tide-line-number-at-pos :offset tide-current-offset make-byte-code 257 "\301!\203 \300\302\303\304\"!!\207\303\305\"\211\205# \211\306\230\204\" \307\310\"\210\311\207" vconcat vector [tide-response-success-p tide-annotate-signatures plist-get :body :message "No content available." message "%s" nil] 6 "\n\n(fn RESPONSE)"] 10 (#$ . 37887)])
(defalias 'tide-method-call-p #[0 "\300\301!\206 \300\302!?\205 \303\304!\207" [looking-at "[(,]" "\\sw" looking-back "[(,]\n?\\s-*"] 2])
#@39 

(fn QUICKINFO-OR-COMPLETION-DETAIL)
(defalias 'tide-doc-text #[257 "\300\301\"\206 \302\300\303\"!\207" [plist-get :displayString tide-annotate-display-parts :displayParts] 5 (#$ . 38589)])
#@39 

(fn QUICKINFO-OR-COMPLETION-DETAIL)
(defalias 'tide-doc-documentation #[257 "\300\301\"\211;\203 \211\202 \302!\207" [plist-get :documentation tide-annotate-display-parts] 4 (#$ . 38790)])
#@18 

(fn NAME TEXT)
(defalias 'tide-format-jsdoc #[514 "\300\206 \301!\262\302\303P\304\305#\306\307\"\203 \307\202 \310\307R\207" [s-trim "" propertize "@" face font-lock-keyword-face s-contains\? "\n" " "] 6 (#$ . 38991)])
#@39 

(fn QUICKINFO-OR-COMPLETION-DETAIL)
(defalias 'tide-doc-jsdoc #[257 "\300\301\302\303\304\"\"!\207" [tide-join -map #[257 "\300\301\302\"\301\303\"\"\207" [tide-format-jsdoc plist-get :name :text] 6 "\n\n(fn TAG)"] plist-get :tags] 7 (#$ . 39227)])
#@39 

(fn QUICKINFO-OR-COMPLETION-DETAIL)
(defalias 'tide-construct-documentation #[257 "\211\2052 \301!\302!\303!\304!\203 \304!\203 \2050 \305\306\307D\304!?\205, \307DC#!\266\203\207" [tide-always-show-documentation tide-doc-text tide-doc-documentation tide-doc-jsdoc s-blank\? tide-join -concat "\n\n"] 9 (#$ . 39487)])
#@11 

(fn CB)
(defalias 'tide-command:quickinfo-old #[257 "\300\301\302\303 \304\305 \306\307 \257#\207" [tide-send-command "quickinfo" :file tide-buffer-file-name :line tide-line-number-at-pos :offset tide-current-offset] 9 (#$ . 39825)])
#@11 

(fn CB)
(defalias 'tide-command:quickinfo-full #[257 "\300\301\302\303 \304\305 \306\307 \257#\207" [tide-send-command "quickinfo-full" :file tide-buffer-file-name :line tide-line-number-at-pos :offset tide-current-offset] 9 (#$ . 40069)])
#@11 

(fn CB)
(defalias 'tide-command:quickinfo #[257 "\300\301!\203\n \302!\207\303\304\305\306\307\310!\311\"\312\313%!\207" [tide-unsupported-p #1="quickinfo-full" tide-command:quickinfo-old tide-command:quickinfo-full make-byte-code 257 "\301!\203 \302\303!\210\304\300!\207\300!\207" vconcat vector [tide-command-unknown-p tide-mark-as-unsupported #1# tide-command:quickinfo-old] 3 "\n\n(fn RESPONSE)"] 8 (#$ . 40319)])
(defalias 'tide-eldoc-function #[0 "\301\235\204 \302 \203 \303\304!\210\202 \305\306!\203 \307\310!\210\311\207" [last-command (next-error previous-error) tide-method-call-p tide-command:signatureHelp tide-eldoc-maybe-show looking-at "\\s_\\|\\sw" tide-command:quickinfo #[257 "\300!\203 \301\302\303\304\"!!\207\303\305\"\211\205# \211\306\230\204\" \307\310\"\210\311\207" [tide-response-success-p tide-eldoc-maybe-show tide-doc-text plist-get :body :message "No content available." message "%s" nil] 6 "\n\n(fn RESPONSE)"] nil] 2])
#@13 

(fn TEXT)
(defalias 'tide-eldoc-maybe-show #[257 "\3011 \302 \204 \205 \303\304!\210\304\202 \303!0\207\305\306\"\210\304\207" [eldoc-last-message (debug error) eldoc-display-message-p eldoc-message nil message "eldoc error: %s"] 5 (#$ . 41298)])
#@44 Show documentation of the symbol at point.
(defalias 'tide-documentation-at-point #[0 "\300\301!\207" [tide-command:quickinfo #[257 "\300!\203 \301\302\303\"!\211\203 \304\305\"\202 \306\307!\207\302\310\"\211\205) \306\311\"\210\312\207" [tide-response-success-p tide-construct-documentation plist-get :body tide-display-help-buffer "documentation" message "No documentation available." :message "%s" nil] 5 "\n\n(fn RESPONSE)"]] 2 (#$ . 41560) nil])
(defalias 'tide-remove-tmp-file #[0 "\205 \301!\210\302\211\207" [tide-buffer-tmp-file delete-file nil] 2])
(defalias 'tide-command:reloadfile #[0 "\300\301\302\303 \304\303 F\"\207" [tide-send-command "reload" :file tide-buffer-file-name :tmpfile] 6])
#@20 

(fn BEG END LEN)
(defalias 'tide-handle-change #[771 "\301\211\207" [tide-buffer-dirty t] 5 (#$ . 42283)])
(defalias 'tide-sync-buffer-contents #[0 "\303 \230\204\n \304 \210	\205) \305\n\204 \306\307!\310ed\n\305\311%\210\312\313\314\303 \315\nF\"\207" [tide-active-buffer-file-name tide-buffer-dirty tide-buffer-tmp-file tide-buffer-file-name tide-configure-buffer nil make-temp-file "tide" write-region no-message tide-send-command "reload" :file :tmpfile] 6])
#@24 

(fn FILE-CODE-EDITS)
(defalias 'tide-apply-code-edits #[257 "\212\211\211\2052 \211@\301\302\"r\303\304\"q\210\305\306\301\307\"!!\210\232\203% \310 \210\311\312!\210)\210A\266\202\202 \262)\207" [buffer-file-name plist-get :fileName tide-get-file-buffer t tide-format-regions tide-apply-edits :textChanges basic-save-buffer run-hooks tide-post-code-edit-hook] 9 (#$ . 42760)])
(defalias 'tide-get-flycheck-errors-ids-at-point #[0 "\300\301\302`!\"\207" [-map flycheck-error-id flycheck-overlay-errors-at] 4])
(defalias 'tide-command:getCodeFixes #[0 "\300\301\302\303 \304\305 \306\307 \310\305 \311\307 T\312\313 \257\f\"\207" [tide-send-command-sync "getCodeFixes" :file tide-buffer-file-name :startLine tide-line-number-at-pos :startOffset tide-current-offset :endLine :endOffset :errorCodes tide-get-flycheck-errors-ids-at-point] 14])
#@14 

(fn FIXID)
(defalias 'tide-command:getCombinedCodeFix #[257 "\300\301\302\303\304\305\306\307 DF\310F\"\207" [tide-send-command-sync "getCombinedCodeFix" :scope :type "file" :args :file tide-buffer-file-name :fixId] 9 (#$ . 43616)])
#@12 

(fn FIX)
(defalias 'tide-get-fix-description #[257 "\300\301\"\207" [plist-get :description] 4 (#$ . 43858)])
#@67 Apply a single `FIX', which may apply to several files.

(fn FIX)
(defalias 'tide-apply-codefix #[257 "\300\301\302\"!\207" [tide-apply-code-edits plist-get :changes] 5 (#$ . 43977)])
#@12 

(fn FIX)
(defalias 'tide-apply-codefix-for-all-in-file #[257 "\300!\210\301\302\"\211\2054 \303!\211\2052 \304!\203\" \300\301\305\"!\2022 \301\306\"\211\2050 \307\310\"\210\311\262\262\207" [tide-apply-codefix plist-get :fixId tide-command:getCombinedCodeFix tide-response-success-p :body :message message "%s" nil] 7 (#$ . 44168)])
#@25 

(fn FIXES CODEFIX-FN)
(defalias 'tide-apply-codefixes #[514 "G\300U\203 \301\302!\207G\303U\203 \211@!\207\211\304\305\306\307\310!$!\207" [0 message "No code-fixes available." 1 tide-select-item-from-list "Select fix: " tide-get-fix-description tide-can-use-popup-p code-fix] 9 (#$ . 44519)])
#@19 

(fn CODEFIX-FN)
(defalias 'tide-code-fix #[257 "\300 \204	 \301\302!\210\303 \304!\203 \305\306\"\307\"\262\202. \305\310\"\211\205, \311\312\"\210\313\262\207" [tide-get-flycheck-errors-ids-at-point error "No errors available at current point." tide-command:getCodeFixes tide-response-success-p plist-get :body tide-apply-codefixes :message message "%s" nil] 6 (#$ . 44827)])
#@179 Apply code fix for the error at point.

When invoked with a prefix arg, apply code fix for all the errors
in the file that are similar to the error at point.

(fn &optional ARG)
(defalias 'tide-fix #[256 "\211\203 \300\301!\207\300\302!\207" [tide-code-fix tide-apply-codefix-for-all-in-file tide-apply-codefix] 3 (#$ . 45222) "P"])
(defalias 'tide-command:organizeImports #[0 "\300\301\302\303\304\305\306\307 DFD\"\207" [tide-send-command-sync "organizeImports" :scope :type "file" :args :file tide-buffer-file-name] 8])
#@31 Organize imports in the file.
(defalias 'tide-organize-imports #[0 "\300 \301!\203 \302\303!\2024 \304!\203$ \305\306\"\211\205 \307!\262\2024 \305\310\"\211\2052 \311\312\"\210\313\262\207" [tide-command:organizeImports tide-command-unknown-p tide-tsserver-feature-not-supported "2.8" tide-response-success-p plist-get :body tide-apply-code-edits :message message "%s" nil] 5 (#$ . 45752) nil])
(defalias 'tide-location-or-range #[0 "\300 \203 \301 \302 \303\304!\305\306!\307\304!\310\306!\257\207\311\304 \312\313 F\207" [use-region-p region-beginning region-end :startLine tide-line-number-at-pos :startOffset tide-offset :endLine :endOffset :line :offset tide-current-offset] 11])
#@24 

(fn REFACTOR ACTION)
(defalias 'tide-command:getEditsForRefactor #[514 "\300\301\302\303\304\305\306 \257\307 \"\"\207" [tide-send-command-sync "getEditsForRefactor" append :refactor :action :file tide-buffer-file-name tide-location-or-range] 11 (#$ . 46462)])
(defalias 'tide-command:getApplicableRefactors #[0 "\300\301\302\303\304 D\305 \"\"\207" [tide-send-command-sync "getApplicableRefactors" append :file tide-buffer-file-name tide-location-or-range] 5])
#@17 

(fn REFACTOR)
(defalias 'tide-get-refactor-description #[257 "\300\301\"\207" [plist-get :description] 4 (#$ . 46936)])
#@34 

(fn APPLICABLE-REFACTOR-INFOS)
(defalias 'tide-select-refactor #[257 "\300\301\"\302\303\304\305\306!$\207" [-mapcat #[257 "\300\301\302\303\304\305!\306\"\307\310%\311\312\"\"\207" [-map make-byte-code 257 "\301\302\303\"\304\302\300\303\"\305\302\300\305\"\306\302\306\"\257\207" vconcat vector [:action plist-get :name :refactor :inlineable :description] 11 "\n\n(fn REFACTOR-ACTION-INFO)" plist-get :actions] 8 "\n\n(fn APPLICABLE-REFACTOR-INFO)"] tide-select-item-from-list "Select refactor: " tide-get-refactor-description tide-can-use-popup-p refactor] 8 (#$ . 47065)])
#@17 

(fn SELECTED)
(defalias 'tide-apply-refactor #[257 "\300\301\302\"\301\303\"\"\304!\203? \305 \210\306\307\310\311#!\210\307\310\312#\211\205: r\313\307\310\314#!q\210\315!\210\316 \2059 \317 )\262\202O \301\320\"\211\205M \321\322\"\210\323\262\207" [tide-command:getEditsForRefactor plist-get :refactor :action tide-response-success-p deactivate-mark tide-apply-code-edits tide-plist-get :body :edits :renameLocation tide-get-file-buffer :renameFilename tide-move-to-location tide-can-rename-symbol-p tide-rename-symbol :message message "%s" nil] 8 (#$ . 47659)])
#@42 Refactor code at point or current region
(defalias 'tide-refactor #[0 "\300 \301!\203 \302\303!\202< \304!\203, \305\306\"\211\203$ \307\310!!\202' \311\312!\262\202< \305\313\"\211\205: \311\314\"\210\315\262\207" [tide-command:getApplicableRefactors tide-command-unknown-p tide-tsserver-feature-not-supported "2.4" tide-response-success-p plist-get :body tide-apply-refactor tide-select-refactor message "No refactors available." :message "%s" nil] 5 (#$ . 48244) nil])
#@65 Regexp matching a tslint flag disabling rules on the next line.
(defconst tide-tslint-disable-next-line-regexp "\\s *//\\s *tslint\\s *:\\s *disable-next-line\\s *:\\(.*\\)" (#$ . 48731))
#@709 Add a tslint flag to disable rules generating errors at point.

This function adds or modifies a flag of this form to the
previous line:

  // tslint:disable-next-line:[rule1] [rule2] [...]

The line will be indented according to the current indentation
settings.  This function generates rule1, rule2 to cover all the
errors present at point.

If the previous line does not already contain a disable-next-line
flag, a new line is added to hold the new flag.  If the previous
line already contains a disable-next-line flag, the rule is added
to the flag.  Note that this function does not preserve the
formatting of the already existing flag.  The resulting flag will
always be formatted as described above.
(defalias 'tide-add-tslint-disable-next-line #[0 "\301\302\303 \"`\205F \212\304y\305=\203, \306!\203, \307\310\311!!`\312 |\210\313\"\262\210\2026 \211b\210\314 \210\315\311!\210\316\317\320\321#\266\202\261\210\322 )\207" [tide-tslint-disable-next-line-regexp delq nil tide-get-flycheck-errors-ids-at-point -1 0 looking-at split-string match-string 1 point-at-eol append beginning-of-line open-line "// tslint:disable-next-line:" " " mapconcat identity typescript-indent-line] 9 (#$ . 48926) nil])
#@13 

(fn NAME)
(defalias 'tide-completion-annotation #[257 "\205 \301!\211\203 \302\303\"@\202\304\305\306\307#\310\"\211\311\232\203% \312\202\211\313\232\203/ \314\202\211\315\232\2039 \316\202\211\317\232\203C \320\202\211\321\232\203M \322\202\211\323\232\203W \324\202\211\325\232\203a \326\202\211\327\232\203k \326\202\211\330\232\203u \331\202\211\332\232\203 \331\202\211\333\232\203\211 \334\202\211\335\232\203\223 \334\202\211\336\232\203\235 \334\202\211\337\232\203\247 \340\202\211\341\232\203\261 \342\202\211\343\232\203\273 \334\202\211\344\232\203\305 \345\202\211\346\232\203\317 \334\202\211\347\232\203\331 \340\202\211\350\232\203\343 \322\202\211\351\232\203\355 \322\202\211\352\232\203\367 \353\202\211\354\232\203\355\202\211\356\232\203\342\202\211\357\232\203\353\202\360\262\207" [tide-completion-detailed tide-completion-meta split-string "\n" plist-get get-text-property 0 completion :kind "keyword" " k" "module" " M" "class" " C" "interface" " I" "type" " T" "enum" " E" "var" " v" "local var" "function" " ƒ" "local function" "method" " m" "getter" "setter" "property" " p" "constructor" " c" "call" "index" " i" "construct" "parameter" "type parameter" "primitive type" "label" " l" "alias" " A" "const" "let" nil] 7 (#$ . 50149)])
#@67 Get the sorting order of a COMPLETION candidate.

(fn COMPLETION)
(defalias 'tide-completion-rank #[257 "\300\301\302\"\303\"\206 \304\207" [-elem-index plist-get :kind ("parameter" "local function" "local var" "let" "var" "const" "function" "class" "method" "getter" "setter") 100] 5 (#$ . 51487)])
#@80 A helper function that composes two comparators CMP1 and CMP2.

(fn CMP1 CMP2)
(defalias 'tide-compose-comparators #[514 "\300\301\302\303\304\"\305\"\306\307%\207" [make-byte-code 514 "\300\"\206 \300\"?\205 \301\"\207" vconcat vector [] 5 "\n\n(fn A B)"] 9 (#$ . 51795)])
#@164 Compare COMPLETION-A and COMPLETION-B based on their `sortText' property.
This function is used for the basic completions sorting.

(fn COMPLETION-A COMPLETION-B)
(defalias 'tide-compare-completions-basic #[514 "\300\301\"\300\301\"\231\207" [plist-get :sortText] 6 (#$ . 52088)])
#@92 Compare COMPLETION-A and COMPLETION-B based on their kind.

(fn COMPLETION-A COMPLETION-B)
(defalias 'tide-compare-completions-by-kind #[514 "\300\301\"\300\301\"\230\203 \302!\302!W\202 \211\303\230\207" [plist-get :kindModifiers tide-completion-rank "declare"] 7 (#$ . 52379)])
(defalias 'tide-completion-prefix #[0 "\300 \203 \301\302!\203 \303\304\305\"\306B\207\307\310\305\"\207" [tide-in-string-p looking-back "import[[:space:]]+\\(?:\"\\|'\\)[^\"']*\\|from[[:space:]]+\\(?:\"\\|'\\)[^\"']*\\|import(\\(?:\"\\|'\\)[^\"']*\\|require(\\(?:\"\\|'\\)[^\"']*" company-grab "\\(?:/\\|\"\\|'\\)\\([^\"']*\\)" 1 t company-grab-symbol-cons "\\."] 3])
#@15 

(fn PREFIX)
(defalias 'tide-member-completion-p #[257 "\212\211G\206 \300[u\210`eV\205 \301`\206 `Sf!\302\232)\207" [1 string "."] 3 (#$ . 53044)])
#@41 

(fn COMPLETIONS PREFIX FILE-LOCATION)
(defalias 'tide-annotate-completions #[771 "\301\302\303\304\305\306\"\307\"\310\311%\312\302\303\313\305\306	!\314\"\315\311%\"\203, \316\317\320\"\202- \317\321\"\262\262\"\207" [tide-sort-completions-by-kind -map make-byte-code 257 "\302\303\"\304\305\306\307\301%\210\304\305\306\310%\210\304\305\306\311\300%\210\211\207" vconcat vector [plist-get :name put-text-property 0 1 file-location completion prefix] 8 "\n\n(fn COMPLETION)" -filter "\303\300\304\305\"	#\205 \n?\206 \304\306\"\307\232?\207" [tide-completion-ignore-case tide-filter-out-warning-completions string-prefix-p plist-get :name :kind "warning"] 6 tide-compose-comparators tide-compare-completions-basic tide-compare-completions-by-kind -sort] 12 (#$ . 53203)])
#@18 

(fn PREFIX CB)
(defalias 'tide-command:completions #[514 "\301\302 \303\304 \305\306 GZ\307\310BBBBBBBBC\311 \204/ \312!\204/ \211\313\242\314D\"\240\210\315\316\242\317\320\321\322\323\n\n\n#\324\"\325\326%#\207" [tide-completion-enable-autoimport-suggestions :file tide-buffer-file-name :line tide-line-number-at-pos :offset tide-current-offset :includeExternalModuleExports (:includeInsertTextCompletions t) tide-in-string-p tide-member-completion-p -concat :prefix tide-send-command "completions" make-byte-code 257 "\301\303!\205 \304\305\306\"\300\302\242#!\207" vconcat vector [tide-response-success-p tide-annotate-completions plist-get :body] 6 "\n\n(fn RESPONSE)"] 14 (#$ . 54005)])
#@13 

(fn NAME)
(defalias 'tide-command:completionEntryDetails #[257 "\300\301\302\303#\304\"\211\203 \305\306\307\304F!D\202 \305CD\310\301\302\311#\"\312\313\"\211\2054 \314!\2054 \211\262\207" [plist-get get-text-property 0 completion :source :entryNames vector :name -concat file-location tide-send-command-sync "completionEntryDetails" tide-response-success-p] 8 (#$ . 54720)])
#@13 

(fn NAME)
(defalias 'tide-completion-entry-details #[257 "\300\301\302#\211\203 \211\202 \303!\304\301\305\302%\210\211\262\207" [get-text-property 0 completion-detail tide-command:completionEntryDetails put-text-property 1] 9 (#$ . 55117)])
#@13 

(fn NAME)
(defalias 'tide-completion-meta #[257 "\300!\211\205 \301\302\"@\211\205 \303!\262\207" [tide-completion-entry-details plist-get :body tide-doc-text] 5 (#$ . 55375)])
#@13 

(fn NAME)
(defalias 'tide-completion-doc-buffer #[257 "\300!\211\205 \301\302\"@\211\205 \303\304\305!\"\262\207" [tide-completion-entry-details plist-get :body tide-make-help-buffer "documentation" tide-construct-documentation] 7 (#$ . 55566)])
#@13 

(fn NAME)
(defalias 'tide-post-completion #[257 "\300\301\302#\300\301\303#\304\305\"\211\203: \306\307!!\203: \310G!\210\304\311\"\211\2036 c\210\312\313\314D\"!\210\2029 c\210\210\210\304\315\"\211\205e \316!\211\205c \304\317\"@\211\205a \304\320\"\211\205_ \321\322\"\262\262\262\262\207" [get-text-property 0 completion prefix plist-get :insertText looking-back rx-to-string backward-delete-char :replacementSpan tide-apply-edit tide-combine-plists :newText :hasAction tide-completion-entry-details :body :codeActions tide-apply-codefixes tide-apply-codefix] 10 (#$ . 55826)])
#@44 

(fn COMMAND &optional ARG &rest IGNORED)
(defalias 'company-tide #[641 "\303\304\"\203 \305\306!\207\303\307\"\2037 \310\300!\2056 \205\213 \311\312	\"\205\213 \313 \205\213 \314\315 8?\205\213 \316 \2066 \317\207\303\320\"\203N \321\322\323\324\325\326!\327\"\314\330%B\207\303\331\"\203W \332\207\303\333\"\203` \n\207\303\334\"\203k \335!\207\303\336\"\203v \337!\207\303\340\"\203\201 \341!\207\303\342\"\205\213 \343!\207" [tide-mode tide-supported-modes tide-completion-ignore-case eql interactive company-begin-backend company-tide prefix boundp -any-p derived-mode-p tide-current-server 4 syntax-ppss tide-completion-prefix stop candidates :async make-byte-code 257 "\301\300\"\207" vconcat vector [tide-command:completions] "\n\n(fn CB)" sorted t ignore-case meta tide-completion-meta annotation tide-completion-annotation doc-buffer tide-completion-doc-buffer post-completion tide-post-completion] 10 (#$ . 56435) (byte-code "\300C\207" [interactive] 1)])
(eval-after-load 'company #[0 "\301\302\"\203	 \207\302B\211\207" [company-backends memql company-tide] 3])
#@100 Override for `next-error-function' for use in tide-reference-mode buffers.

(fn N &optional RESET)
(defalias 'tide-next-reference-function #[513 "\300\301!\211\205) r\211q\210\203 eb\210\302V\203  \303`\"\210\202& \304`[\"\210\305 )\207" [get-buffer "*tide-references*" 0 tide-find-next-reference tide-find-previous-reference tide-goto-reference] 6 (#$ . 57540) "p"])
#@39 Move to next reference.

(fn POS ARG)
(defalias 'tide-find-next-reference #[514 "\211\300_\262\301\302\"\204 \211S\262\211\303\211W\203/ \211\304\302\"\262\204' \305\306!\210\210\211T\262\202 \266b\207" [2 get-text-property tide-reference 0 next-single-property-change error "Moved past last reference"] 8 (#$ . 57919) "d\np"])
#@48 Move back to previous reference.

(fn POS ARG)
(defalias 'tide-find-previous-reference #[514 "\211\300_\301\211W\203! \211\302\303\"\262\204 \304\305!\210\210\211T\262\202 \266b\207" [2 0 previous-single-property-change tide-reference error "Moved back before first reference"] 8 (#$ . 58265) "d\np"])
#@41 Jump to reference location in the file.
(defalias 'tide-goto-reference #[0 "\300`\301\"\211\205 \302\303\304#\207" [get-text-property tide-reference tide-jump-to-filespan nil t] 5 (#$ . 58582) nil])
(defvar tide-references-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\307#\210\211\207" [make-sparse-keymap define-key "n" tide-find-next-reference "p" tide-find-previous-reference "" tide-goto-reference [mouse-1]] 5))
(defvar tide-references-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [tide-references-mode-hook variable-documentation put "Hook run after entering tide-references mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp tide-references-mode-map definition-name tide-references-mode] 4)
(defvar tide-references-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" [tide-references-mode-abbrev-table tide-references-mode-map variable-documentation put purecopy "Keymap for `tide-references-mode'." boundp tide-references-mode-syntax-table definition-name tide-references-mode (lambda (#1=#:def-tmp-var) (defvar tide-references-mode-syntax-table #1#)) make-syntax-table "Syntax table for `tide-references-mode'." (lambda (#1#) (defvar tide-references-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `tide-references-mode'." derived-mode-parent special-mode] 5)
#@249 Major mode for tide references list.

\{tide-references-mode-map}

In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `tide-references-mode-hook', as the final or penultimate step
during initialization.
(defalias 'tide-references-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\331)\332\333!\207" [delay-mode-hooks major-mode mode-name tide-references-mode-map tide-references-mode-syntax-table tide-references-mode-abbrev-table make-local-variable t special-mode tide-references-mode "tide-references" 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 tide-next-reference-function run-mode-hooks tide-references-mode-hook local-abbrev-table next-error-function] 5 (#$ . 60330) nil])
(defalias 'tide-command:references #[0 "\300\301\302\303 \304\305 \306\307 \257\"\207" [tide-send-command-sync "references" :file tide-buffer-file-name :line tide-line-number-at-pos :offset tide-current-offset] 8])
#@28 

(fn REFERENCE LINE-TEXT)
(defalias 'tide-annotate-line #[514 "\300\301\302#S\300\303\302#S\304\305\306%\210\304\307\310%\210\304\311\312%\210\304\313%\207" [tide-plist-get :start :offset :end put-text-property face tide-match mouse-face highlight help-echo "mouse-1: Visit the reference." tide-reference] 10 (#$ . 61638)])
#@133 Create a buffer with the given REFERENCES.

Assumes references are grouped by file name and sorted by line
number.

(fn REFERENCES)
(defalias 'tide-insert-references #[257 "\302\303!\304\305 \306rq\210\307 \210\310 \210\203\235 @\311\312\"\313\"\314\315\316#\311\317\"\232\204? \262\320\321\322#\323\261\210\320\324\325\"\321\326#\327\261\210\330\"\210\nA@\211\205w \311\312\"\211\205u \314\315\316#\211\205s \232\205s \211=\262\262\262\203\216 \330A@\"\210\n\211A\262\f\210\202P \211\323\261\266\211A\262\210\202 eb\210p*\207" [tab-width inhibit-read-only get-buffer-create "*tide-references*" t tide-project-root nil erase-buffer tide-references-mode plist-get :file file-relative-name tide-plist-get :start :line :lineText propertize face tide-file "\n" format "%5d" tide-line-number ":" tide-annotate-line] 17 (#$ . 61990)])
#@24 

(fn ORIGINAL SECOND)
(defalias 'tide-is-identical-reference #[514 "\300\301\"\300\301\"\232\205 \302\303\304#\302\303\304#=\207" [plist-get :file tide-plist-get :start :line] 7 (#$ . 62867)])
#@19 

(fn REFERENCES)
(defalias 'tide-find-single-usage #[257 "\300C\300C\300C\301\302\303\304\305\306			#\307\"\310\311%\"\210\211\242?\205- \242\205- \242\205- \242\207" [nil -each make-byte-code 257 "\303\304\"\305=\203  \300\242\306=\204 \307\300\242\"\203 \300\240\207\302\305\240\207\301\242\306=\204/ \307\301\242\"\2033 \301\240\207\302\305\240\207" vconcat vector [plist-get :isDefinition t nil tide-is-identical-reference] 4 "\n\n(fn REFERENCE)"] 14 (#$ . 63072)])
#@45 List all references to the symbol at point.
(defalias 'tide-references #[0 "\300 \301!\203, \302\303\304#\305!\211\203  \306\307!\210\310\311\312#\202% \313\314!!\262\262\202< \315\316\"\211\205: \306\317\"\210\311\262\207" [tide-command:references tide-response-success-p tide-plist-get :body :refs tide-find-single-usage message "This is the only usage." tide-jump-to-filespan nil t display-buffer tide-insert-references plist-get :message "%s"] 7 (#$ . 63563) nil])
#@33 

(fn NAVTREE &optional PARENT)
(defalias 'tide-build-flat-imenu-index #[513 "\301\302\"\301\303\"\203 Q\202 \211\211\304\305\301\306\"\307\310#Q\311\301\211\312\"@\313\"!B\203J \314C\315\316\317\320\321\322\323\n!\324\"\325\326%\"!\"\202L \211C\207" [imenu-level-separator plist-get :childItems :text " " propertize :kind face tide-imenu-type-face tide-span-to-position :spans :start -concat -flatten -map make-byte-code 257 "\301\300\"\207" vconcat vector [tide-build-flat-imenu-index] 4 "\n\n(fn I)"] 16 (#$ . 64048)])
#@16 

(fn NAVTREE)
(defalias 'tide-build-imenu-index #[257 "\300\301\"\300\302\"\211\303\304\300\305\"\306\307#Q\310\300\211\311\"@\312\"!B\2032 \313C\314\315\"\"B\2023 \211\207" [plist-get :childItems :text " " propertize :kind face tide-imenu-type-face tide-span-to-position :spans :start -concat -map tide-build-imenu-index] 10 (#$ . 64594)])
(defalias 'tide-command:navbar #[0 "\300\301\302\303 D\"\207" [tide-send-command-sync "navtree" :file tide-buffer-file-name] 4])
(defalias 'tide-imenu-index #[0 "\301 \302!\203# \303\304\305#\203 \306\307\310\"!\202 \311\312\"\262\2023 \313\314\"\211\2051 \315\316\"\210\317\262\207" [tide-imenu-flatten tide-command:navbar tide-response-success-p tide-plist-get :body :childItems -flatten -map tide-build-flat-imenu-index mapcar tide-build-imenu-index plist-get :message message "%s" nil] 6])
(defalias 'tide-command:rename #[0 "\300\301\302\303 \304\305 \306\307 \257\"\207" [tide-send-command-sync "rename" :file tide-buffer-file-name :line tide-line-number-at-pos :offset tide-current-offset] 8])
#@28 

(fn LOCATION NEW-SYMBOL)
(defalias 'tide-rename-symbol-at-location #[514 "\301\302\"\212r\303!q\210\304\305\306\301\307\"\"\310\311\312\313\314!\315\"\316\317%\"\210\232\203, \320 \210\301\307\"G*\207" [buffer-file-name plist-get :file tide-get-file-buffer -each -map #[257 "\300\301\302\"!\210\303 B\207" [tide-move-to-location plist-get :start point-marker] 5 "\n\n(fn FILESPAN)"] :locs make-byte-code 257 "\211@Ab\210\301\302\303\304#\302\305\304#Z!\210\300c\207" vconcat vector [delete-char tide-plist-get :end :offset :start] 9 "\n\n(fn POINTER)" basic-save-buffer] 11 (#$ . 65666)])
#@19 

(fn OLD-SYMBOL)
(defalias 'tide-read-new-symbol #[257 "\301\302\303\"\"\304\305\306\307#)\266\203\203 \310\311!\202 \211\207" [inhibit-changing-match-data read-from-minibuffer format "Rename %s to: " "\\`[ 	\n]*\\'" nil t string-match error "Invalid name"] 9 (#$ . 66278)])
(defalias 'tide-can-rename-symbol-p #[0 "\300 \301!\205 \302\303\304\305$\306=\207" [tide-command:rename tide-response-success-p tide-plist-get :body :info :canRename t] 6])
#@25 Rename symbol at point.
(defalias 'tide-rename-symbol #[0 "\300 \301!\203V \302\303\304\305$\306=\203 \307\310\302\303\304\311$\"\202f \302\303\304\312$\313!\302\303\314#\315C\316\317\320\"\321\"\244\322\323\324\325\326\n	\"\327\"\330\331%\"\210\307\332\242\"\266\205\202f \333\334\"\211\205d \307\310\"\210\335\262\207" [tide-command:rename tide-response-success-p tide-plist-get :body :info :canRename :json-false message "%s" :localizedErrorMessage :displayName tide-read-new-symbol :locs 0 #[257 "\300\301\302 !\303\304\"\"\207" [file-equal-p expand-file-name tide-buffer-file-name plist-get :file] 6 "\n\n(fn LOC)"] -each -reject -select make-byte-code 257 "\301\211\242\302\300\"\\\240\207" vconcat vector [tide-rename-symbol-at-location] 6 "\n\n(fn LOC)" "Renamed %d occurrences." plist-get :message nil] 15 (#$ . 66747) nil])
#@16 

(fn OLD NEW)
(defalias 'tide-command:getEditsForFileRename #[514 "\300\301\302\303\304\257\"\207" [tide-send-command-sync "getEditsForFileRename" :oldFilePath :newFilePath :file] 10 (#$ . 67607)])
#@61 Rename current file and all it's references in other files.
(defalias 'tide-rename-file #[0 "\300 \301 \302!\203 \303!\204 \304\305\"\210\306\307\310!\311%\312!\203* \304\313\"\210\303!\2035 \304\314\"\210\315\316!\316!\"\317!\203I \320\321!\202f \322!\203V \323\324\"\202f \323\325\"\211\205d \326\327\"\210\311\262\330 \210\331\310!\332\"\210\333\"\210\334!\210\335!\210\336\311!\210\211\203\211 \337!\210\340 \210\326\341\302!#\266\202\262\207" [buffer-name tide-buffer-file-name file-name-nondirectory file-exists-p error "Buffer '%s' is not visiting a file." read-file-name "New name: " file-name-directory nil get-file-buffer "A buffer named '%s' already exists." "A file named '%s' already exists." tide-command:getEditsForFileRename expand-file-name tide-command-unknown-p tide-tsserver-feature-not-supported "2.9" tide-response-success-p plist-get :body :message message "%s" tide-cleanup-buffer mkdir t rename-file rename-buffer set-visited-file-name set-buffer-modified-p tide-apply-code-edits tide-configure-buffer "Renamed '%s' to '%s'."] 11 (#$ . 67817) nil])
#@57 Before save hook to format the buffer before each save.
(defalias 'tide-format-before-save #[0 "\301\300!\205\f \205\f \302 \207" [tide-mode boundp tide-format] 2 (#$ . 68929) nil])
#@38 Format the current region or buffer.
(defalias 'tide-format #[0 "\300 \203\f \301\302 \303 \"\207\301ed\"\207" [use-region-p tide-format-region region-beginning region-end] 3 (#$ . 69118) nil])
#@285 Reformat `STR' to only contain line-shift formats expected by Emacs.

When inserting text in an Emacs-buffer Emacs only ever expects 

for newlines, no matter what the actual encoding of the file
is.  Inserting anything else causes issues with formatting and
code-analysis.

(fn STR)
(defalias 'tide-normalize-lineshift #[257 "\300\301\302#\262\303\304\305#\262\207" [replace-regexp-in-string "\n" "\n" subst-char-in-string 13 10] 5 (#$ . 69319)])
#@72 Insert `STR' into the buffer, but normalize the line-enings.

(fn STR)
(defalias 'tide-insert #[257 "\300!c\207" [tide-normalize-lineshift] 3 (#$ . 69778)])
#@13 

(fn EDIT)
(defalias 'tide-apply-edit #[257 "\300\301\302\"!b\210`\300\301\303\"!|\210\304 \305\301\306\"!\210\211\304 B\207" [tide-location-to-point plist-get :start :end point-marker tide-insert :newText] 6 (#$ . 69942)])
#@14 

(fn EDITS)
(defalias 'tide-apply-edits #[257 "\212\300\301\237\")\207" [-map #[257 "\300!\207" [tide-apply-edit] 3 "\n\n(fn EDIT)"]] 4 (#$ . 70176)])
#@18 

(fn START END)
(defalias 'tide-format-region #[514 "\300\301\302\303 \304\305!\306\307	!\310\305\n!\311\307\f!\257\n\"\312!\203+ \313\314\315\"!\202; \314\316\"\211\2059 \317\320\"\210\321\262\207" [tide-send-command-sync "format" :file tide-buffer-file-name :line tide-line-number-at-pos :offset tide-offset :endLine :endOffset tide-response-success-p tide-apply-edits plist-get :body :message message "%s" nil] 15 (#$ . 70336)])
#@15 

(fn RANGES)
(defalias 'tide-format-regions #[257 "\300\301\302\303\"\"\304\305!\306!\"\207" [-sort < -mapcat #[257 "\300@!\300A!D\207" [marker-position] 4 "\n\n(fn RANGE)"] tide-format-region -min -max] 6 (#$ . 70785)])
(defalias 'tide-command:docCommentTemplate #[0 "\301\302\303\304\305 \306\307 \257\"\207" [buffer-file-name tide-send-command-sync "docCommentTemplate" :file :line tide-line-number-at-pos :offset tide-current-offset] 8])
#@40 Insert JSDoc comment template at point
(defalias 'tide-jsdoc-template #[0 "\300 \301!\203 \212\302\303\304\305#!\210)\303\304\306#u\202+ \307\310\"\211\205) \311\312\"\210\313\262\207" [tide-command:docCommentTemplate tide-response-success-p tide-insert tide-plist-get :body :newText :caretOffset plist-get :message message "%s" nil] 6 (#$ . 71241) nil])
(defvar tide-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\211\207" [make-sparse-keymap define-key [134217774] tide-jump-to-definition [134217772] tide-jump-back] 5))
(defalias 'tide-configure-buffer #[0 "\301 \302 \210\303 \207" [tide-active-buffer-file-name tide-buffer-file-name tide-command:openfile tide-command:configure] 1])
(defalias 'tide-cleanup-buffer #[0 "\3001\n \301 0\202 \210\202 \210\3021 \303 0\207\210\304\207" [(error) tide-command:closefile (error) tide-remove-tmp-file nil] 1])
#@38 Setup `tide-mode' in current buffer.
(defalias 'tide-setup #[0 "\306	\"\203 \307\310\311\312	#\313#\210\n;\204 \314\315 \210\316\317!\210\320\304!\210\321\320\305!\210\314\320\322!\210\323\324 \210\205A \325 \205A \326\327!\207" [emacs-version tide--minimal-emacs buffer-file-name tide-require-manual-setup eldoc-documentation-function imenu-auto-rescan version< display-warning tide format "Tide requires Emacs >= %s, you are using %s." :error t tide-start-server-if-required tide-mode 1 make-local-variable tide-eldoc-function imenu-create-index-function tide-imenu-index tide-configure-buffer tide-buffer-file-name tide-command:projectInfo #[257 "\300!\203 \301\302\303\304\305#\"\205) \306\307\310\311 \"!\207\312\313\"\211\205' \306\314\"\210\315\262\207" [tide-response-success-p string-prefix-p "/dev/null/inferredProject" tide-plist-get :body :configFileName message format "'%s' is not part of a project, add it to the files array in tsconfig.json" tide-buffer-file-name plist-get :message "%s" nil] 7 "\n\n(fn RESPONSE)"]] 6 (#$ . 72130) nil])
#@87 Non-nil if Tide mode is enabled.
Use the command `tide-mode' to change this variable.
(defvar tide-mode nil (#$ . 73206))
(make-variable-buffer-local 'tide-mode)
#@102 Minor mode for Typescript Interactive Development Environment.

\{tide-mode-map}

(fn &optional ARG)
(defalias 'tide-mode #[256 "\301 \302=\203 ?\202 \303!\304V\211\203G \305\306\307\310\311$\210\305\306\312\310\311$\210\305\313\314\310\311$\210\305\315\316\310\311$\210\305\317\320\310\311$\210\321\322!\203h \323\322!\210\202h \324\306\307\311#\210\324\306\312\311#\210\324\313\314\311#\210\324\315\316\311#\210\324\317\320\311#\210\316 \210\325\326\203r \327\202s \330\"\210\331\332!\203\227 \301 \203\207 \211\301 \232\203\227 \333\334\335\203\222 \336\202\223 \337#\266\210\340 \210\207" [tide-mode current-message toggle prefix-numeric-value 0 add-hook after-save-hook tide-sync-buffer-contents nil t tide-auto-compile-file after-change-functions tide-handle-change kill-buffer-hook tide-cleanup-buffer hack-local-variables-hook tide-configure-buffer commandp typescript-insert-and-indent eldoc-add-command remove-hook run-hooks tide-mode-hook tide-mode-on-hook tide-mode-off-hook called-interactively-p any " in current buffer" message "Tide mode %sabled%s" "en" "dis" force-mode-line-update] 8 (#$ . 73375) (byte-code "\206 \301C\207" [current-prefix-arg toggle] 1)])
(defvar tide-mode-hook nil)
(byte-code "\301\302N\204\f \303\301\302\304#\210\305\306\307\310\211%\207" [tide-mode-map tide-mode-hook variable-documentation put "Hook run after entering or leaving `tide-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode tide-mode " tide" nil] 6)
#@11 

(fn CB)
(defalias 'tide-command:geterr #[257 "\301C\301C\301C\302\303\304\305\306$\307\"\310$\311\312\313\314 D\302\315\316\305\306\n\n#\317\"\320\321%#\210\311\322\313\314 D\302\315\316\305\306\n\n#\323\"\320\321%#\210\203Y \324\242\325\301#\240\202q \311\326\313\314 D\302\315\327\305\306\n\n#\330\"\320\321%#\262\207" [tide-disable-suggestions nil make-byte-code 0 "\302\242?\2059 \303\242\203 \302\304\240\210\300\303\242!\207\305\301\242\306\"\2059 \305\301\242\307\"\2059 \305\301\242\310\"\2059 \302\304\240\210\300\311\301\242C\312BB!\207" vconcat vector [t plist-member :syntaxDiag :semanticDiag :suggestionDiag :body (:success t)] 4 tide-send-command "syntacticDiagnosticsSync" :file tide-buffer-file-name 257 "\303!\203 \300\304\300\242\305\306\307\"#\240\210\202 \301\240\210\302 \207" [tide-response-success-p plist-put :syntaxDiag plist-get :body] 8 "\n\n(fn RESPONSE)" "semanticDiagnosticsSync" [tide-response-success-p plist-put :semanticDiag plist-get :body] plist-put :suggestionDiag "suggestionDiagnosticsSync" "\303!\203 \300\304\300\242\305\306\307\"#\240\210\202+ \310!\203' \300\304\300\242\305\311#\240\210\202+ \301\240\210\302 \207" [tide-response-success-p plist-put :suggestionDiag plist-get :body tide-command-unknown-p nil]] 16 (#$ . 74950)])
#@25 

(fn RESPONSE CHECKER)
(defalias 'tide-parse-error #[514 "\300\301\302\303\304\305!\306\"\307\310%\311\312\"@\313\314\315\"\314\316\"\314\317\"#\262\"\207" [-map make-byte-code 257 "\301\302\"\301\303\"\304\301\305\"\"\301\306\"\307\230\203 \310\202 \311\301\312\"\301\313\"\2032 \211\314\315\316\317#P\262\320\321\322\323	%\210\324\325p\300\326 	\301\327\"\330&\n\207" vconcat vector [plist-get :start :line tide-column :offset :category "suggestion" info error :text :relatedInformation propertize " ⮐" face font-lock-warning-face put-text-property 0 1 diagnostic record flycheck-error buffer-file-name :code nil] 18 "\n\n(fn DIAGNOSTIC)" tide-plist-get :body -concat plist-get :syntaxDiag :semanticDiag :suggestionDiag] 11 (#$ . 76266)])
#@34 

(fn CALLBACK CHECKER RESPONSE)
(defalias 'tide-flycheck-send-response #[771 "\3001 \301\302\"\"0\207\303\304!\"\207" [(error) finished tide-parse-error errored error-message-string] 8 (#$ . 77045)])
#@25 

(fn CHECKER CALLBACK)
(defalias 'tide-flycheck-start #[514 "\300\301\302\303\304\305\"\306\"\307\310%!\207" [tide-command:geterr make-byte-code 257 "\302!\203	 \303 \210\304!\203 \305\301\300#\207\301\306\307\310\"\"\207" vconcat vector [tide-command-unknown-p tide-tsserver-version-not-supported tide-response-success-p tide-flycheck-send-response errored plist-get :message] 6 "\n\n(fn RESPONSE)"] 10 (#$ . 77258)])
#@17 

(fn FILESPAN)
(defalias 'tide-make-clickable-filespan #[257 "\300\301\302\303\"!\304\305\306\307\310#!Q\311\312\313\314\315\316 \317\320\321#\210\317\322\321#\210\317\323\321#\210\317\324\325#\210\211\262\326	&	\207" [propertize file-name-nondirectory plist-get :file ":" number-to-string tide-plist-get :start :line face link help-echo "mouse-2: go to this location" keymap make-sparse-keymap define-key [mouse-2] tide-goto-error [mouse-1] "" [follow-link] mouse-face tide-error] 13 (#$ . 77693)])
#@16 

(fn RELATED)
(defalias 'tide-format-related-information #[257 "\300\301\302\"!\303\301\304\"\305\306\301\307\"!\310\260\207" [tide-make-clickable-filespan plist-get :span " " :message " [" number-to-string :code "]"] 9 (#$ . 78209)])
#@12 

(fn ERR)
(defalias 'tide-explain-error #[257 "\301\302\303\304!>\204 \305\306\307D\"\210\310H#\311\312\"\313\314\315\316#\317\311\320\"!\321\313\322\315\316#\311\323\"\324\311\325\"\324\205I \313\326\315\316#\327\330\324#P\260	\207" [cl-struct-flycheck-error-tags get-text-property 0 diagnostic type-of signal wrong-type-argument flycheck-error 6 plist-get :relatedInformation propertize "Code: " face bold number-to-string :code " " "Category: " :category "\n\n" :text "Related Information: \n\n" mapconcat tide-format-related-information] 16 (#$ . 78456)])
#@41 Show the details of the error at point.
(defalias 'tide-error-at-point #[0 "\300`!\211\203 \301\302\303\304\305#\"\202 \306\307!\207" [flycheck-overlay-errors-at tide-display-help-buffer "error" mapconcat tide-explain-error "\n\n--------\n\n" message "No errors available."] 7 (#$ . 79039) nil])
#@16 

(fn CHECKER)
(defalias 'tide-flycheck-verify #[257 "\301\302\303\304\305 \203 \306\202 \307\310\305 \203 \311\202 \312&\313\314\315\316\300!\203, \203, \317\202- \320\316\300!\203; \203; \311\202< \321$D\207" [tide-mode flycheck-verification-result-new :label "Typescript server" :message tide-current-server "running" "not running" :face success (bold error) record flycheck-verification-result "Tide mode" boundp "enabled" "disabled" (bold warning)] 8 (#$ . 79344)])
(defalias 'tide-flycheck-predicate #[0 "\302\300!\205 \205 \303 \205 \304\305 	\"?\207" [tide-mode tide-tsserver-directory boundp tide-current-server file-equal-p tide-project-root] 3])
#@12 

(fn EXT)
(defalias 'tide-file-extension-p #[257 "\205	 \211\301!\230\207" [buffer-file-name file-name-extension] 4 (#$ . 80018)])
(byte-code "\300\301\302\303\304\305\306\307\310\311\312&\n\210\313\314\301\"\210\315\301\316\317#\210\300\320\321\303\304\305\306\307\322\311\312&\n\210\313\314\320\323#\210\300\324\325\303\304\305\306\307\326\311\327&\n\210\313\314\324\323#\210\300\330\331\303\304\305\306\307\332\311\333&\n\210\313\314\330\"\210\315\330\334\317#\207" [flycheck-define-generic-checker typescript-tide "A TypeScript syntax checker using tsserver." :start tide-flycheck-start :verify tide-flycheck-verify :modes (typescript-mode) :predicate tide-flycheck-predicate add-to-list flycheck-checkers flycheck-add-next-checker (warning . typescript-tslint) append javascript-tide "A Javascript syntax checker using tsserver." (js-mode js2-mode js3-mode) t jsx-tide "A JSX syntax checker using tsserver." (web-mode js2-jsx-mode rjsx-mode) #[0 "\300\301!\205 \302 \207" [tide-file-extension-p "jsx" tide-flycheck-predicate] 2] tsx-tide "A TSX syntax checker using tsserver." (web-mode) #[0 "\300\301!\205 \302 \207" [tide-file-extension-p "tsx" tide-flycheck-predicate] 2] (warning . typescript-tslint)] 11)
(defalias 'tide-command:geterrForProject #[0 "\300\301\302\303 \304BB\"\207" [tide-send-command "geterrForProject" :file tide-buffer-file-name (:delay 0)] 5])
(defalias 'tide-project-errors-buffer-name #[0 "\300\301\302 \"\207" [format "*%s-errors*" tide-project-name] 3])
#@19 

(fn FILE-NAMES)
(defalias 'tide-display-erros #[257 "r\302\303 !q\210\304 \210\305\306 \210)\307p\305\"\210\310\311\"\312!C\312!C	?\205) \312!C\313C\313C\313C\314C\315\316\317\320\321\322\f\f\f\f\f\f\f&\323\"\324\325%!\266	)\326 \207" [inhibit-read-only tide-disable-suggestions get-buffer-create tide-project-errors-buffer-name tide-project-errors-mode t erase-buffer display-buffer -reject #[257 "\301\302\303\304#)\266\203\206 \305\302\303\304#)\266\203\207" [inhibit-changing-match-data "node_modules" nil t string-match "tsconfig.json$"] 8 "\n\n(fn FILE-NAME)"] cl-copy-list 0 nil tide-set-event-listener make-byte-code 257 "\212db\210\307\310\311\312#\310\311\313#\314\315\"\211\316\230\205 ?\205\242 \211\317\232\203; \300\320\300\242\"\240\210\303\211\242G\\\240\210\202j \211\321\232\203T \301\320\301\242\"\240\210\304\211\242G\\\240\210\202j \211\316\232\203j \302\320\302\242\"\240\210\305\211\242G\\\240\210\203\200 \322\323\324\325\326\327\306\n\"\330\"\331\332%\"\210\300\242?\205\242 \301\242?\205\242 \302\242?\205\242 \333\334\303\242\304\242\305\242$c\210eb\210\335 )\266\204)\207" vconcat vector [t tide-plist-get :body :file :diagnostics plist-get :event "suggestionDiag" "syntaxDiag" remove "semanticDiag" -each make-byte-code 257 "\302\303\304#\300\242\301\232\204 \300\301\240\210\305\306\301\307 \"\310\311#\312\261\210\305\313\314\"\310\315\316\317\320\301#%\321\322\323\"\312\261\207" vconcat vector [tide-plist-get :start :line propertize file-relative-name tide-project-root face tide-file "\n" format "%5d" tide-line-number tide-error plist-put :file ": " plist-get :text] 11 "\n\n(fn DIAGNOSTIC)" format "\n%d syntax error(s), %d semantic error(s), %d suggestion error(s)\n" tide-clear-event-listener inhibit-read-only tide-disable-suggestions] 14 "\n\n(fn RESPONSE)" tide-command:geterrForProject] 22 (#$ . 81517)])
#@105 Override for `next-error-function' for use in tide-project-errors-mode buffers.

(fn N &optional RESET)
(defalias 'tide-next-error-function #[513 "\300\301 !\211\205* r\211q\210\203 eb\210\302V\203! \303`\"\210\202' \304`[\"\210\305 )\207" [get-buffer tide-project-errors-buffer-name 0 tide-find-next-error tide-find-previous-error tide-goto-error] 6 (#$ . 83424) "p"])
#@35 Move to next error.

(fn POS ARG)
(defalias 'tide-find-next-error #[514 "\211\300_\262\301\302\"\204 \211S\262\211\303\211W\203/ \211\304\302\"\262\204' \305\306!\210\210\211T\262\202 \266b\207" [2 get-text-property tide-error 0 next-single-property-change error "Moved past last error"] 8 (#$ . 83805) "d\np"])
#@44 Move back to previous error.

(fn POS ARG)
(defalias 'tide-find-previous-error #[514 "\211\300_\301\211W\203! \211\302\303\"\262\204 \304\305!\210\210\211T\262\202 \266b\207" [2 0 previous-single-property-change tide-error error "Moved back before first error"] 8 (#$ . 84135) "d\np"])
#@37 Jump to error location in the file.
(defalias 'tide-goto-error #[0 "\300`\301\"\211\205 \302\303\304#\207" [get-text-property tide-error tide-jump-to-filespan nil t] 5 (#$ . 84436) nil])
(defvar tide-project-errors-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\211\207" [make-sparse-keymap define-key "n" tide-find-next-error "p" tide-find-previous-error "" tide-goto-error] 5))
(defvar tide-project-errors-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [tide-project-errors-mode-hook variable-documentation put "Hook run after entering tide-project-errors mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp tide-project-errors-mode-map definition-name tide-project-errors-mode] 4)
(defvar tide-project-errors-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" [tide-project-errors-mode-abbrev-table tide-project-errors-mode-map variable-documentation put purecopy "Keymap for `tide-project-errors-mode'." boundp tide-project-errors-mode-syntax-table definition-name tide-project-errors-mode (lambda (#1=#:def-tmp-var) (defvar tide-project-errors-mode-syntax-table #1#)) make-syntax-table "Syntax table for `tide-project-errors-mode'." (lambda (#1#) (defvar tide-project-errors-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `tide-project-errors-mode'." derived-mode-parent special-mode] 5)
#@261 Major mode for tide project-errors list.

\{tide-project-errors-mode-map}

In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `tide-project-errors-mode-hook', as the final or penultimate step
during initialization.
(defalias 'tide-project-errors-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\331)\332\333!\207" [delay-mode-hooks major-mode mode-name tide-project-errors-mode-map tide-project-errors-mode-syntax-table tide-project-errors-mode-abbrev-table make-local-variable t special-mode tide-project-errors-mode "tide-project-errors" 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 tide-next-error-function run-mode-hooks tide-project-errors-mode-hook local-abbrev-table next-error-function] 5 (#$ . 86196) nil])
(defalias 'tide-project-errors #[0 "\300\301\302\"\207" [tide-command:projectInfo #[257 "\300!\203 \301\302\303\304#!\207\305\306\"\211\205 \307\310\"\210\311\207" [tide-response-success-p tide-display-erros tide-plist-get :body :fileNames plist-get :message message "%s" nil] 6 "\n\n(fn RESPONSE)"] t] 3 nil nil])
#@11 

(fn CB)
(defalias 'tide-command:documentHighlights #[257 "\300\301\302\303 \304\305 \306\307 \310\303 C\257#\207" [tide-send-command "documentHighlights" :file tide-buffer-file-name :line tide-line-number-at-pos :offset tide-current-offset :filesToSearch] 11 (#$ . 87645)])
(byte-code "\300\301\302\303\304\305%\210\306\307\310\311\312DD\313\314\315\304\305&\207" [custom-declare-face tide-hl-identifier-face ((t (:inherit highlight))) "Face used for highlighting identifiers in `tide-hl-identifier'." :group tide custom-declare-variable tide-hl-identifier-idle-time funcall function #[0 "\300\207" [0.5] 1] "How long to wait after user input before highlighting the current identifier." :type float] 8)
(defvar tide--hl-last-token 0)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local tide--hl-last-token put permanent-local t] 4)
#@82 Invalidate all existing tokens to get document highlights and
create a new token
(defalias 'tide--hl-new-token #[0 "T\211\207" [tide--hl-last-token] 2 (#$ . 88513)])
#@43 The current delay for hl-identifier-mode.
(defvar tide--current-hl-identifier-idle-time 0 (#$ . 88687))
#@53 The global timer used for highlighting identifiers.
(defvar tide--hl-identifier-timer nil (#$ . 88797))
#@59 Remove highlights from previously highlighted identifier.
(defalias 'tide-unhighlight-identifiers #[0 "\300 \210\301\302\211\303\304$\207" [tide--hl-new-token remove-overlays nil tide-overlay sameid] 5 (#$ . 88907)])
#@115 Highlight all instances of the identifier under point. Removes
highlights from previously highlighted identifier.
(defalias 'tide-hl-identifier #[0 "\300 \210\301 \207" [tide-unhighlight-identifiers tide--hl-identifier] 1 (#$ . 89131) nil])
#@56 Highlight all instances of the identifier under point.
(defalias 'tide--hl-identifier #[0 "\300 \301\302\303\304\305\306!\307\"\310\311%!\207" [tide--hl-new-token tide-command:documentHighlights make-byte-code 257 "\300	\232\205 \302!\205 \303!\207" vconcat vector [tide--hl-last-token tide-response-success-p tide--hl-highlight] 3 "\n\n(fn RESPONSE)"] 8 (#$ . 89378)])
#@71 Highlight all instances of the identifier under point.

(fn RESPONSE)
(defalias 'tide--hl-highlight #[257 "\300\301\302\303\"\"\211\205\205 \302\304\"\211\205\203 \305d!\210\212\214~\210eb\210\211\306\307:\203 @\262\302\310\"\311\235\203x \302\312\"\302\313\"\302\314\"\315Zy\210\302\316\"Su\210`\302\314\"U\204Z \317\320!\210\302\316\"\302\316\"Zu\210`\"\262\321\322\323#\210\321\324\325#\266A\262\202! \306\266\203*\262\207" [-first #[257 "\300 \301\302\"\232\207" [tide-buffer-file-name plist-get :file] 5 "\n\n(fn ITEM)"] plist-get :body :highlightSpans overlay-recenter nil 1 :kind ("reference" "writtenReference") :start :end :line make-overlay :offset error "identifier unexpectedly spans lines" overlay-put tide-overlay sameid face tide-hl-identifier-face] 15 (#$ . 89760)])
#@89 Function run after an idle timeout, highlighting the
identifier at point, if necessary.
(defalias 'tide--hl-identifiers-function #[0 "\205 \303\304!\204 \305 \210	\n=?\205 \306 \207" [tide-hl-identifier-mode tide--current-hl-identifier-idle-time tide-hl-identifier-idle-time tide--on-overlay-p sameid tide-hl-identifier tide--hl-set-timer] 2 (#$ . 90576)])
(defalias 'tide--hl-set-timer #[0 "\203 \303!\210	\304	\305\306#\211\207" [tide--hl-identifier-timer tide-hl-identifier-idle-time tide--current-hl-identifier-idle-time cancel-timer run-with-idle-timer t tide--hl-identifiers-function] 4])
#@115 Non-nil if Tide-Hl-Identifier mode is enabled.
Use the command `tide-hl-identifier-mode' to change this variable.
(defvar tide-hl-identifier-mode nil (#$ . 91187))
(make-variable-buffer-local 'tide-hl-identifier-mode)
#@91 Highlight instances of the identifier at point after a short
timeout.

(fn &optional ARG)
(defalias 'tide-hl-identifier-mode #[256 "\301 \302=\203 ?\202 \303!\304V\211\203+ \305 \210\306\307\310\311\312$\210\306\313\314\311\312$\210\202: \315\307\310\312#\210\315\313\314\312#\210\316 \210\317\320\203D \321\202E \322\"\210\323\324!\203i \301 \203Y \211\301 \232\203i \325\326\327\203d \330\202e \331#\266\210\332 \210\207" [tide-hl-identifier-mode current-message toggle prefix-numeric-value 0 tide--hl-set-timer add-hook post-command-hook tide--hl-identifiers-post-command-hook nil t before-change-functions tide--hl-identifiers-before-change-function remove-hook tide-unhighlight-identifiers run-hooks tide-hl-identifier-mode-hook tide-hl-identifier-mode-on-hook tide-hl-identifier-mode-off-hook called-interactively-p any " in current buffer" message "Tide-Hl-Identifier mode %sabled%s" "en" "dis" force-mode-line-update] 8 (#$ . 91411) (byte-code "\206 \301C\207" [current-prefix-arg toggle] 1)])
(defvar tide-hl-identifier-mode-hook nil)
(byte-code "\301\302N\204\f \303\301\302\304#\210\305\306\307\310\300!\205 \307\211%\207" [tide-hl-identifier-mode-map tide-hl-identifier-mode-hook variable-documentation put "Hook run after entering or leaving `tide-hl-identifier-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode tide-hl-identifier-mode nil boundp] 6)
#@64 Return whether point is on a tide overlay of type ID.

(fn ID)
(defalias 'tide--on-overlay-p #[257 "\300\301\302\303\304\305!\306\"\307\310%\311`!\"\207" [cl-find-if make-byte-code 257 "\301\302\"\300=\207" vconcat vector [overlay-get tide-overlay] 4 "\n\n(fn EL)" overlays-at] 8 (#$ . 92896)])
(defalias 'tide--hl-identifiers-post-command-hook #[0 "\205 \301\302!?\205 \303 \207" [tide-hl-identifier-mode tide--on-overlay-p sameid tide-unhighlight-identifiers] 2])
#@16 

(fn BEG END)
(defalias 'tide--hl-identifiers-before-change-function #[514 "\300 \207" [tide-unhighlight-identifiers] 3 (#$ . 93374)])
(defalias 'tide-command:compileOnSaveEmitFile #[0 "\300\301\302\303 D\"\207" [tide-send-command "compileOnSaveEmitFile" :file tide-buffer-file-name] 4])
#@27 Compiles the current file
(defalias 'tide-compile-file #[0 "\300 \207" [tide-command:compileOnSaveEmitFile] 1 (#$ . 93669) nil])
#@51 Compiles the current file if compileOnSave is set
(defalias 'tide-auto-compile-file #[0 "\300 \211\205 \301\302\"\303=\205 \304 \207" [tide-project-config plist-get :compilerOnSave t tide-command:compileOnSaveEmitFile] 4 (#$ . 93804) nil])
(defalias 'tide-project-config #[0 "\303\304 \305#\211\305=\2034 \306 \307 \211\203( \310\311\n\312D\"!\313\304 #\262\202. \313\304 \314#)\262\2025 \211\207" [tide-project-configs default-directory tide-node-executable gethash tide-project-name :not-loaded tide-project-root tide-locate-tscompiler-executable tide-safe-json-read-string tide-command-to-string "--showConfig" puthash nil] 7])
#@20 Restarts tsserver.
(defalias 'tide-restart-server #[0 "\300 \211\203\n \301!\210\210\302 \210\303\304 \305\"\207" [tide-current-server delete-process tide-start-server tide-each-buffer tide-project-name tide-configure-buffer] 3 (#$ . 94452) nil])
#@88 Invoke `tide-verify-setup' on a tsserver displayed in the list of server.

(fn BUTTON)
(defalias 'tide--list-servers-verify-setup #[257 "\300\301\302\"\303\"\207" [tide-first-buffer button-get project-name tide-verify-setup] 5 (#$ . 94706)])
#@82 Recompute the list of processes for the buffer displayed by
`tide-list-servers'.
(defalias 'tide--list-servers-refresh #[0 "\303	\303C\304\305\306\307\310\311!\312\"\313\314%\"\210\211\242\237\266\202\211\211\205\260 \211@\315\316\"\317!\320\321!\2038 \322\323\324!\"\202> \323\324!\236A\311\325\326\327\320\321!\203R \330\331\n\"\202W \332	\333Q\334\335\316\f\336BBBBBBBBB\203p \337!\203t \340\202y \341\342!!\343\n\344\"\203\214 \315\345\"\206\242 \346\202\242 \343\n\347\"\203\236 \350\351\352\n!\353#\202\242 \354\355\n\"#DB\266A\266\202\202 \262\207" [tabulated-list-entries tide-servers tide--server-list-mode-last-column nil maphash make-byte-code 514 "\300\300\242B\240\207" vconcat vector [] 5 "\n\n(fn --CL-VAR-- V)" process-get project-name process-id tide--emacs-at-least "25" alist-get pcpu process-attributes face link help-echo format-message "Verify setup of `%s'" "Verify setup of `" "'" follow-link t (action tide--list-servers-verify-setup) isnan "--" number-to-string round memql 'project-root project-root "" 'command mapconcat identity process-command " " error "unknown column %s"] 18 (#$ . 94955)])
#@27 Kill a tsserver instance.
(defalias 'tide--server-list-kill-server #[0 "\300\301\206 `\302\"\262\303!\210\304 \207" [nil get-text-property tabulated-list-id delete-process revert-buffer] 4 (#$ . 96110) nil])
#@63 The possible choices for the last column, as a circular list.
(defvar tide--server-list-last-column-choice-list '(project-root command) (#$ . 96328))
#@56 Cycle through the possible values for the last column.
(defalias 'tide--server-list-cycle-last-column #[0 "	>\206\n \302\303\"A@\206 	@\304 \210\305 \207" [tide--server-list-mode-last-column tide--server-list-last-column-choice-list error "%s is not a possible choice of last column." tide--setup-list-mode revert-buffer] 3 (#$ . 96484) nil])
(defvar tide-server-list-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\211\207" [make-sparse-keymap define-key [100] tide--server-list-kill-server [47] tide--server-list-cycle-last-column] 5))
(defalias 'tide--setup-list-mode #[0 "\303\304\305\306\307E\310\311\"\203 \312\202  \310\313\"\203 \314\202  \315\316\"\317\320E#\321\322B\323 \207" [tide--server-list-mode-last-column tabulated-list-format tabulated-list-sort-key vector ("Project Name" 20 t) "CPU" 5 #[514 "A@\300\234A@\300\234\301\230\203 \211\301\230?\202( \211\301\230\203! \302\202( \303!\303!W\207" [1 "--" nil string-to-number] 7 "\n\n(fn A B)"] memql 'project-root "Project Root" 'command "Project Command" error "unknown column %s" 0 t "Project Name" nil tabulated-list-init-header] 6])
(defvar tide-server-list-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [tide-server-list-mode-hook variable-documentation put "Hook run after entering tide-server-list-mode mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp tide-server-list-mode-map definition-name tide-server-list-mode] 4)
(defvar tide-server-list-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" [tide-server-list-mode-abbrev-table tide-server-list-mode-map variable-documentation put purecopy "Keymap for `tide-server-list-mode'." boundp tide-server-list-mode-syntax-table definition-name tide-server-list-mode (lambda (#1=#:def-tmp-var) (defvar tide-server-list-mode-syntax-table #1#)) make-syntax-table "Syntax table for `tide-server-list-mode'." (lambda (#1#) (defvar tide-server-list-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `tide-server-list-mode'." derived-mode-parent tabulated-list-mode] 5)
#@264 Major mode for listing tsserver processes.

In addition to any hooks its parent mode `tabulated-list-mode' might have run,
this mode runs the hook `tide-server-list-mode-hook', as the final or penultimate step
during initialization.

\{tide-server-list-mode-map}
(defalias 'tide-server-list-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\332\333\334\335\336\307$\210\337 \210)\340\341!\207" [delay-mode-hooks major-mode mode-name tide-server-list-mode-map tide-server-list-mode-syntax-table tide-server-list-mode-abbrev-table make-local-variable t tabulated-list-mode tide-server-list-mode "tide-server-list-mode" 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 tide--server-list-mode-last-column project-root add-hook tabulated-list-revert-hook tide--list-servers-refresh nil tide--setup-list-mode run-mode-hooks tide-server-list-mode-hook local-abbrev-table] 5 (#$ . 98927) nil])
#@68 Lists the tsserver processes known to tide.

(fn &optional BUFFER)
(defalias 'tide-list-servers #[256 "\300!\204 \301\302!\262r\211q\210\303 \210\304 \210\305 \210)\306!\210\307\207" [bufferp get-buffer-create "*Tide Server List*" tide-server-list-mode tide--list-servers-refresh tabulated-list-print display-buffer nil] 3 (#$ . 100191) nil])
(defalias 'tide-command:status #[0 "\300\301\302\"\207" [tide-send-command-sync "status" nil] 3])
#@33 

(fn VERSION CONFIG-FILE-NAME)
(defalias 'tide-show-project-info #[514 "r\301\302!q\210\303\304 \210\305\306\307\310#\311\312\306\307\313#\261\210)\314 \210\315p\303\")\207" [inhibit-read-only get-buffer-create "*tide-project-info*" t erase-buffer "tsserver version: " propertize face (success bold) "\n\n" "config file path: " success special-mode display-buffer] 10 (#$ . 100642)])
#@31 Show the version of tsserver.
(defalias 'tide-verify-setup #[0 "\300 \301!\203 \302\303!\202= \304!\203- \305\306\307#\310\311\312\313\314\315!\316\"\317\320%!\262\202= \321\322\"\211\205; \323\324\"\210\325\262\207" [tide-command:status tide-command-unknown-p tide-tsserver-feature-not-supported "2.7" tide-response-success-p tide-plist-get :body :version tide-command:projectInfo make-byte-code 257 "\301!\203 \302\303\304#\305\300\"\207\306\307\"\211\205 \310\311\"\210\312\207" vconcat vector [tide-response-success-p tide-plist-get :body :configFileName tide-show-project-info plist-get :message message #1="%s" nil] 5 "\n\n(fn RESPONSE)" plist-get :message message #1# nil] 9 (#$ . 101037) nil])
(provide 'tide)
