;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\210\303\304\305\306\307DD\310\311\312\313\314\315\316\317\320&\207" [require treesit rx custom-declare-variable json-ts-mode-indent-offset funcall function #[0 "\300\207" [2] 1 ""] "Number of spaces for each indentation step in `json-ts-mode'." :version "29.1" :type integer :safe integerp :group json] 12)#@34 Syntax table for `json-ts-mode'.
(defvar json-ts-mode--syntax-table (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\307#\210\301\311\307#\210\301\312\307#\210\301\313\307#\210\301\314\307#\210\301\315\307#\210\301\316\307#\210\301\317\320#\210\301\321\307#\210\301\322\323#\210\301\324\325#\210\301\326\327#\210\301\330\327#\210\207" [make-syntax-table modify-syntax-entry 95 "_" 92 "\\" 43 "." 45 61 37 60 62 38 124 39 "\"" 160 47 ". 124b" 42 ". 23" 10 "> b" 13] 5) (#$ . 426))
(defvar json-ts--indent-rules '((json ((node-is "}") parent-bol 0) ((node-is ")") parent-bol 0) ((node-is "]") parent-bol 0) ((parent-is "object") parent-bol json-ts-mode-indent-offset) ((parent-is "array") parent-bol json-ts-mode-indent-offset))))#@30 Font-lock settings for JSON.
(defvar json-ts-mode--font-lock-settings (byte-code "\300\301\302\303\304\305\301\302\303\306\307\301\302\303\310\311\301\302\303\312\313\301\302\303\314\315\301\302\303\316\317\301\302\303\320\321\322\323\301\302\303\324\321\322\325\301\302\303\326\321\322\327&3\207" [treesit-font-lock-rules :language json :feature comment ((comment) @font-lock-comment-face) bracket ((["[" "]" "{" "}"]) @font-lock-bracket-face) constant ([(null) (true) (false)] @font-lock-constant-face) delimiter ((["," ":"]) @font-lock-delimiter-face) number ((number) @font-lock-number-face) string ((string) @font-lock-string-face) escape-sequence :override t ((escape_sequence) @font-lock-escape-face) pair ((pair key: (_) @font-lock-property-use-face)) error ((ERROR) @font-lock-warning-face)] 52) (#$ . 1204))#@106 Return the defun name of NODE.
Return nil if there is no name or if NODE is not a defun node.

(fn NODE)
(defalias 'json-ts-mode--defun-name #[257 "\300!\211\301\235\205 \302\303\304\305\"\306\"\307\211#\207" [treesit-node-type ("object" "pair") string-trim treesit-node-text treesit-node-child-by-field-name "key" t "\""] 7 (#$ . 2028)])
(defvar json-ts-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [json-ts-mode-hook variable-documentation put "Hook run after entering JSON mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp json-ts-mode-map definition-name json-ts-mode] 4)
(defvar json-ts-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\300!\204. \303\300\307\310#\210\311\300\306\300!\203& \312\202, \313\300\312\"\210\"\210\300\302N\204< \303\300\302\304\314!#\210\303\310\315\316#\210\303\310\317\320#\207" [json-ts-mode-abbrev-table json-ts-mode-map variable-documentation put purecopy "Keymap for `json-ts-mode'." boundp definition-name json-ts-mode defvar-1 nil define-abbrev-table "Abbrev table for `json-ts-mode'." derived-mode-parent prog-mode custom-mode-group json] 5)#@246 Major mode for editing JSON, powered by tree-sitter.

In addition to any hooks its parent mode `prog-mode' might have run,
this mode runs the hook `json-ts-mode-hook', as the final or
penultimate step during initialization.

\{json-ts-mode-map}
(defalias 'json-ts-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f\321\"\204; \f=\204; \322\f\321C#\210\323!\210\3240!\210\f\325\326!\204P \327\330!\210\331\326!\210\306\332!\210\333\306\334!\210\335\306\336!\210\337\306\340!\210\341\342 \" \306\343!\2101#\306\344!\210\345$\306\346!\210\347&\306\350!\2102(\306\351!\210\352)\306\353!\210\354+\355 )\210\356\357!\207" [delay-mode-hooks major-mode mode-name json-ts-mode-map json-ts-mode-abbrev-table local-abbrev-table make-local-variable t prog-mode json-ts-mode "JSON" mode-class put keymap-parent set-keymap-parent current-local-map abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table treesit-ready-p json error "Tree-sitter for JSON isn't available" treesit-parser-create comment-start "// " comment-start-skip "\\(?://+\\|/\\*+\\)\\s *" comment-end "" electric-indent-chars append "{}():;," treesit-simple-indent-rules treesit-defun-type-regexp "\\(?:object\\|pair\\)" treesit-defun-name-function json-ts-mode--defun-name treesit-font-lock-settings treesit-font-lock-feature-list ((comment constant number pair string) (escape-sequence) (bracket delimiter error)) treesit-simple-imenu-settings ((nil "\\`pair\\'" nil nil)) treesit-major-mode-setup run-mode-hooks json-ts-mode-hook json-ts-mode--syntax-table json-ts--indent-rules json-ts-mode--font-lock-settings] 5 (#$ . 3318) nil])
(byte-code "\300\301!\203 \302\303\304\"\210\305\306!\207" [treesit-ready-p json add-to-list auto-mode-alist ("\\.json\\'" . json-ts-mode) provide json-ts-mode] 3)
