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



(require 'treesit)#@40 Syntax table for `dockerfile-ts-mode'.
(defvar dockerfile-ts-mode--syntax-table (byte-code "\300 \301\302\303#\210\301\304\305#\210\207" [make-syntax-table modify-syntax-entry 35 "<" 10 ">"] 5) (#$ . 102))#@27 Tree-sitter indent rules.
(defvar dockerfile-ts-mode--indent-rules '((dockerfile ((parent-is "copy_instruction") (nth-sibling 1) 0) ((parent-is "env_instruction") (nth-sibling 1) 0) ((parent-is "expose_instruction") (nth-sibling 1) 0) ((parent-is "label_instruction") (nth-sibling 1) 0) ((parent-is "shell_command") first-sibling 0) ((parent-is "string_array") first-sibling 1) ((dockerfile-ts-mode--line-continuation-p) dockerfile-ts-mode--line-continuation-anchor 0))) (#$ . 315))#@59 Return t if the current node is a line continuation node.
(defalias 'dockerfile-ts-mode--line-continuation-p #[0 "\300\207" [#[899 "\300!\301\230\207" [treesit-node-type "\n"] 6 "\n\n(fn NODE _ _ &rest _)"]] 1 (#$ . 803)])#@118 This anchor is used to align any nodes that are part of a line
continuation to the previous entry.

(fn _ _ &rest _)
(defalias 'dockerfile-ts-mode--line-continuation-anchor #[642 "\212\300y\210\301`!\302!\303\230\203 \304 \210\202 \305v\210\305u\210`\306 ZT)\207" [-1 treesit-node-at treesit-node-type "\\\n" back-to-indentation nil pos-bol] 6 (#$ . 1033)])#@51 Dockerfile keywords for tree-sitter font-locking.
(defvar dockerfile-ts-mode--keywords '("ADD" "ARG" "AS" "CMD" "COPY" "CROSS_BUILD" "ENTRYPOINT" "ENV" "EXPOSE" "FROM" "HEALTHCHECK" "LABEL" "MAINTAINER" "ONBUILD" "RUN" "SHELL" "STOPSIGNAL" "USER" "VOLUME" "WORKDIR") (#$ . 1399))#@33 Tree-sitter font-lock settings.
(defvar dockerfile-ts-mode--font-lock-settings (byte-code "\301\302\303\304\305\306\302\303\304\307\310\302\303\304\311\312\302\303\304\313\314\302\303\304\315\316!\317B\302\303\304\320\321\302\303\304\322\323\302\303\304\324\325\302\303\304\326\327\330\331&/\207" [dockerfile-ts-mode--keywords treesit-font-lock-rules :language dockerfile :feature bracket ((["[" "]"]) @font-lock-bracket-face) comment ((comment) @font-lock-comment-face) delimiter (([","]) @font-lock-delimiter-face) image-spec ((image_spec) @font-lock-constant-face) keyword vconcat (@font-lock-keyword-face) number ((expose_port) @font-lock-number-face) operator ((["="]) @font-lock-operator-face) string ((double_quoted_string) @font-lock-string-face) error :override t ((ERROR) @font-lock-warning-face)] 48) (#$ . 1684))#@106 Return the stage name of NODE.
Return nil if there is no name or if NODE is not a stage node.

(fn NODE)
(defalias 'dockerfile-ts-mode--stage-name #[257 "\300!\211\301\232\205 \302\303\304\"\206 \305\306\"\307\"\207" [treesit-node-type "from_instruction" treesit-node-text treesit-node-child-by-field-name "as" treesit-node-child 1 t] 6 (#$ . 2516)])
(defvar dockerfile-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" [dockerfile-ts-mode-hook variable-documentation put "Hook run after entering Dockerfile mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp dockerfile-ts-mode-map definition-name dockerfile-ts-mode] 4)
(defvar dockerfile-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" [dockerfile-ts-mode-abbrev-table dockerfile-ts-mode-map variable-documentation put purecopy "Keymap for `dockerfile-ts-mode'." boundp definition-name dockerfile-ts-mode defvar-1 nil define-abbrev-table "Abbrev table for `dockerfile-ts-mode'." derived-mode-parent prog-mode custom-mode-group dockerfile] 5)#@265 Major mode for editing Dockerfiles, powered by tree-sitter.

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

\{dockerfile-ts-mode-map}
(defalias 'dockerfile-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)!\210\f\325\326!\203\215 \327\326!\210\306\330!\210\331\306\332!\210\333\306\334!\210\335\306\336!\210\337\306\340!\210\341 \306\342!\210*\"\306\343!\210+#\306\344!\210\345$\346 \210)\347\350!\207" [delay-mode-hooks major-mode mode-name dockerfile-ts-mode-map dockerfile-ts-mode-abbrev-table local-abbrev-table make-local-variable t prog-mode dockerfile-ts-mode "Dockerfile" 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 dockerfile treesit-parser-create comment-start "# " comment-end "" comment-start-skip "#\\s-*" treesit-simple-imenu-settings (("Stage" "\\`from_instruction\\'" nil dockerfile-ts-mode--stage-name)) which-func-functions nil treesit-simple-indent-rules treesit-font-lock-settings treesit-font-lock-feature-list ((comment) (keyword string) (image-spec number) (bracket delimiter error operator)) treesit-major-mode-setup run-mode-hooks dockerfile-ts-mode-hook dockerfile-ts-mode--syntax-table dockerfile-ts-mode--indent-rules dockerfile-ts-mode--font-lock-settings] 5 (#$ . 3892) nil])
(byte-code "\300\301!\203 \302\303\304\"\210\305\306!\207" [treesit-ready-p dockerfile add-to-list auto-mode-alist ("\\(?:Dockerfile\\(?:\\..*\\)?\\|\\.[Dd]ockerfile\\)\\'" . dockerfile-ts-mode) provide dockerfile-ts-mode] 3)
