;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\305\306\307\310\311\312\313\314&\207" [require cl-lib eldoc easymenu help-mode custom-declare-group yasnippet nil "Yet Another Snippet extension" :prefix "yas-" :group editing] 8) #@43 Directory that yasnippet was loaded from. (defconst yas--loaddir (byte-code "\302\206 !\207" [load-file-name buffer-file-name file-name-directory] 2) (#$ . 333)) (defconst yas-installed-snippets-dir (expand-file-name "snippets" yas--loaddir)) (make-obsolete-variable 'yas-installed-snippets-dir "Yasnippet no longer comes with installed snippets" "0.14") (defconst yas--default-user-snippets-dir (expand-file-name "snippets" user-emacs-directory)) #@358 List of top-level snippet directories. Each element, a string or a symbol whose value is a string, designates a top-level directory where per-mode snippet directories can be found. Elements appearing earlier in the list override later elements' snippets. The first directory is taken as the default for storing snippet's created with `yas-new-snippet'.  (custom-declare-variable 'yas-snippet-dirs '(list yas--default-user-snippets-dir) '(#$ . 791) :type '(choice (directory :tag "Single directory") (repeat :tag "List of directories" (choice (directory) (variable)))) :set #[(symbol new) "\303!\205J\304\n\"\210\305\306!?\206 \n\232?\205\306 )\207" [symbol old new boundp set-default fboundp yas-reload-all] 3]) #@56 Return variable `yas-snippet-dirs' as list of strings. (defalias 'yas-snippet-dirs #[nil "<\203 \202 C\304\211 :\203E @\211;\203!\n\202;\n9\2037\305\n!\2037\nJ;\2037\nJ\202;\306\307\n\" B A\211\202 \237+\207" [yas-snippet-dirs #1=#:--cl-var-- e #2=#:--cl-var-- nil boundp error "[yas] invalid element %s in `yas-snippet-dirs'"] 4 (#$ . 1522)]) (byte-code "\300\301\302\303\304\305%\210\300\306\307\310\304\311%\210\300\312\313\314\304\315%\210\300\316\317\320\304\321%\210\300\322\317\323\304\321%\210\300\324\325\326\304\321%\210\300\327\317\330\304\321%\210\300\331\332\333\304\334%\210\335\331\336\337#\210\300\340\317\341\304\321%\210\300\342\317\343\304\321%\210\300\344\345\346\304\347%\210\300\350\351\352\304\305%\210\300\353\317\354\304\355%\210\300\356\325\357\304\321%\210\300\360\317\361\304\321%\210\300\362\317\363\304\364%\210\300\365\325\366\304\321%\210\367\370\371\372#\210\367\373\317\374#\207" [custom-declare-variable yas-new-snippet-default "# -*- mode: snippet -*-\n# name: $1\n# key: ${2:${1:$(yas--key-from-desc yas-text)}}\n# --\n$0`(yas-escape-text yas-selected-text)`" "Default snippet to use when creating a new snippet.\nIf nil, don't use any snippet." :type string yas-prompt-functions '(yas-dropdown-prompt yas-completing-prompt yas-maybe-ido-prompt yas-no-prompt) "Functions to prompt for keys, templates, etc interactively.\n\nThese functions are called with the following arguments:\n\n- PROMPT: A string to prompt the user\n\n- CHOICES: a list of strings or objects.\n\n- optional DISPLAY-FN : A function that, when applied to each of\nthe objects in CHOICES will return a string.\n\nThe return value of any function you put here should be one of\nthe objects in CHOICES, properly formatted with DISPLAY-FN (if\nthat is passed).\n\n- To signal that your particular style of prompting is\nunavailable at the moment, you can also have the function return\nnil.\n\n- To signal that the user quit the prompting process, you can\nsignal `quit' with\n\n (signal \\='quit \"user quit!\")" (repeat function) yas-indent-line 'auto "Controls indenting applied to a recent snippet expansion.\n\nThe following values are possible:\n\n- `fixed' Indent the snippet to the current column;\n\n- `auto' Indent each line of the snippet with `indent-according-to-mode'\n\nEvery other value means don't apply any snippet-side indentation\nafter expansion (the manual per-line \"$>\" indentation still\napplies)." (choice (const :tag "Nothing" nothing) (const :tag "Fixed" fixed) (const :tag "Auto" auto)) yas-also-auto-indent-first-line nil "Non-nil means also auto indent first line according to mode.\n\nNaturally this is only valid when `yas-indent-line' is `auto'." boolean yas-also-indent-empty-lines "Non-nil means also indent empty lines according to mode." yas-snippet-revival t "Non-nil means re-activate snippet fields after undo/redo." yas-triggers-in-field "If non-nil, allow stacked expansions (snippets inside snippets).\n\nOtherwise `yas-next-field-or-maybe-expand' just moves on to the\nnext field" yas-fallback-behavior 'return-nil "This option is obsolete.\nNow that the conditional keybinding `yas-maybe-expand' is\navailable, there's no more need for it." (choice (const :tag "Call previous command" call-other-command) (const :tag "Do nothing" return-nil)) make-obsolete-variable "For `call-other-command' behavior bind to the conditional\ncommand value `yas-maybe-expand', for `return-nil' behavior bind\ndirectly to `yas-expand'." "0.12" yas-choose-keys-first "If non-nil, prompt for snippet key first, then for template.\n\nOtherwise prompts for all possible snippet names.\n\nThis affects `yas-insert-snippet' and `yas-visit-snippet-file'." yas-choose-tables-first "If non-nil, and multiple eligible snippet tables, prompts user for tables first.\n\nOtherwise, user chooses between the merging together of all\neligible tables.\n\nThis affects `yas-insert-snippet', `yas-visit-snippet-file'" yas-use-menu 'abbreviate "Display a YASnippet menu in the menu bar.\n\nWhen non-nil, submenus for each snippet table will be listed\nunder the menu \"Yasnippet\".\n\n- If set to `abbreviate', only the current major-mode\nmenu and the modes set in `yas--extra-modes' are listed.\n\n- If set to `full', every submenu is listed\n\n- If set to nil, hide the menu.\n\nAny other non-nil value, every submenu is listed." (choice (const :tag "Full" full) (const :tag "Abbreviate" abbreviate) (const :tag "No menu" nil)) yas-trigger-symbol (or (and (eq window-system 'mac) (ignore-errors (char-to-string 8677))) " =>") "The text that will be used in menu to represent the trigger." yas-wrap-around-region "What to insert for snippet's $0 field.\n\nIf set to a character, insert contents of corresponding register.\nIf non-nil insert region contents. This can be overridden on a\nper-snippet basis. A value of `cua' is considered equivalent to\n`?0' for backwards compatibility." (choice (character :tag "Insert from register") (const t :tag "Insert region contents") (const nil :tag "Don't insert anything") (const cua)) yas-good-grace "If non-nil, don't raise errors in elisp evaluation.\n\nThis affects both the inline elisp in snippets and the hook\nvariables such as `yas-after-exit-snippet-hook'.\n\nIf this variable's value is `inline', an error string \"[yas]\nerror\" is returned instead of raising the error. If this\nvariable's value is `hooks', a message is output to according to\n`yas-verbosity-level'. If this variable's value is t, both are\nactive." yas-visit-from-menu "If non-nil visit snippets's files from menu, instead of expanding them.\n\nThis can only work when snippets are loaded from files." yas-expand-only-for-last-commands "List of `last-command' values to restrict tab-triggering to, or nil.\n\nLeave this set at nil (the default) to be able to trigger an\nexpansion simply by placing the cursor after a valid tab trigger,\nusing whichever commands.\n\nOptionally, set this to something like (self-insert-command) if\nyou to wish restrict expansion to only happen when the last\nletter of the snippet tab trigger was typed immediately before\nthe trigger key itself." (repeat function) yas-alias-to-yas/prefix-p "If non-nil make aliases for the old style yas/ prefixed symbols.\nIt must be set to nil before loading yasnippet to take effect." custom-declare-face yas-field-highlight-face ((t (:inherit region))) "The face used to highlight the currently active field of a snippet" yas--field-debug-face "The face used for debugging some overlays normally hidden"] 6) #@182 A conditional key definition. This can be used as a key definition in keymaps to bind a key to `yas-skip-and-clear-field' only when at the beginning of an unmodified snippet field. (defconst yas-maybe-skip-and-clear-field '(menu-item "" yas-skip-and-clear-field :filter yas--maybe-clear-field-filter) (#$ . 8078)) #@173 A conditional key definition. This can be used as a key definition in keymaps to bind a key to `yas-clear-field' only when at the beginning of an unmodified snippet field. (defconst yas-maybe-clear-field '(menu-item "" yas-clear-field :filter yas--maybe-clear-field-filter) (#$ . 8399)) #@103 Return a condition key definition. The condition will respect the value of `yas-keymap-disable-hook'. (defalias 'yas-filtered-definition #[(def) "\301\302\303\304\257\207" [def menu-item "" :filter #[(cmd) "\301\302!?\205\207" [cmd run-hook-with-args-until-success yas-keymap-disable-hook] 2]] 5 (#$ . 8693)]) #@61 The active keymap while a snippet expansion is in progress. (defvar yas-keymap (byte-code "\303 \304\305\306\307!#\210\304\310\306\307!#\210\304\311\306\312!#\210\304\313\306\312!#\210\304\314\306\315!#\210\304\316\306 !#\210\304\317\306\n!#\210)\207" [map yas-maybe-skip-and-clear-field yas-maybe-clear-field make-sparse-keymap define-key [(tab)] yas-filtered-definition yas-next-field-or-maybe-expand " " [(shift tab)] yas-prev-field [backtab] "" yas-abort-snippet "" ""] 5) (#$ . 9014)) #@1472 Syntaxes and functions to help look for trigger keys before point. Each element in this list specifies how to skip buffer positions backwards and look for the start of a trigger key. Each element can be either a string or a function receiving the original point as an argument. A string element is simply passed to `skip-syntax-backward' whereas a function element is called with no arguments and should also place point before the original position. The string between the resulting buffer position and the original point is matched against the trigger keys in the active snippet tables. If no expandable snippets are found, the next element is the list is tried, unless a function element returned the symbol `again', in which case it is called again from the previous position and may once more reposition point. For example, if `yas-key-syntaxes' has the value ("w" "w_"), trigger keys composed exclusively of "word"-syntax characters are looked for first. Failing that, longer keys composed of "word" or "symbol" syntax are looked for. Therefore, triggering after foo-barbaz will, according to the "w" element first try "barbaz". If that isn't a trigger key, "foo-barbaz" is tried, respecting the second "w_" element. Notice that even if "baz" is a trigger key for an active snippet, it won't be expanded, unless a function is added to `yas-key-syntaxes' that eventually places point between "bar" and "baz". See also Info node `(elisp) Syntax Descriptors'. (defvar yas-key-syntaxes (list 'yas-try-key-from-whitespace "w_.()" "w_." "w_" "w") (#$ . 9524)) #@309 Hooks to run after a snippet exited. The hooks will be run in an environment where some variables bound to proper values: `yas-snippet-beg' : The beginning of the region of the snippet. `yas-snippet-end' : Similar to beg. Attention: These hooks are not run when exiting nested/stacked snippet expansion! (defvar yas-after-exit-snippet-hook nil (#$ . 11099)) #@47 Hooks to run just before expanding a snippet. (defvar yas-before-expand-snippet-hook nil (#$ . 11467)) #@109 Disables snippet expansion in strings and comments. To use, set `yas-buffer-local-condition' to this value. (defconst yas-not-string-or-comment-condition '(if (let ((ppss (syntax-ppss))) (or (nth 3 ppss) (nth 4 ppss))) '(require-snippet-condition . force-in-comment) t) (#$ . 11577)) (byte-code "\301\302\303\304\305\306\307\310\311F\312BB%\210\301\313\314\315\305\316%\210\301\317\320\321\305\322%\210\301\323\314\324\305\325%\207" [yas-not-string-or-comment-condition custom-declare-variable yas-buffer-local-condition t "Snippet expanding condition.\n\nThis variable is a Lisp form which is evaluated every time a\nsnippet expansion is attempted:\n\n * If it evaluates to nil, no snippets can be expanded.\n\n * If it evaluates to the a cons (require-snippet-condition\n . REQUIREMENT)\n\n * Snippets bearing no \"# condition:\" directive are not\n considered\n\n * Snippets bearing conditions that evaluate to nil (or\n produce an error) won't be considered.\n\n * If the snippet has a condition that evaluates to non-nil\n RESULT:\n\n * If REQUIREMENT is t, the snippet is considered\n\n * If REQUIREMENT is `eq' RESULT, the snippet is\n considered\n\n * Otherwise, the snippet is not considered.\n\n * If it evaluates to the symbol `always', all snippets are\n considered for expansion, regardless of any conditions.\n\n * If it evaluates to t or some other non-nil value\n\n * Snippet bearing no conditions, or conditions that\n evaluate to non-nil, are considered for expansion.\n\n * Otherwise, the snippet is not considered.\n\nHere's an example preventing snippets from being expanded from\ninside comments, in `python-mode' only, with the exception of\nsnippets returning the symbol `force-in-comment' in their\nconditions.\n\n (add-hook \\='python-mode-hook\n (lambda ()\n (setq yas-buffer-local-condition\n \\='(if (python-syntax-comment-or-string-p)\n \\='(require-snippet-condition . force-in-comment)\n t))))" :type choice const :tag "Disable snippet expansion inside strings and comments" ((const :tag "Expand all snippets regardless of conditions" always) (const :tag "Expand snippets unless their condition is nil" t) (const :tag "Disable all snippet expansion" nil) sexp) yas-keymap-disable-hook nil "The `yas-keymap' bindings are disabled if any function in this list returns non-nil.\nThis is useful to control whether snippet navigation bindings\noverride bindings from other packages (e.g., `company-mode')." hook yas-overlay-priority 100 "Priority to use for yasnippets overlays.\nThis is useful to control whether snippet navigation bindings\noverride `keymap' overlay property bindings from other packages." integer yas-inhibit-overlay-modification-protection "If nil, changing text outside the active field aborts the snippet.\nThis protection is intended to prevent yasnippet from ending up\nin an inconsistent state. However, some packages (e.g., the\ncompany completion package) may trigger this protection when it\nis not needed. In that case, setting this variable to non-nil\ncan be useful." boolean] 10) (defconst yas--version "0.14.0") #@53 A hash table of MAJOR-MODE symbols to menu keymaps. (defvar yas--menu-table (make-hash-table) (#$ . 14869)) #@54 List of characters which *might* need to be escaped. (defvar yas--escaped-characters '(92 96 34 39 36 125 123 40 41) (#$ . 14983)) #@41 A regexp to *almost* recognize a field. (defconst yas--field-regexp "${\\([0-9]+:\\)?\\([^}]*\\)}" (#$ . 15120)) #@55 A regexp to *almost* recognize a "$(...)" expression. (defconst yas--multi-dollar-lisp-expression-regexp "$+[ \n]*\\(([^)]*)\\)" (#$ . 15239)) #@61 A regexp to recognize a "\=`lisp-expression\=`" expression. (defconst yas--backquote-lisp-expression-regexp "`\\([^`]*\\)`" (#$ . 15389)) #@59 A regexp to *almost* recognize a mirror with a transform. (defconst yas--transform-mirror-regexp "${\\(?:\\([0-9]+\\):\\)?$\\([ \n]*([^}]*\\)" (#$ . 15533)) #@40 A regexp to recognize a simple mirror. (defconst yas--simple-mirror-regexp "$\\([0-9]+\\)" (#$ . 15697)) #@37 Contains the next id for a snippet. (defvar yas--snippet-id-seed 0 (#$ . 15808)) #@45 The original value of `auto-fill-function'. (defvar yas--original-auto-fill-function nil (#$ . 15895)) (make-variable-buffer-local 'yas--original-auto-fill-function) (defvar yas--watch-auto-fill-backtrace nil) (defalias 'yas--watch-auto-fill #[(sym newval op _where) "\303=\203 \204\n\306=\204!\302=\205L \306=\205L ?\205L\f?\205L\307\310!\205L \311=\205C\312\302!\306=?\205C\313\314\310\315!\316\317$?\205L\310\315!\211\207" [sym newval auto-fill-function yas--original-auto-fill-function yas--watch-auto-fill-backtrace op yas--auto-fill fboundp backtrace-frames makunbound default-value cl-member kill-all-local-variables yas--watch-auto-fill :key #[(frame) "A@\207" [frame] 1]] 5]) (byte-code "\300\301!\203\301\302\303\"\210\301\304\303\"\210\300\207" [fboundp add-variable-watcher yas--original-auto-fill-function yas--watch-auto-fill auto-fill-function] 3) (defalias 'yas--snippet-next-id #[nil "T )\207" [yas--snippet-id-seed id] 1]) #@27 Holds the YASnippet menu. (defvar yas--minor-mode-menu nil (#$ . 16865)) (defvar yas--condition-cache-timestamp nil) #@128 Return CMD if there is an expandable snippet at point. This function is useful as a `:filter' to a conditional key definition. (defalias 'yas-maybe-expand-abbrev-key-filter #[(cmd) "\302 \303 )\205\n \207" [yas--condition-cache-timestamp cmd current-time yas--templates-for-key-at-point] 1 (#$ . 16989)]) (byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias yas--maybe-expand-key-filter yas-maybe-expand-abbrev-key-filter nil make-obsolete "0.14"] 4) #@164 A conditional key definition. This can be used as a key definition in keymaps to bind a key to `yas-expand' only when there is a snippet available to be expanded. (defconst yas-maybe-expand '(menu-item "" yas-expand :filter yas-maybe-expand-abbrev-key-filter) (#$ . 17462)) #@50 The keymap used when `yas-minor-mode' is active. (defvar yas-minor-mode-map (byte-code "\302 \303\304 #\210\303\305 #\210\303\306\307#\210\303\310\311#\210\303\312\313#\210)\207" [map yas-maybe-expand make-sparse-keymap define-key [(tab)] " " "&" yas-insert-snippet "&" yas-new-snippet "&" yas-visit-snippet-file] 4) (#$ . 17742)) #@44 Menu used when `yas-minor-mode' is active. (defvar yas--minor-mode-menu nil (#$ . 18092)) (byte-code "\303\304\305\306$\210\307\310\311\312#\210\313\312\211\2033\n@\310 N\203,\311 N\204,\314\311 \310 N#\210\nA\211\204*\315\310\311\316#\207" [yas-minor-mode-map prop --dolist-tail-- easy-menu-do-define yas--minor-mode-menu "Menu used when `yas-minor-mode' is active." ("YASnippet" :visible yas-use-menu "----" ["Expand trigger" yas-expand :help "Possibly expand tab trigger before point"] ["Insert at point..." yas-insert-snippet :help "Prompt for an expandable snippet and expand it at point"] ["New snippet..." yas-new-snippet :help "Create a new snippet in an appropriate directory"] ["Visit snippet file..." yas-visit-snippet-file :help "Prompt for an expandable snippet and find its file"] "----" ("Snippet menu behaviour" ["Visit snippets" (setq yas-visit-from-menu t) :help "Visit snippets from the menu" :active t :style radio :selected yas-visit-from-menu] ["Expand snippets" (setq yas-visit-from-menu nil) :help "Expand snippets from the menu" :active t :style radio :selected (not yas-visit-from-menu)] "----" ["Show all known modes" (setq yas-use-menu 'full) :help "Show one snippet submenu for each loaded table" :active t :style radio :selected (eq yas-use-menu 'full)] ["Abbreviate according to current mode" (setq yas-use-menu 'abbreviate) :help "Show only snippet submenus for the current active modes" :active t :style radio :selected (eq yas-use-menu 'abbreviate)]) ("Indenting" ["Auto" (setq yas-indent-line 'auto) :help "Indent each line of the snippet with `indent-according-to-mode'" :active t :style radio :selected (eq yas-indent-line 'auto)] ["Fixed" (setq yas-indent-line 'fixed) :help "Indent the snippet to the current column" :active t :style radio :selected (eq yas-indent-line 'fixed)] ["None" (setq yas-indent-line 'none) :help "Don't apply any particular snippet indentation after expansion" :active t :style radio :selected (not (member yas-indent-line '(fixed auto)))] "----" ["Also auto indent first line" (setq yas-also-auto-indent-first-line (not yas-also-auto-indent-first-line)) :help "When auto-indenting also, auto indent the first line menu" :active (eq yas-indent-line 'auto) :style toggle :selected yas-also-auto-indent-first-line]) ("Prompting method" ["System X-widget" (setq yas-prompt-functions (cons #'yas-x-prompt (remove #'yas-x-prompt yas-prompt-functions))) :help "Use your windowing system's (gtk, mac, windows, etc...) default menu" :active t :style radio :selected (eq (car yas-prompt-functions) #'yas-x-prompt)] ["Dropdown-list" (setq yas-prompt-functions (cons #'yas-dropdown-prompt (remove #'yas-dropdown-prompt yas-prompt-functions))) :help "Use a special dropdown list" :active t :style radio :selected (eq (car yas-prompt-functions) #'yas-dropdown-prompt)] ["Ido" (setq yas-prompt-functions (cons #'yas-ido-prompt (remove #'yas-ido-prompt yas-prompt-functions))) :help "Use an ido-style minibuffer prompt" :active t :style radio :selected (eq (car yas-prompt-functions) #'yas-ido-prompt)] ["Completing read" (setq yas-prompt-functions (cons #'yas-completing-prompt (remove #'yas-completing-prompt yas-prompt-functions))) :help "Use a normal minibuffer prompt" :active t :style radio :selected (eq (car yas-prompt-functions) #'yas-completing-prompt)]) ("Misc" ["Wrap region in exit marker" (setq yas-wrap-around-region (not yas-wrap-around-region)) :help "If non-nil automatically wrap the selected text in the $0 snippet exit" :style toggle :selected yas-wrap-around-region] ["Allow stacked expansions " (setq yas-triggers-in-field (not yas-triggers-in-field)) :help "If non-nil allow snippets to be triggered inside other snippet fields" :style toggle :selected yas-triggers-in-field] ["Revive snippets on undo " (setq yas-snippet-revival (not yas-snippet-revival)) :help "If non-nil allow snippets to become active again after undo" :style toggle :selected yas-snippet-revival] ["Good grace " (setq yas-good-grace (not yas-good-grace)) :help "If non-nil don't raise errors in bad embedded elisp in snippets" :style toggle :selected yas-good-grace]) "----" ["Load snippets..." yas-load-directory :help "Load snippets from a specific directory"] ["Reload everything" yas-reload-all :help "Cleanup stuff, reload snippets, rebuild menus"] ["About" yas-about :help "Display some information about YASnippet"]) defvaralias yas-extra-modes yas--extra-modes nil (saved-value saved-variable-comment) put make-obsolete-variable "0.9.1"] 6) #@178 An internal list of modes for which to also lookup snippets. This variable probably makes more sense as buffer-local, so ensure your use `make-local-variable' when you set it. (defvar yas--extra-modes nil (#$ . 22605)) #@55 A hash table of mode symbols to `yas--table' objects. (defvar yas--tables (make-hash-table) (#$ . 22831)) #@348 A hash table of mode symbols do lists of direct parent mode symbols. This list is populated when reading the ".yas-parents" files found when traversing snippet directories with `yas-load-directory'. There might be additional parenting information stored in the `derived-mode-parent' property of some mode symbols, but that is not recorded here. (defvar yas--parents (make-hash-table) (#$ . 22944)) #@466 Keymap alist supporting direct snippet keybindings. This variable is placed in `emulation-mode-map-alists'. Its elements looks like (TABLE-NAME . KEYMAP). They're instantiated on `yas-reload-all' but KEYMAP is added to only when loading snippets. `yas--direct-TABLE-NAME' is then a variable set buffer-locally when entering `yas-minor-mode'. KEYMAP binds all defined direct keybindings to `yas-maybe-expand-from-keymap' which decides on the snippet to expand. (defvar yas--direct-keymaps nil (#$ . 23351)) #@63 Force reload the direct keybinding for active snippet tables. (defalias 'yas-direct-keymaps-reload #[nil "\302\303\304 \"\207" [yas--direct-keymaps yas--tables nil maphash #[(name table) "\303\304\305\"!\306 !B\nB\211\207" [name table yas--direct-keymaps intern format "yas--direct-%s" yas--table-direct-keymap] 4]] 3 (#$ . 23868) nil]) #@76 Compute list of mode symbols that are active for `yas-expand' and friends. (defalias 'yas--modes-to-activate #[(&optional mode) "\203 C\202 \305\n!B\306\307\f \"\210 \237*\207" [mode major-mode yas--extra-modes explored yas--dfs reverse #[(mode) "\306N\206\307\310!\205K\311 \"BB\312\n:\203>\n@\211\2037 \f>\2047 9\2037 \fB !\210\nA\211\202*\312\207" [mode yas--parents #1=#:--cl-var-- neighbour explored yas--dfs derived-mode-parent fundamental-mode fboundp gethash nil] 6] mapc] 3 (#$ . 24214)]) #@46 Hook run when `yas-minor-mode' is turned on. (defvar yas-minor-mode-hook nil (#$ . 24745)) (defalias 'yas--auto-fill-wrapper #[nil "\205\302=?\205\302\211\207" [auto-fill-function yas--original-auto-fill-function yas--auto-fill] 2]) #@97 Non-nil if yas minor mode is enabled. Use the command `yas-minor-mode' to change this variable. (defvar yas-minor-mode nil (#$ . 24993)) (make-variable-buffer-local 'yas-minor-mode) #@864 Toggle YASnippet mode. This is a minor mode. If called interactively, toggle the `yas minor mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate `yas-minor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. When YASnippet mode is enabled, `yas-expand', normally bound to the TAB key, expands snippets of code depending on the major mode. With no argument, this command toggles the mode. positive prefix argument turns on the mode. Negative prefix argument turns off the mode. Key bindings: \{yas-minor-mode-map} (defalias 'yas-minor-mode #[(&optional arg) "\306  \307=\203\n?\202 \247\203 \310W\203\311\202\312\313\303!\2032\314\302 \"\n\2032\302 B\n\203\216\315\316!\203\216\317\f>\203G\f\210\202K\317\fB\320\321\322\311\312$\210\323 \311\211,\203,@\324\325\326 \"!-\327-\311\"\210\330-!\312L\210),A\211,\204\\*\331 \210\332 \210\320\333\332\"\210\202\250\334\321\322\312#\210\334\333\332\"\210\335\336!\203\243.\337\317\f\"\340\341\n\203\262\342\202\263\343\"\210\344\345!\203\332\306 \203\307\306 \232\203\332\346/\347\350\n\203\324\351\202\325\352/#\210))\353 \210\n\207" [#1=#:last-message arg yas-minor-mode local-minor-modes emulation-mode-map-alists mode current-message toggle 1 nil t boundp delq featurep yasnippet yas--direct-keymaps add-hook post-command-hook yas--post-command-handler yas--modes-to-activate intern format "yas--direct-%s" set-default make-local-variable yas--load-pending-jits yas--auto-fill-wrapper auto-fill-mode-hook remove-hook local-variable-p yas--original-auto-fill-function remove run-hooks yas-minor-mode-hook yas-minor-mode-on-hook yas-minor-mode-off-hook called-interactively-p any " in current buffer" message "yas minor mode %sabled%s" "en" "dis" force-mode-line-update --dolist-tail-- name auto-fill-function local] 6 (#$ . 25182) (list (if current-prefix-arg (prefix-numeric-value current-prefix-arg) 'toggle))]) (defvar yas-minor-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\313\314\300!\205#\310\211%\207" [yas-minor-mode-map yas-minor-mode-hook variable-documentation put "Hook run after entering or leaving `yas-minor-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode yas-minor-mode " yas" boundp] 6) #@164 Activates the snippets for the given `mode' in the buffer. The function can be called in the hook of a minor mode to activate snippets associated with that mode. (defalias 'yas-activate-extra-mode #[(mode) "\205 \301\302\303!\"\210\304 \207" [mode add-to-list make-local-variable yas--extra-modes yas--load-pending-jits] 3 (#$ . 27948) (let (modes symbol) (maphash #'(lambda (k _) (setq modes (cons (list k) modes))) yas--parents) (setq symbol (completing-read "Activate mode: " modes nil t)) (list (if (not (string= "" symbol)) (progn (intern symbol)))))]) #@62 Deactivates the snippets for the given `mode' in the buffer. (defalias 'yas-deactivate-extra-mode #[(mode) "\302\301!\210\303 \"\211\207" [mode yas--extra-modes make-local-variable remove] 3 (#$ . 28516) (list (intern (completing-read "Deactivate mode: " (mapcar #'list yas--extra-modes) nil t)))]) (defalias 'yas-temp-buffer-p #[(&optional buffer) "\301!\302H\303=\207" [buffer buffer-name 0 32] 2]) (byte-code "\302\303\304\305#\210\306\305\211\203, @\303N\203%\304N\204%\307\304\303N#\210 A\211\204*\310\303\304\311#\207" [prop --dolist-tail-- defvaralias yas-dont-activate yas-dont-activate-functions nil (saved-value saved-variable-comment) put make-obsolete-variable "0.9.2"] 6) #@664 Special hook to control which buffers `yas-global-mode' affects. Functions are called with no argument, and should return non-nil to prevent `yas-global-mode' from enabling yasnippet in this buffer. In Emacsen < 24, this variable is buffer-local. Because `yas-minor-mode-on' is called by `yas-global-mode' after executing the buffer's major mode hook, setting this variable there is an effective way to define exceptions to the "global" activation behaviour. In Emacsen >= 24, only the global value is used. To define per-mode exceptions to the "global" activation behaviour, call `yas-minor-mode' with a negative argument directily in the major mode's hook. (defvar yas-dont-activate-functions (list 'minibufferp 'yas-temp-buffer-p) (#$ . 29224)) (byte-code "\301V\204\n\302\303!\210\301\207" [emacs-major-version 23 make-variable-buffer-local yas-dont-activate] 2) #@81 Turn on YASnippet minor mode. Honour `yas-dont-activate-functions', which see. (defalias 'yas-minor-mode-on #[nil "<\206\301!?\206\302\300!?\205\303\304!\207" [yas-dont-activate-functions functionp run-hook-with-args-until-success yas-minor-mode 1] 2 (#$ . 30103) nil]) (put 'yas-global-mode 'globalized-minor-mode t) (defvar yas-minor-mode-major-mode nil nil) (byte-code "\300\301!\210\302\303\304\305\306\307\310\311\312\313& \207" [make-variable-buffer-local yas-minor-mode-major-mode custom-declare-variable yas-global-mode nil "Non-nil if Yas-Global mode is enabled.\nSee the `yas-global-mode' command\nfor a description of this minor mode.\nSetting this variable directly does not take effect;\neither customize it (see the info node `Easy Customization')\nor call the function `yas-global-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean] 10) #@329 Toggle Yas minor mode in all buffers. With prefix ARG, enable Yas-Global mode if ARG is positive; otherwise, disable it. If called from Lisp, enable the mode if ARG is omitted or nil. Yas minor mode is enabled in all buffers where `yas-minor-mode-on' would do it. See `yas-minor-mode' for more information on Yas minor mode. (defalias 'yas-global-mode #[(&optional arg) "\306 \307\303 \310=\203\311\303!?\202\" \247\203! \312W\203!\313\202\"\314\"\210\315\302!\2039\316\303\n\"\311\303!\2039\303\nB \203O\317\320\321\"\210\317\322\323\"\210\317\324\325\"\210\202^\326\320\321\"\210\326\322\323\"\210\326\324\325\"\210\327 \313\211\203\211 @r\fq\210 \203x\330 \210\202\201\203\201\331\332!\210) A\211\204g*\333\334\311\303!\203\226\335\202\227\336\"\210\337\340!\203\304\341\303!\210\306 \203\257\306 \232\203\304\342(\343\344\311\303!\203\276\345\202\277\346(#\210))\347 \210\311\303!\207" [#1=#:last-message arg global-minor-modes yas-global-mode buf --dolist-tail-- current-message set-default toggle default-value 1 nil t boundp delq add-hook after-change-major-mode-hook yas-global-mode-enable-in-buffers find-file-hook yas-global-mode-check-buffers change-major-mode-hook yas-global-mode-cmhh remove-hook buffer-list yas-minor-mode-on yas-minor-mode -1 run-hooks yas-global-mode-hook yas-global-mode-on-hook yas-global-mode-off-hook called-interactively-p any customize-mark-as-set "" message "Yas-Global mode %sabled%s" "en" "dis" force-mode-line-update local] 5 (#$ . 31007) (list (if current-prefix-arg (prefix-numeric-value current-prefix-arg) 'toggle))]) (defvar yas-global-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\310\313\300!\205#\310\211%\207" [yas-global-mode-map yas-global-mode-hook variable-documentation put "Hook run after entering or leaving `yas-global-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode yas-global-mode boundp] 6) (defvar yas-minor-mode-set-explicitly nil nil) (make-variable-buffer-local 'yas-minor-mode-set-explicitly) (defalias 'yas-minor-mode-set-explicitly #[nil "\301\211\207" [yas-minor-mode-set-explicitly t] 2]) (byte-code "\300\301\302\303#\210\304\305\301\"\207" [put yas-minor-mode-set-explicitly definition-name yas-global-mode add-hook yas-minor-mode-hook] 4) (defvar yas-global-mode-buffers nil) (defalias 'yas-global-mode-enable-in-buffers #[nil "\306 \306\211\205B @\307\n!\203:r\nq\210\f\2046  =\2046\2033\310\311!\210\312 \210\2026\312 \210 ) A\211\204\f\306+\207" [yas-global-mode-buffers buffers buf --dolist-tail-- yas-minor-mode-set-explicitly yas-minor-mode-major-mode nil buffer-live-p yas-minor-mode -1 yas-minor-mode-on major-mode] 3]) (put 'yas-global-mode-enable-in-buffers 'definition-name 'yas-global-mode) (defalias 'yas-global-mode-check-buffers #[nil "\300 \210\301\302\303\"\207" [yas-global-mode-enable-in-buffers remove-hook post-command-hook yas-global-mode-check-buffers] 3]) (put 'yas-global-mode-check-buffers 'definition-name 'yas-global-mode) (defalias 'yas-global-mode-cmhh #[nil "p\211 \235\203 \210\202 B)\302\303\304\"\207" [#1=#:x yas-global-mode-buffers add-hook post-command-hook yas-global-mode-check-buffers] 4]) (put 'yas-global-mode-cmhh 'definition-name 'yas-global-mode) #@52 Run `yas-reload-all' when `yas-global-mode' is on. (defalias 'yas--global-mode-reload-with-jit-maybe #[nil "\205\301 \207" [yas-global-mode yas-reload-all] 1 (#$ . 34454)]) (add-hook 'yas-global-mode-hook 'yas--global-mode-reload-with-jit-maybe) (defvar yas--font-lock-keywords (byte-code "\304\305\306\307\310\"rq\210\311\216\312\211\3131\314 0\210\202\210*\315 \210 \242\310=\203. A@\202/ +\316#\207" [#1=#:temp-buffer emacs-lisp-mode-hook prog-mode-hook font-lock-keywords append (("^#.*$" . font-lock-comment-face)) generate-new-buffer " *temp*" t #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] nil (error) emacs-lisp-mode font-lock-set-defaults (("\\$\\([0-9]+\\)" (0 font-lock-keyword-face) (1 font-lock-string-face t)) ("\\${\\([0-9]+\\):?" (0 font-lock-keyword-face) (1 font-lock-warning-face t)) ("\\(\\$(\\)" 1 font-lock-preprocessor-face) ("}" (0 font-lock-keyword-face)))] 5)) #@48 The keymap used when `snippet-mode' is active. (defvar snippet-mode-map (byte-code "\301 \302\303\304\305\306\307\310\"B$\210)\207" [map make-sparse-keymap easy-menu-do-define nil "Menu used when snippet-mode is active." "Snippet" mapcar #[(ent) "\3028\203\303 \3028A@#\210\304@A@\305#\207" [ent map 2 define-key vector t] 4] (("Load this snippet" yas-load-snippet-buffer "\f") ("Load and quit window" yas-load-snippet-buffer-and-close "") ("Try out this snippet" yas-tryout-snippet ""))] 8) (#$ . 35379)) (byte-code "\301\302!\203\205\303\304!\210\305\306N\204\307\305\306\310#\210\311\312!\204\"\307\312\313\314#\210\315\316 !\210\312\306N\2045\307\312\306\317\320!#\210\311\321!\204F\307\321\313\314#\210\322\323 !\210\321\306N\204T\307\321\306\317\324!#\210\311\300!\204i\307\300\313\314#\210\325\326\300\304\"\210!\210\300\306N\204w\307\300\306\317\327!#\210\307\314\330\302#\210\331\314\332\"\210\202\333\304!\210\305\306N\204\225\307\305\306\310#\210\311\312!\204\241\307\312\313\314#\210\334\316 !\210\312\306N\204\264\307\312\306\317\320!#\210\311\321!\204\305\307\321\313\314#\210\335\323 !\210\321\306N\204\323\307\321\306\317\324!#\210\311\300!\204\350\307\300\313\314#\210\336\326\300\304\"\210!\210\300\306N\204\366\307\300\306\317\327!#\210\307\314\330\304#\210\331\314\337\"\210\304\207" [snippet-mode-abbrev-table fboundp prog-mode (lambda (#1=#:def-tmp-var) (defvar snippet-mode-hook #1#)) nil snippet-mode-hook variable-documentation put "Hook run after entering Snippet mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp snippet-mode-map definition-name snippet-mode (lambda (#1#) (defvar snippet-mode-map #1#)) make-sparse-keymap purecopy "Keymap for `snippet-mode'." snippet-mode-syntax-table (lambda (#1#) (defvar snippet-mode-syntax-table #1#)) make-syntax-table "Syntax table for `snippet-mode'." (lambda (#1#) (defvar snippet-mode-abbrev-table #1#)) define-abbrev-table "Abbrev table for `snippet-mode'." derived-mode-parent defalias #[nil "\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\2036 \321 =\203<\322\f\323 \"\210)\324%\325\"\204V%&=\204V\326%\325&C#\210\327 !\210\330\f!\210%&\331'\306\332!\210\333\306\334!\210\335\306\336!\210\337\340\341\342\333\307$\210)\343\344!\207" [delay-mode-hooks major-mode mode-name snippet-mode-map snippet-mode-syntax-table parent make-local-variable t prog-mode snippet-mode "Snippet" 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 (yas--font-lock-keywords) require-final-newline nil comment-start "#" comment-start-skip "#+[ ]*" add-hook after-save-hook yas-maybe-load-snippet-buffer run-mode-hooks snippet-mode-hook snippet-mode-abbrev-table local-abbrev-table font-lock-defaults] 6 "A mode for editing yasnippets\n\nIn addition to any hooks its parent mode `prog-mode' might have run,\nthis mode runs the hook `snippet-mode-hook', as the final or\npenultimate step during initialization.\n\n\\{snippet-mode-map}" nil] (lambda (#1#) (defvar snippet-mode-hook #1#)) (lambda (#1#) (defvar snippet-mode-map #1#)) (lambda (#1#) (defvar snippet-mode-syntax-table #1#)) (lambda (#1#) (defvar snippet-mode-abbrev-table #1#)) #[nil "\306\300!\210\307\310 \210\311\312\313 !\210\314\f!\210 \315\306\316!\210\317\306\320!\210\321\306\322!\210\323\324\325\326\317\307$\210)\327\330!\207" [delay-mode-hooks major-mode mode-name snippet-mode-map snippet-mode-syntax-table snippet-mode-abbrev-table make-local-variable t kill-all-local-variables snippet-mode "Snippet" use-local-map set-syntax-table (yas--font-lock-keywords) require-final-newline nil comment-start "#" comment-start-skip "#+[ ]*" add-hook after-save-hook yas-maybe-load-snippet-buffer run-mode-hooks snippet-mode-hook local-abbrev-table font-lock-defaults] 5 "A mode for editing yasnippets\n\nThis mode runs the hook `snippet-mode-hook', as the final or\npenultimate step during initialization.\n\n\\{snippet-mode-map}" nil]] 5) #@149 Return non-nil if current buffer should be in `snippet-mode'. Meaning it's visiting a file under one of the mode directories in `yas-snippet-dirs'. (defalias 'yas-snippet-mode-buffer-p #[nil "\205 \301\302 \303\304$\207" [buffer-file-name cl-member yas-snippet-dirs :test file-in-directory-p] 5 (#$ . 39635)]) (add-to-list 'magic-fallback-mode-alist '(yas-snippet-mode-buffer-p . snippet-mode)) #@48 compiler-macro for inlining `yas--template-p'. (defalias 'yas--template-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-p (and (memq (type-of cl-x) cl-struct-yas--template-tags) t)) nil] 7 (#$ . 40039)]) (put 'yas--template-p 'compiler-macro 'yas--template-p--cmacro) (defalias 'yas--template-p #[(cl-x) "\302! >\205 \303\207" [cl-x cl-struct-yas--template-tags type-of t] 2]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put yas--template-p side-effect-free error-free put yas--template cl-deftype-satisfies] 5) #@50 compiler-macro for inlining `yas--template-key'. (defalias 'yas--template-key--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-key (progn (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 1))) nil] 7 (#$ . 40653)]) (put 'yas--template-key 'compiler-macro 'yas--template-key--cmacro) #@51 Access slot "key" of `yas--template' struct CL-X. (defalias 'yas--template-key #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 1] 4 (#$ . 41061)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--template-key side-effect-free t] 4) #@54 compiler-macro for inlining `yas--template-content'. (defalias 'yas--template-content--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-content (progn (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 2))) nil] 7 (#$ . 41400)]) (put 'yas--template-content 'compiler-macro 'yas--template-content--cmacro) #@55 Access slot "content" of `yas--template' struct CL-X. (defalias 'yas--template-content #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 2] 4 (#$ . 41828)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--template-content side-effect-free t] 4) #@51 compiler-macro for inlining `yas--template-name'. (defalias 'yas--template-name--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-name (progn (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 3))) nil] 7 (#$ . 42179)]) (put 'yas--template-name 'compiler-macro 'yas--template-name--cmacro) #@52 Access slot "name" of `yas--template' struct CL-X. (defalias 'yas--template-name #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 3] 4 (#$ . 42592)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--template-name side-effect-free t] 4) #@56 compiler-macro for inlining `yas--template-condition'. (defalias 'yas--template-condition--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-condition (progn (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 4))) nil] 7 (#$ . 42934)]) (put 'yas--template-condition 'compiler-macro 'yas--template-condition--cmacro) #@57 Access slot "condition" of `yas--template' struct CL-X. (defalias 'yas--template-condition #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 4] 4 (#$ . 43372)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--template-condition side-effect-free t] 4) #@57 compiler-macro for inlining `yas--template-expand-env'. (defalias 'yas--template-expand-env--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-expand-env (progn (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 5))) nil] 7 (#$ . 43729)]) (put 'yas--template-expand-env 'compiler-macro 'yas--template-expand-env--cmacro) #@58 Access slot "expand-env" of `yas--template' struct CL-X. (defalias 'yas--template-expand-env #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 5] 4 (#$ . 44172)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--template-expand-env side-effect-free t] 4) #@56 compiler-macro for inlining `yas--template-load-file'. (defalias 'yas--template-load-file--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-load-file (progn (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 6))) nil] 7 (#$ . 44532)]) (put 'yas--template-load-file 'compiler-macro 'yas--template-load-file--cmacro) #@57 Access slot "load-file" of `yas--template' struct CL-X. (defalias 'yas--template-load-file #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 6] 4 (#$ . 44970)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--template-load-file side-effect-free t] 4) #@56 compiler-macro for inlining `yas--template-save-file'. (defalias 'yas--template-save-file--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-save-file (progn (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 7))) nil] 7 (#$ . 45327)]) (put 'yas--template-save-file 'compiler-macro 'yas--template-save-file--cmacro) #@57 Access slot "save-file" of `yas--template' struct CL-X. (defalias 'yas--template-save-file #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 7] 4 (#$ . 45765)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--template-save-file side-effect-free t] 4) #@57 compiler-macro for inlining `yas--template-keybinding'. (defalias 'yas--template-keybinding--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-keybinding (progn (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 8))) nil] 7 (#$ . 46122)]) (put 'yas--template-keybinding 'compiler-macro 'yas--template-keybinding--cmacro) #@58 Access slot "keybinding" of `yas--template' struct CL-X. (defalias 'yas--template-keybinding #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 8] 4 (#$ . 46565)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--template-keybinding side-effect-free t] 4) #@51 compiler-macro for inlining `yas--template-uuid'. (defalias 'yas--template-uuid--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-uuid (progn (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 9))) nil] 7 (#$ . 46925)]) (put 'yas--template-uuid 'compiler-macro 'yas--template-uuid--cmacro) #@52 Access slot "uuid" of `yas--template' struct CL-X. (defalias 'yas--template-uuid #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 9] 4 (#$ . 47338)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--template-uuid side-effect-free t] 4) #@64 compiler-macro for inlining `yas--template-menu-binding-pair'. (defalias 'yas--template-menu-binding-pair--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-menu-binding-pair (progn (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 10))) nil] 7 (#$ . 47680)]) (put 'yas--template-menu-binding-pair 'compiler-macro 'yas--template-menu-binding-pair--cmacro) #@65 Access slot "menu-binding-pair" of `yas--template' struct CL-X. (defalias 'yas--template-menu-binding-pair #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 10] 4 (#$ . 48159)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--template-menu-binding-pair side-effect-free t] 4) #@52 compiler-macro for inlining `yas--template-group'. (defalias 'yas--template-group--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-group (progn (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 11))) nil] 7 (#$ . 48541)]) (put 'yas--template-group 'compiler-macro 'yas--template-group--cmacro) #@53 Access slot "group" of `yas--template' struct CL-X. (defalias 'yas--template-group #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 11] 4 (#$ . 48960)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--template-group side-effect-free t] 4) #@57 compiler-macro for inlining `yas--template-perm-group'. (defalias 'yas--template-perm-group--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-perm-group (progn (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 12))) nil] 7 (#$ . 49306)]) (put 'yas--template-perm-group 'compiler-macro 'yas--template-perm-group--cmacro) #@58 Access slot "perm-group" of `yas--template' struct CL-X. (defalias 'yas--template-perm-group #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 12] 4 (#$ . 49750)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--template-perm-group side-effect-free t] 4) #@52 compiler-macro for inlining `yas--template-table'. (defalias 'yas--template-table--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--template-table (progn (or (yas--template-p cl-x) (signal 'wrong-type-argument (list 'yas--template cl-x))) (aref cl-x 13))) nil] 7 (#$ . 50111)]) (put 'yas--template-table 'compiler-macro 'yas--template-table--cmacro) #@53 Access slot "table" of `yas--template' struct CL-X. (defalias 'yas--template-table #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 13] 4 (#$ . 50530)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put yas--template-table side-effect-free t defalias copy-yas--template copy-sequence] 4) #@196 compiler-macro for inlining `yas--make-template'. (fn CL-WHOLE &cl-quote &key KEY CONTENT NAME CONDITION EXPAND-ENV LOAD-FILE SAVE-FILE KEYBINDING UUID MENU-BINDING-PAIR GROUP PERM-GROUP TABLE) (defalias 'yas--make-template--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\306\315\"A@\306\316\"A@\306\317\"A@\306\320\"A@ \306\321\"A@!\306\322\"A@\"\306\323\"A@#$$\203\226$@\324>\203}$AA\211$\202h\325>A@\203\214\326\211$\202h\327\330$@\"\210\202f)\331\332\333\326%\326 \n \f  !\"#&. \207" [#1# key content name condition expand-env plist-member :key :content :name :condition :expand-env :load-file :save-file :keybinding :uuid :menu-binding-pair :group :perm-group :table (:key :content :name :condition :expand-env :load-file :save-file :keybinding :uuid :menu-binding-pair :group :perm-group :table :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:key :content :name :condition :expand-env :load-file :save-file :keybinding :uuid :menu-binding-pair :group :perm-group :table)" cl--defsubst-expand (key content name condition expand-env load-file save-file keybinding uuid menu-binding-pair group perm-group table) (cl-block yas--make-template (record 'yas--template key content name condition expand-env load-file save-file keybinding uuid menu-binding-pair group perm-group table)) load-file save-file keybinding uuid menu-binding-pair group perm-group table #2=#:--cl-keys-- cl-whole] 20 (#$ . 50929)]) (put 'yas--make-template 'compiler-macro 'yas--make-template--cmacro) #@176 Constructor for objects of type `yas--template'. (fn &key KEY CONTENT NAME CONDITION EXPAND-ENV LOAD-FILE SAVE-FILE KEYBINDING UUID MENU-BINDING-PAIR GROUP PERM-GROUP TABLE) (defalias 'yas--make-template #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\306\315\"A@\306\316\"A@\306\317\"A@\306\320\"A@\306\321\"A@ \306\322\"A@!\306\323\"A@\"##\203\226#@\324>\203}#AA\211#\202h\325>A@\203\214\326\211#\202h\327\330#@\"\210\202f)\331\332 \n \f  !\"&. \207" [#1# key content name condition expand-env plist-member :key :content :name :condition :expand-env :load-file :save-file :keybinding :uuid :menu-binding-pair :group :perm-group :table (:key :content :name :condition :expand-env :load-file :save-file :keybinding :uuid :menu-binding-pair :group :perm-group :table :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:key :content :name :condition :expand-env :load-file :save-file :keybinding :uuid :menu-binding-pair :group :perm-group :table)" record yas--template load-file save-file keybinding uuid menu-binding-pair group perm-group table #2=#:--cl-keys--] 16 (#$ . 52575)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--make-template side-effect-free t] 4) #@155 Constructor for objects of type `yas--template'. (fn TABLE KEY CONTENT &optional XNAME CONDITION GROUP EXPAND-ENV LOAD-FILE XKEYBINDING XUUID SAVE-FILE) (defalias 'yas--define-snippets-2 #[(table key content &optional xname condition group expand-env load-file xkeybinding xuuid save-file &rest #1=#:--cl-rest--) "\206 \203\306 !\206\n\203\306\n!\206 \307 !\206%\f\310\311!\"\211\205K\312!>\204G\313\314\315D\"\210\316H\205h\312!>\204d\313\314\315D\"\210\317H\203z\313\320\321\322G\\D\"\210\323\315 \f \n &.\207" [xname load-file save-file key name xkeybinding file-name-nondirectory yas--read-keybinding gethash yas--table-uuidhash type-of signal wrong-type-argument yas--template 10 12 wrong-number-of-arguments yas--define-snippets-2 11 record keybinding xuuid uuid table old cl-struct-yas--template-tags menu-binding-pair perm-group #1# content condition expand-env group] 16 (#$ . 53901)]) (byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303& \207" [function-put yas--define-snippets-2 side-effect-free t cl-struct-define yas--template "A template for a snippet." cl-structure-object record nil ((cl-tag-slot) (key) (content) (name) (condition) (expand-env) (load-file) (save-file) (keybinding) (uuid) (menu-binding-pair) (group) (perm-group) (table)) cl-struct-yas--template-tags] 11) #@45 compiler-macro for inlining `yas--table-p'. (defalias 'yas--table-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--table-p (and (memq (type-of cl-x) cl-struct-yas--table-tags) t)) nil] 7 (#$ . 55292)]) (put 'yas--table-p 'compiler-macro 'yas--table-p--cmacro) (defalias 'yas--table-p #[(cl-x) "\302! >\205 \303\207" [cl-x cl-struct-yas--table-tags type-of t] 2]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put yas--table-p side-effect-free error-free put yas--table cl-deftype-satisfies] 5) #@48 compiler-macro for inlining `yas--table-name'. (defalias 'yas--table-name--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--table-name (progn (or (yas--table-p cl-x) (signal 'wrong-type-argument (list 'yas--table cl-x))) (aref cl-x 1))) nil] 7 (#$ . 55876)]) (put 'yas--table-name 'compiler-macro 'yas--table-name--cmacro) #@49 Access slot "name" of `yas--table' struct CL-X. (defalias 'yas--table-name #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--table-tags type-of signal wrong-type-argument yas--table 1] 4 (#$ . 56268)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--table-name side-effect-free t] 4) #@48 compiler-macro for inlining `yas--table-hash'. (defalias 'yas--table-hash--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--table-hash (progn (or (yas--table-p cl-x) (signal 'wrong-type-argument (list 'yas--table cl-x))) (aref cl-x 2))) nil] 7 (#$ . 56595)]) (put 'yas--table-hash 'compiler-macro 'yas--table-hash--cmacro) #@49 Access slot "hash" of `yas--table' struct CL-X. (defalias 'yas--table-hash #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--table-tags type-of signal wrong-type-argument yas--table 2] 4 (#$ . 56987)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--table-hash side-effect-free t] 4) #@52 compiler-macro for inlining `yas--table-uuidhash'. (defalias 'yas--table-uuidhash--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--table-uuidhash (progn (or (yas--table-p cl-x) (signal 'wrong-type-argument (list 'yas--table cl-x))) (aref cl-x 3))) nil] 7 (#$ . 57314)]) (put 'yas--table-uuidhash 'compiler-macro 'yas--table-uuidhash--cmacro) #@53 Access slot "uuidhash" of `yas--table' struct CL-X. (defalias 'yas--table-uuidhash #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--table-tags type-of signal wrong-type-argument yas--table 3] 4 (#$ . 57726)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--table-uuidhash side-effect-free t] 4) #@51 compiler-macro for inlining `yas--table-parents'. (defalias 'yas--table-parents--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--table-parents (progn (or (yas--table-p cl-x) (signal 'wrong-type-argument (list 'yas--table cl-x))) (aref cl-x 4))) nil] 7 (#$ . 58065)]) (put 'yas--table-parents 'compiler-macro 'yas--table-parents--cmacro) #@52 Access slot "parents" of `yas--table' struct CL-X. (defalias 'yas--table-parents #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--table-tags type-of signal wrong-type-argument yas--table 4] 4 (#$ . 58472)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--table-parents side-effect-free t] 4) #@57 compiler-macro for inlining `yas--table-direct-keymap'. (defalias 'yas--table-direct-keymap--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--table-direct-keymap (progn (or (yas--table-p cl-x) (signal 'wrong-type-argument (list 'yas--table cl-x))) (aref cl-x 5))) nil] 7 (#$ . 58808)]) (put 'yas--table-direct-keymap 'compiler-macro 'yas--table-direct-keymap--cmacro) #@58 Access slot "direct-keymap" of `yas--table' struct CL-X. (defalias 'yas--table-direct-keymap #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--table-tags type-of signal wrong-type-argument yas--table 5] 4 (#$ . 59245)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put yas--table-direct-keymap side-effect-free t defalias copy-yas--table copy-sequence] 4) #@119 compiler-macro for inlining `make-yas--table'. (fn CL-WHOLE &cl-quote &key NAME HASH UUIDHASH PARENTS DIRECT-KEYMAP) (defalias 'make-yas--table--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"\206\311A@\306\312\"\206\313A@\306\314\"A@\306\315\"\206,\316A@\203b@\317>\203IAA\211\2024\320>A@\203X\321\211\2024\322\323@\"\210\2022)\324\325\326\321\321 \n \f &\n-\207" [#1# name hash uuidhash parents direct-keymap plist-member :name :hash (nil (make-hash-table :test 'equal)) :uuidhash (nil (make-hash-table :test 'equal)) :parents :direct-keymap (nil (make-sparse-keymap)) (:name :hash :uuidhash :parents :direct-keymap :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:name :hash :uuidhash :parents :direct-keymap)" cl--defsubst-expand (name hash uuidhash parents direct-keymap) (cl-block make-yas--table (record 'yas--table name hash uuidhash parents direct-keymap)) #2=#:--cl-keys-- cl-whole] 12 (#$ . 59649)]) (put 'make-yas--table 'compiler-macro 'make-yas--table--cmacro) #@99 Constructor for objects of type `yas--table'. (fn &key NAME HASH UUIDHASH PARENTS DIRECT-KEYMAP) (defalias 'make-yas--table #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"\206\311\312\313\314\"DA@\306\315\"\206$\311\312\313\314\"DA@\306\316\"A@\306\317\"\2069\311\320 DA@\203o@\321>\203VAA\211\202A\322>A@\203e\311\211\202A\323\324@\"\210\202?)\325\326 \n \f &-\207" [#1# name hash uuidhash parents direct-keymap plist-member :name :hash nil make-hash-table :test equal :uuidhash :parents :direct-keymap make-sparse-keymap (:name :hash :uuidhash :parents :direct-keymap :allow-other-keys) :allow-other-keys error "Keyword argument %s not one of (:name :hash :uuidhash :parents :direct-keymap)" record yas--table #2=#:--cl-keys--] 8 (#$ . 60721)]) #@56 compiler-macro for inlining `yas--make-snippet-table'. (defalias 'yas--make-snippet-table--cmacro #[(_cl-whole-arg name) "\301\302\303\304\211\211&\207" [name cl--defsubst-expand (name) (cl-block yas--make-snippet-table (record 'yas--table name (make-hash-table :test 'equal) (make-hash-table :test 'equal) nil (make-sparse-keymap))) nil] 7 (#$ . 61515)]) (put 'yas--make-snippet-table 'compiler-macro 'yas--make-snippet-table--cmacro) #@47 Constructor for objects of type `yas--table'. (defalias 'yas--make-snippet-table #[(name) "\301\302\303\304\305\"\303\304\305\"\306\307 &\207" [name record yas--table make-hash-table :test equal nil make-sparse-keymap] 7 (#$ . 61959)]) (cl-struct-define 'yas--table "A table to store snippets for a particular mode.\n\nHas the following fields:\n\n`yas--table-name'\n\n A symbol name normally corresponding to a major mode, but can\n also be a pseudo major-mode to be used in\n `yas-activate-extra-mode', for example.\n\n`yas--table-hash'\n\n A hash table (KEY . NAMEHASH), known as the \"keyhash\". KEY is\n a string or a vector, where the former is the snippet's trigger\n and the latter means it's a direct keybinding. NAMEHASH is yet\n another hash of (NAME . TEMPLATE) where NAME is the snippet's\n name and TEMPLATE is a `yas--template' object.\n\n`yas--table-direct-keymap'\n\n A keymap for the snippets in this table that have direct\n keybindings. This is kept in sync with the keyhash, i.e., all\n the elements of the keyhash that are vectors appear here as\n bindings to `yas-maybe-expand-from-keymap'.\n\n`yas--table-uuidhash'\n\n A hash table mapping snippets uuid's to the same `yas--template'\n objects. A snippet uuid defaults to the snippet's name." 'cl-structure-object 'record nil '((cl-tag-slot) (name) (hash (make-hash-table :test 'equal)) (uuidhash (make-hash-table :test 'equal)) (parents nil) (direct-keymap (make-sparse-keymap))) 'cl-struct-yas--table-tags 'yas--table t) #@48 Find the snippet template in MODE by its UUID. (defalias 'yas--get-template-by-uuid #[(mode uuid) "\305 #\211\205\305 \306\n!\f>\204\307\310\311\nD\"\210\n\312H\")\207" [mode yas--tables table uuid cl-struct-yas--table-tags gethash type-of signal wrong-type-argument yas--table 3] 7 (#$ . 63478)]) #@50 Remove from TABLE a template identified by UUID. (defalias 'yas--remove-template-by-uuid #[(table uuid) "\306\307 !\n>\204\310\311\312 D\"\210 \313H\"\211\205\254\307 !\f>\204)\310\311\314 D\"\210 \313H\315\316\317\307 !\n>\204A\310\311\312 D\"\210 \320H\"\210\315\211\203\225@\321!\203u\322\307 !\n>\204m\310\311\312 D\"\210 \323H\315#\210\324\307 !\n>\204\207\310\311\312 D\"\210 \320H\"\210A\211\204Q*\324\307 !\n>\204\247\310\311\312 D\"\210 \313H\"*)\207" [uuid table cl-struct-yas--table-tags template cl-struct-yas--template-tags name gethash type-of signal wrong-type-argument yas--table 3 yas--template nil maphash #[(k v) "\306 \"\211\2054 \307\n!\f>\204\310\311\312\nD\"\210\n\313H\232\2054\314 \"\210\315 !\316U\2054 B\211)\207" [name v template uuid cl-struct-yas--template-tags k gethash type-of signal wrong-type-argument yas--template 9 remhash hash-table-count 0 empty-keys] 6] 2 vectorp define-key 5 remhash empty-keys key --dolist-tail--] 7 (#$ . 63789)]) (defconst yas-maybe-expand-from-keymap '(menu-item "" yas-expand-from-keymap :filter yas--maybe-expand-from-keymap-filter)) #@115 Store in TABLE the snippet template TEMPLATE. KEY can be a string (trigger key) of a vector (direct keybinding). (defalias 'yas--add-template #[(table template) "\306! >\204\307\310\311D\"\210\312H\306! >\204!\307\310\311D\"\210\313H\306! >\2043\307\310\311D\"\210\314H\315!\316\317\f D\"\317\211\203\276@\320 \321\306!>\204i\307\310\322D\"\210\323H\"\206\217\320\324\325\326\"\306!>\204\212\307\310\322D\"\210\323H##\210\327!\203\265\330\306!>\204\253\307\310\322D\"\210\331H#\210A\211\204L*\320\306! >\204\317\307\310\311D\"\210\332H\306!>\204\345\307\310\322D\"\210\312H#,\207" [template cl-struct-yas--template-tags _menu-binding-pair keybinding key name type-of signal wrong-type-argument yas--template 3 1 8 yas--template-menu-binding-pair-get-create remove nil puthash gethash yas--table 2 make-hash-table :test equal vectorp define-key 5 9 k --dolist-tail-- table cl-struct-yas--table-tags yas-maybe-expand-from-keymap] 11 (#$ . 64944)]) #@115 Add or update TEMPLATE in TABLE. Also takes care of adding and updating to the associated menu. Return TEMPLATE. (defalias 'yas--update-template #[(table template) "\303\304 !\n>\204\305\306\307 D\"\210 \310H\"\210\311 \"\210\312 \"\210 \207" [table template cl-struct-yas--template-tags yas--remove-template-by-uuid type-of signal wrong-type-argument yas--template 9 yas--add-template yas--update-template-menu] 6 (#$ . 65984)]) #@41 Update every menu-related for TEMPLATE. (defalias 'yas--update-template-menu #[(table template) "\306!\307! >\204\310\311\312D\"\210\313H\307! >\204$\310\311\312D\"\210\314H\211A\315=\204s\f@A\211\307! >\204E\310\311\312D\"\210\316H\240\210)\f@&\n\203Y\317\n!\206a \205a 'P(&\320&A\321(#\241\210(\210*+\322!?\205H\323\324)!\325\324\307)!*>\204\224\310\311\326)D\"\210)\327H\"\"\307! >\204\251\310\311\312D\"\210\330H+\211\204\270\331\332!\210\333\307! >\204\312\310\311\312D\"\210\334H\"\210+\335,\211-\203-@,\336\337\340,!!\"\211.\203\366\341.!\204 \342 .\343\337\340,!!\344,.E#\210.)-A\211-\204\332*\343\337\340\307! >\204.\310\311\312D\"\210\334H!!\307! >\204B\310\311\312D\"\210\345H@#*\207" [template cl-struct-yas--template-tags keybinding key menu-binding-pair #1=#:v yas--template-menu-binding-pair-get-create type-of signal wrong-type-argument yas--template 1 8 :none 3 key-description cl--set-getf :keys yas--template-menu-managed-by-yas-define-menu yas--menu-keymap-get-create yas--table-mode mapcar yas--table 4 11 cl--assertion-failed menu-keymap yas--delete-from-keymap 9 nil lookup-key vector make-symbol keymapp make-sparse-keymap define-key menu-item 10 #2=#:v yas-trigger-symbol #3=#:val table cl-struct-yas--table-tags group subgroup --dolist-tail-- subgroup-keymap] 9 (#$ . 66426)]) #@30 Return NAMEHASH as an alist. (defalias 'yas--namehash-templates-alist #[(namehash) "\302\303\304 \"\210)\207" [alist namehash nil maphash #[(k v) " B\nB\211\207" [k v alist] 2]] 3 (#$ . 67822)]) #@143 Fetch templates in TABLE by KEY. Return a list of cons (NAME . TEMPLATE) where NAME is a string and TEMPLATE is a `yas--template' structure. (defalias 'yas--fetch #[(table key) "\305! >\204\306\307\310D\"\210\311H\211\205\312 \n\"\211\205%\313\314\f!!*\207" [table cl-struct-yas--table-tags keyhash key namehash type-of signal wrong-type-argument yas--table 2 gethash yas--filter-templates-by-condition yas--namehash-templates-alist] 5 (#$ . 68028)]) (defalias 'yas--eval-condition #[(condition) "\3031\212\214\304 \305\216\306 !,0\207\307\310\311\312\n!#\210)\313\207" [save-match-data-internal condition err (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] eval yas--message 1 "Error in condition evaluation: %s" error-message-string nil] 5]) #@283 Filter the templates using the applicable condition. TEMPLATES is a list of cons (NAME . TEMPLATE) where NAME is a string and TEMPLATE is a `yas--template' structure. This function implements the rules described in `yas-buffer-local-condition'. See that variables documentation. (defalias 'yas--filter-templates-by-condition #[(templates) "\302 \211\303=\203 \202\304\305 \")\207" [requirement templates yas--require-template-specific-condition-p always cl-remove-if-not #[(pair) "\303\304A! >\204\305\306\307AD\"\210A\310H\n\"\207" [pair cl-struct-yas--template-tags requirement yas--template-can-expand-p type-of signal wrong-type-argument yas--template 4] 5]] 4 (#$ . 68844)]) #@105 Decide if this buffer requests/requires snippet-specific conditions to filter out potential expansions. (defalias 'yas--require-template-specific-condition-p #[nil "\302=\203\302\207:\203\303!\206\211\2057 \304=\203#\304\2027 :\2057 @\305=\2057 A9\2057 A)\207" [yas-buffer-local-condition local-condition always yas--eval-condition t require-snippet-condition] 3 (#$ . 69544)]) #@58 Evaluate CONDITION and REQUIREMENT and return a boolean. (defalias 'yas--template-can-expand-p #[(condition requirement) "?\206\303!\n\304=\203 \202\n =)\207" [condition result requirement yas--eval-condition t] 2 (#$ . 69945)]) (defalias 'yas--table-templates #[(table) "\2056\303\304\305\306!\n>\204\307\310\311D\"\210\312H\"\210\304\313\306!\n>\204-\307\310\311D\"\210\314H\"\210\315 !)\207" [table acc cl-struct-yas--table-tags nil maphash #[(_key namehash) "\301\302\"\207" [namehash maphash #[(name template) " B\nB\211\207" [name template acc] 2]] 3] type-of signal wrong-type-argument yas--table 2 #[(uuid template) " B\nB\211\207" [uuid template acc] 2] 3 yas--filter-templates-by-condition] 6]) #@153 Find `yas--template' objects for any trigger keys preceding point. Returns (TEMPLATES START END). This function respects `yas-key-syntaxes', which see. (defalias 'yas--templates-for-key-at-point #[nil "\212`\306\211 \203\\\n\204\\ @=\204\fb\210 @\211;\203-\307 !\210 A\202I\310 !\203A \f!\311=\204I A\202I A\312\313 \"\210\314`\f\"\212\fb\210\315\316\317 \"*\202 \n\205d\n`\fE-\207" [yas-key-syntaxes method templates methods original possible-key nil skip-syntax-backward functionp again yas--warning "Invalid element `%s' in `yas-key-syntaxes'" buffer-substring-no-properties cl-mapcan #[(table) "\302 \"\207" [table possible-key yas--fetch] 3] yas--get-snippet-tables] 5 (#$ . 70683)]) #@51 Get trigger keys of all active snippets in TABLE. (defalias 'yas--table-all-keys #[(table) "\303\304\305\306 !\n>\204\307\310\311 D\"\210 \312H\"\210)\207" [acc table cl-struct-yas--table-tags nil maphash #[(key namehash) "\303\304!!\205 \nB\211\207" [namehash key acc yas--filter-templates-by-condition yas--namehash-templates-alist] 3] type-of signal wrong-type-argument yas--table 2] 6 (#$ . 71402)]) (defalias 'yas--table-mode #[(table) "\302\303! >\204\304\305\306D\"\210\307H!\207" [table cl-struct-yas--table-tags intern type-of signal wrong-type-argument yas--table 1] 5]) #@94 Tries to work around Emacs Bug#30931. Helper function for `yas--save-restriction-and-widen'. (defalias 'yas--remove-misc-free-from-undo #[(old-undo-list) ":\205J\211\n:\205I\n =?\205I\n\211A\242\211:\203C\f@\211;\204B\306 !\204B \250\204B 9\204B\fA\250\203B \n\241\210))\n\202 *\207" [buffer-undo-list prev undo-list old-undo-list entry head markerp] 3 (#$ . 72002)]) #@91 Equivalent to (save-restriction (widen) BODY). Also tries to work around Emacs Bug#30931. (defalias 'yas--save-restriction-and-widen '(macro . #[(&rest body) "\301\302\303\304\305BB\306BBE\207" [body let ((gc-cons-threshold most-positive-fixnum) (old-undo-list buffer-undo-list)) prog1 save-restriction (widen) ((yas--remove-misc-free-from-undo old-undo-list))] 6 (#$ . 72394)])) (byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put yas--save-restriction-and-widen edebug-form-spec (body) function-put lisp-indent-function 0] 4) #@49 Evaluate FORM and convert the result to string. (defalias 'yas--eval-for-string #[(form) "\306>?\205 \30714\212\n \214~\210\310 \311\216\312!\211\205*\313\314\",\315\f!\210+0\202;\316!))\207" [yas-good-grace debug-on-error most-positive-fixnum buffer-undo-list old-undo-list gc-cons-threshold (t inline) (debug error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] eval format "%s" yas--remove-misc-free-from-undo error-message-string save-match-data-internal form result oops] 4 (#$ . 72942)]) (defalias 'yas--eval-for-effect #[(form) "\301\302\303\"!\207" [form yas--safely-call-fun apply-partially eval] 4]) #@178 Read STRING as a elisp expression and return it. In case STRING in an invalid expression and NIL-ON-ERROR is nil, return an expression that when evaluated will issue an error. (defalias 'yas--read-lisp #[(string &optional nil-on-error) "\3031 \304!0\207\n?\205\305\306 DD)\207" [string err nil-on-error (error) read error error-message-string] 3 (#$ . 73625)]) #@59 Read KEYBINDING as a snippet keybinding, return a vector. (defalias 'yas--read-keybinding #[(keybinding) "\205/\302\303\"?\205/\3041#\302\305\"\203\306!\206!\307\310\"0\207\311\312\313\314 !$\210)\315\207" [keybinding err string-match "keybinding" (error) "^\\[.*\\]$" read read-kbd-macro need-vector yas--message 2 "warning: keybinding \"%s\" invalid since %s." error-message-string nil] 7 (#$ . 73998)]) #@56 Get or create the snippet table corresponding to MODE. (defalias 'yas--table-get-create #[(mode) "\305 \"\211\204>\306\307\310!\311\312\313\"\311\312\313\"\314\315 &\316\n #\210\317\320\321\"!\322\n! >\2047\323\324\307\nD\"\210\n\325HB\fB\n)\207" [mode yas--tables table cl-struct-yas--table-tags yas--direct-keymaps gethash record yas--table symbol-name make-hash-table :test equal nil make-sparse-keymap puthash intern format "yas--direct-%s" type-of signal wrong-type-argument 5] 8 (#$ . 74423)]) #@194 Get snippet tables for MODE. MODE defaults to the current buffer's `major-mode'. Return a list of `yas--table' objects. The list of modes to consider is returned by `yas--modes-to-activate' (defalias 'yas--get-snippet-tables #[(&optional mode) "\301\302\303\304\305!\"\"\207" [mode remove nil mapcar #[(name) "\302 \"\207" [name yas--tables gethash] 3] yas--modes-to-activate] 6 (#$ . 74940)]) #@153 Get or create the menu keymap for MODE and its PARENTS. This may very well create a plethora of menu keymaps and arrange them all in `yas--menu-table' (defalias 'yas--menu-keymap-get-create #[(mode &optional parents) "\305 \"\206 \306\307 #\310\311 \"\210\312\f\313!\314\315!\n\316\317\320DD\257#\210\n)\207" [mode yas--menu-table menu-keymap parents yas--minor-mode-menu gethash puthash make-sparse-keymap mapc yas--menu-keymap-get-create define-key vector menu-item symbol-name :visible yas--show-menu-p quote] 10 (#$ . 75346)]) #@646 Parse the template in the current buffer. Optional FILE is the absolute file name of the file being parsed. Optional GROUP is the group where the template is to go, otherwise we attempt to calculate it from FILE. Return a snippet-definition, i.e. a list (KEY TEMPLATE NAME CONDITION GROUP VARS LOAD-FILE KEYBINDING UUID) If the buffer contains a line of "# --" then the contents above this line are ignored. Directives can set most of these with the syntax: # directive-name : directive-value Here's a list of currently recognized directives: * type * name * contributor * condition * group * key * expand-env * binding * uuid (defalias 'yas--parse-template #[(&optional file) "eb\210\306 \205\f\307 !\310\211\310\211\" \205\311 !#\310\211$%\310&\312\313\310\314#\203\271\315`d\"`eb\210\312\316 \314#\203\276\317\320!\321\230\203O\317\322!&\317\320!\323\230\203e\317\322!\324\230\203c\325\202d\306\317\320!\326\230\203q\317\322!\317\320!\327\230\203}\317\322!\317\320!\330\230\203\214\331\317\322!!\"\317\320!\332\230\203\231\317\322!#\317\320!\333\230\203\251\331\317\322!\334\"$\317\320!\335\230\203:\317\322!%\202:\315ed\" \204\317%\204\317 \205\316\307 !\325=\203\334\331\336\f\337Q!#\203\350\340#\341\"# \f\n\"#$ %&\257 .\n\207" [type file name key template bound snippet file-name-nondirectory nil yas--calculate-group re-search-forward "^# --\\s-*\n" t buffer-substring-no-properties "^# *\\([^ ]+?\\) *: *\\(.*?\\)[[:space:]]*$" match-string-no-properties 1 "uuid" 2 "type" "command" command "key" "name" "condition" yas--read-lisp "group" "expand-env" nil-on-error "binding" "(progn" ")" split-string "\\." condition group expand-env binding uuid] 10 (#$ . 75894)]) #@49 Calculate the group for snippet file path FILE. (defalias 'yas--calculate-group #[(file) "\304\305\"\211\205 \306 \"\211\205\307\n!\211\205!\310\311\312\313 !#+\207" [file dominating-dir extra-path extra-dir locate-dominating-file ".yas-make-groups" file-relative-name file-name-directory replace-regexp-in-string "/" "." directory-file-name] 6 (#$ . 77647)]) #@58 Return subdirs or files of DIRECTORY according to FILEP. (defalias 'yas--subdirs #[(directory &optional filep) "\301\302\303\304\"\"\207" [directory cl-remove-if #[(file) "\302\303\304!\"\206'\302\305\304!\"\206'\302\306\304!\"\206' \203#\307!\207\307!?\207" [file filep string-match "\\`\\." file-name-nondirectory "\\`#.*#\\'" "~\\'" file-directory-p] 4] directory-files t] 5 (#$ . 78022)]) (defalias 'yas--make-menu-binding #[(template) "\303\304! >\204\305\306\307D\"\210\310H!\311\312\313\314\315\nD\304! >\204+\305\306\307D\"\210\316HEF)\207" [template cl-struct-yas--template-tags mode yas--table-mode type-of signal wrong-type-argument yas--template 13 lambda nil (interactive) yas--expand-or-visit-from-menu quote 9] 9]) (defalias 'yas--expand-or-visit-from-menu #[(mode uuid) "\306!\211\205\307\n\310 ! >\204\311\312\313 D\"\210 \314H\"\211\205H \203,\315\f!\202H\316 \2039\317 \320 B\202<``B\321\f@A#)*\207" [mode table uuid cl-struct-yas--table-tags yas--current-template yas-visit-from-menu yas--table-get-create gethash type-of signal wrong-type-argument yas--table 3 yas--visit-snippet-file-1 region-active-p region-beginning region-end yas-expand-snippet where] 7]) #@56 Return a yasnippet key from a description string TEXT. (defalias 'yas--key-from-desc #[(text) "\301\302\303#\207" [text replace-regexp-in-string "\\(\\w+\\).*" "\\1"] 4 (#$ . 79248)]) #@140 Interactively choose a template from the list TEMPLATES. TEMPLATES is a list of `yas--template'. Optional PROMPT sets the prompt to use. (defalias 'yas--prompt-for-template #[(templates &optional prompt) "\205 \302\303\"\304\305 \"\207" [templates yas-prompt-functions sort #[(t1 t2) "\303! >\204\304\305\306D\"\210\307HG\303\n! >\204\"\304\305\306\nD\"\210\n\307HGW\207" [t1 cl-struct-yas--template-tags t2 type-of signal wrong-type-argument yas--template 3] 5] cl-some #[(fn) " \206\303\n\304#\207" [fn prompt templates "Choose a snippet: " yas--template-name] 4]] 3 (#$ . 79440)]) #@98 Interactively choose a template key from the list KEYS. Optional PROMPT sets the prompt to use. (defalias 'yas--prompt-for-keys #[(keys &optional prompt) "\205\302\303 \"\207" [keys yas-prompt-functions cl-some #[(fn) " \206\303\n\"\207" [fn prompt keys "Choose a snippet key: "] 3]] 3 (#$ . 80045)]) #@93 Interactively choose a table from the list TABLES. Optional PROMPT sets the prompt to use. (defalias 'yas--prompt-for-table #[(tables &optional prompt) "\205\302\303 \"\207" [tables yas-prompt-functions cl-some #[(fn) " \206\303\n\304#\207" [fn prompt tables "Choose a snippet table: " yas--table-name] 4]] 3 (#$ . 80359)]) #@39 Display choices in a x-window prompt. (defalias 'yas-x-prompt #[(prompt choices &optional display-fn) "\205F \205F\305 \210\306\307\310!\203+\310`!\3118\262\211@\312\\\nA\313\\D\314 )D\202,\315 \316\317\320 \f\203<\321\f \"\202= #BD\"\206F\322 \207" [window-system choices x-y prompt display-fn redisplay x-popup-menu fboundp posn-at-point 2 10 20 selected-window t "title" cl-mapcar #[(c d) "\302P B\207" [d c " "] 2] mapcar keyboard-quit] 11 (#$ . 80696)]) (defalias 'yas-maybe-ido-prompt #[(prompt choices &optional display-fn) "\304\300!\205\205\305 \n #\207" [ido-mode prompt choices display-fn boundp yas-ido-prompt] 4]) (defalias 'yas-ido-prompt #[(prompt choices &optional display-fn) "\303\304!\210\305 \n\306$\207" [prompt choices display-fn require ido yas-completing-prompt ido-completing-read] 5]) (defalias 'yas-dropdown-prompt #[(_prompt choices &optional display-fn) "\304\305!\205$\203\306 \"\202 \305\n!\211\203! 8\202#\307 *\207" [display-fn choices formatted-choices n fboundp dropdown-list mapcar keyboard-quit] 4]) (defalias 'yas-completing-prompt #[(prompt choices &optional display-fn completion-fn) "\203 \306 \"\202\f  \206\307\f\n\310\311\310\211& \n=\203% \2021\312 \n\313\314$\206/\315 8*\207" [display-fn choices formatted-choices completion-fn prompt chosen mapcar completing-read nil require-match cl-position :test string= 0] 7]) (defalias 'yas-no-prompt #[(_prompt choices &optional _display-fn) "@\207" [choices] 1]) (defvar yas--creating-compiled-snippets nil) #@35 Helper for `yas-define-snippets'. (defalias 'yas--define-snippets-1 #[(snippet snippet-table) "\302\303\304 #\"\207" [snippet-table snippet yas--update-template apply yas--define-snippets-2] 6 (#$ . 82244)]) #@827 Define SNIPPETS for MODE. SNIPPETS is a list of snippet definitions, each taking the following form (KEY TEMPLATE NAME CONDITION GROUP EXPAND-ENV LOAD-FILE KEYBINDING UUID SAVE-FILE) Within these, only KEY and TEMPLATE are actually mandatory. TEMPLATE might be a Lisp form or a string, depending on whether this is a snippet or a snippet-command. CONDITION, EXPAND-ENV and KEYBINDING are Lisp forms, they have been `yas--read-lisp'-ed and will eventually be `yas--eval-for-string'-ed. The remaining elements are strings. FILE is probably of very little use if you're programatically defining snippets. UUID is the snippet's "unique-id". Loading a second snippet file with the same uuid would replace the previous snippet. You can use `yas--parse-template' to return such lists based on the current buffers contents. (defalias 'yas-define-snippets #[(mode snippets) "\203I\306\307c\210\n\306\211\2037\f@\310 \311\312 GZ\306\"\"\313 8\313 \233\306\240\210\314 \233 \240\210)\fA\211\204*\315\316\317D\317\nDE!c\210\320c)\207\321!\306\n\306\211\203k\f@\322 \"\fA\211\204Z**\207" [yas--creating-compiled-snippets print-length snippets snippet --dolist-tail-- load-file nil ";;; Snippet definitions:\n;;;\n" append make-list 10 6 9 pp-to-string yas-define-snippets quote "\n\n" yas--table-get-create yas--define-snippets-1 mode template snippet-table] 6 (#$ . 82461)]) #@43 Return TEMPLATE's LOAD-FILE or SAVE-FILE. (defalias 'yas--template-get-file #[(template) "\303! >\204\304\305\306D\"\210\307H\206F\303! >\204$\304\305\306D\"\210\310H\211\203D\311\312\313\303! >\204>\304\305\306D\"\210\312H\n$\210\n)\207" [template cl-struct-yas--template-tags file type-of signal wrong-type-argument yas--template 6 7 yas--message 3 "%s has no load file, using save file, %s, instead."] 8 (#$ . 83872)]) (defalias 'yas--load-yas-setup-file #[(file) "\204\f\304 \305\n\306X#\207 \307P\310 !\205\311c\210\312 !\210db)\207" [yas--creating-compiled-snippets file yas-verbosity elfile load noerror 4 ".el" file-exists-p ";;; contents of the .yas-setup.el support file:\n;;;\n" insert-file-contents] 5]) #@44 Add PARENTS to the list of MODE's parents. (defalias 'yas--define-parents #[(mode parents) "\303\304\305 \306\n\"\"!\n#\207" [mode parents yas--parents puthash cl-remove-duplicates append gethash] 8 (#$ . 84615)]) #@170 Load snippets in directory hierarchy TOP-LEVEL-DIR. Below TOP-LEVEL-DIR each directory should be a mode name. With prefix argument USE-JIT do jit-loading of snippets. (defalias 'yas-load-directory #[(top-level-dir &optional use-jit interactive) "\204 \306\307 !\306\211\203\220\f@\310 \311P!\211@ A\312\"\210\313!\210\314\315 #\203F\316\"\210\202J \210)\203\210\317 \306:\203\207@rq\210=\203}\320\321\322$\210\nB)A\211\202Y*+\fA\211\204*\n\306:\203\264@rq\210\323 \210)A\211\202\231+\205\277\320\324\325 #\207" [yas-snippet-dirs top-level-dir impatient-buffers dir --dolist-tail-- major-mode-and-parents nil yas--subdirs yas--compute-major-mode-and-parents "/dummy" yas--define-parents yas--menu-keymap-get-create apply-partially yas--load-directory-1 yas--schedule-jit buffer-list yas--message 4 "Discovered there was already %s in %s" yas--load-pending-jits 3 "Loaded snippets from %s." mode-sym parents fun use-jit #1=#:--cl-var-- buffer major-mode #2=#:--cl-var-- interactive] 6 (#$ . 84838) (list (read-directory-name "Select the root directory: " nil nil t) current-prefix-arg t)]) #@52 Recursively load snippet templates from DIRECTORY. (defalias 'yas--load-directory-1 #[(directory mode-sym) "\2036\306\307 \"\211\310\311\312\"\313\216r q\210\314\315 \"c\210\316 \"\210\314\317\320 \"c)r q\210\321\322\211\f\322\323%\210-\207\324\306\325 \"!?\205c\326\306\327 \"\330\331X#\205U\332\333\334 #\210\312?\205c\332\333\335 #\210\316 \"\207" [yas--creating-compiled-snippets directory output-file #1=#:temp-buffer #2=#:temp-file mode-sym expand-file-name ".yas-compiled-snippets.el" generate-new-buffer " *temp file*" t #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] format ";;; Compiled snippets and support files for `%s'\n" yas--load-directory-2 ";;; Do not edit! File generated at %s\n" current-time-string write-region nil 0 file-exists-p ".yas-skip" load ".yas-compiled-snippets" noerror 3 yas--message 4 "Loaded compiled snippets from %s" "Loading snippet files from %s" yas-verbosity] 8 (#$ . 86025)]) (defalias 'yas--load-directory-2 #[(directory mode-sym) "\306\307\310\"!\210\311\312\313\314\"r q\210\315\216\316\317\"\311\211\203> @\320\f!\2037\321 \210\322\f!\210\323\f!\nB A\211\204!-\n\203I\324\n\"\210\316!\311\211\205g @\325\"\210 A\211\204T\311,\207" [directory default-directory snippet-defs #1=#:temp-buffer file --dolist-tail-- yas--load-yas-setup-file expand-file-name ".yas-setup" nil generate-new-buffer " *temp*" t #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] yas--subdirs no-subdirs-just-files file-readable-p erase-buffer insert-file-contents yas--parse-template yas-define-snippets yas--load-directory-2 mode-sym subdir] 5]) #@87 Reload the directories listed in `yas-snippet-dirs' or prompt the user to select one. (defalias 'yas--load-snippet-dirs #[(&optional nojit) "\306 \204 \307\310!\210\202X\n \235\203\311\n\312\"\210\313\301 !\306\211\203W\f@\314 !\203H\310 ?\"\210 \203?\315\316\317 #\210\202P\315\316\320 #\210\202P\315\321\322 #B\fA\211\204#*)\207" [errors yas-snippet-dirs yas--default-user-snippets-dir directory --dolist-tail-- nojit nil call-interactively yas-load-directory make-directory t reverse file-directory-p yas--message 4 "Loaded %s" "Prepared just-in-time loading for %s" 1 "Check your `yas-snippet-dirs': %s is not a directory"] 5 (#$ . 87671)]) #@267 Reload all snippets and rebuild the YASnippet menu. When NO-JIT is non-nil force immediate reload of all known snippets under `yas-snippet-dirs', otherwise use just-in-time loading. When called interactively, use just-in-time loading when given a prefix argument. (defalias 'yas-reload-all #[(&optional no-jit interactive) "\3062\213\307\310\311\312 \"\2035\n\203/\313\314!\203\"\315\316\"\210\2025\317\320\321\"\210\322\306\307\"\210\2025\315\323\312 \"\210\324 \324 \325\326 \"\210\324 \324 $\327%!\330 \210\331\332!\210\333\334$\f E\"&\317&\204g \203k\335\202l\336%\203u\337\202v\340 \203~\341\202\210&\203\207\342\202\210\343#+0\207" [snippet-editing-buffers errors interactive yas--tables yas--parents yas--menu-table abort nil cl-remove-if-not #[(buffer) "rq\210 )\207" [buffer yas--editing-template] 1] buffer-list y-or-n-p "Some buffers editing live snippets, close them and proceed with reload? " mapc kill-buffer yas--message 1 "Aborted reload..." throw #[(buffer) "rq\210\301\302!)\207" [buffer kill-local-variable yas--editing-template] 2] make-hash-table maphash #[(menu-symbol _keymap) "\302\303 !\304#\207" [yas--minor-mode-menu menu-symbol define-key vector nil] 4] yas--load-snippet-dirs yas-direct-keymaps-reload run-hooks yas-after-reload-hook cl-every #[(table) "\301!\302U\207" [table hash-table-count 0] 2] 2 3 "Snippets loaded %s." "Prepared just-in-time loading of snippets %s." "with some errors. Check *Messages*" "(but no snippets found)" "successfully" yas--scheduled-jit-loads no-jit no-snippets] 5 (#$ . 88342) (list (not current-prefix-arg) t)]) #@35 Hooks run after `yas-reload-all'. (defvar yas-after-reload-hook nil (#$ . 89962)) (defalias 'yas--load-pending-jits #[nil "\305 \306\211\205> @\307\310\n\"!\211\306\211\203/ @\311\312\313\f$\210\f \210 A\211\204*\314\n\"\210) A\211\204 \306*\207" [mode --dolist-tail-- yas--scheduled-jit-loads funs fun yas--modes-to-activate nil reverse gethash yas--message 4 "Loading for `%s', just-in-time: %s!" remhash] 6]) #@26 Escape TEXT for snippet. (defalias 'yas-escape-text #[(text) "\205 \301\302\303#\207" [text replace-regexp-in-string "[\\$]" "\\\\\\&"] 4 (#$ . 90397)]) #@148 Create .yas-compiled-snippets.el files under subdirs of TOP-LEVEL-DIR. This works by stubbing a few functions, then calling `yas-load-directory'. (defalias 'yas-compile-directory #[(top-level-dir) "\302\303 \304\")\207" [yas--creating-compiled-snippets top-level-dir t yas-load-directory nil] 3 (#$ . 90560) "DTop level snippet directory?"]) #@42 Compile every dir in `yas-snippet-dirs'. (defalias 'yas-recompile-all #[nil "\300\301\302 \"\207" [mapc yas-compile-directory yas-snippet-dirs] 3 (#$ . 90910) nil]) #@77 Alist of mode-symbols to forms to be evaled when `yas-minor-mode' kicks in. (defvar yas--scheduled-jit-loads (make-hash-table) (#$ . 91081)) (defalias 'yas--schedule-jit #[(mode fun) "\n\305 \f\306 \"B #*\207" [mode #1=#:v yas--scheduled-jit-loads #2=#:v fun puthash gethash] 6]) (defalias 'yas-about #[nil "\306\307\3101\311\312\313\314\315$)@0\202\210\202\206j\316\317!\203h\320\321!\203h\320\322!\203h\3231c\324\n\236A\322\325 @!\f>\204H\326\327\330 @D\"\210 @\331H!\332\333 \"\203]\334 Q\202^ *0\202e\210\335\206j\"\207" [yas--loaddir default-directory package-alist yas-pkg cl-struct-package-desc-tags version message "yasnippet (version %s) -- pluskid/joaotavora/npostavs" (error) process-lines "git" "describe" "--tags" "--dirty" featurep package fboundp package-desc-version package-version-join (error) yasnippet type-of signal wrong-type-argument package-desc 2 string-match "\\`20..[01][0-9][0-3][0-9][.][0-9]\\{3,4\\}\\'" "-snapshot" nil yas--version] 7 nil nil]) #@133 Get TEMPLATE's menu binding or assign it a new one. TYPE may be `:stay', signaling this menu binding should be static in the menu. (defalias 'yas--template-menu-binding-pair-get-create #[(template &optional type) "\304! >\204\305\306\307D\"\210\310H\206[\304! >\204$\305\306\307D\"\210\211\310\311\304! >\2048\305\306\307D\"\210\312H\206P\304! >\204M\305\306\307D\"\210\313H\314!\315\316\257 BI)\207" [template cl-struct-yas--template-tags #1=#:v type type-of signal wrong-type-argument yas--template 10 menu-item 3 9 yas--make-menu-binding :keys nil] 8 (#$ . 92092)]) #@76 Non-nil if TEMPLATE's menu entry was included in a `yas-define-menu' call. (defalias 'yas--template-menu-managed-by-yas-define-menu #[(template) "\302! >\204\303\304\305D\"\210\306HA\207" [template cl-struct-yas--template-tags type-of signal wrong-type-argument yas--template 10] 4 (#$ . 92690)]) (defalias 'yas--show-menu-p #[(mode) "\302=\203\303 \304\305\306 \"\"\207\205\307\207" [yas-use-menu mode abbreviate cl-find mapcar yas--table-mode yas--get-snippet-tables t] 5]) #@66 Recursively delete items with UUID from KEYMAP and its submenus. (defalias 'yas--delete-from-keymap #[(keymap uuid) "\302\303A\"\210\304\305\306 !!\307#\210\310\311A\"\241\207" [keymap uuid mapc #[(item) "\243:\205\302\303A8!\205\304\303A8 \"\207" [item uuid keymapp 2 yas--delete-from-keymap] 3] define-key vector make-symbol nil cl-delete-if #[(item) "<\204\301\207A?\206\302\303A8!\205\303A8A?\207" [item nil keymapp 2] 3]] 5 (#$ . 93183)]) #@635 Define a snippet menu for MODE according to MENU, omitting OMIT-ITEMS. MENU is a list, its elements can be: - (yas-item UUID) : Creates an entry the snippet identified with UUID. The menu entry for a snippet thus identified is permanent, i.e. it will never move (be reordered) in the menu. - (yas-separator) : Creates a separator - (yas-submenu NAME SUBMENU) : Creates a submenu with NAME, SUBMENU has the same form as MENU. NAME is also added to the list of groups of the snippets defined thereafter. OMIT-ITEMS is a list of snippet uuids that will always be omitted from MODE's menu, even if they're manually loaded. (defalias 'yas-define-menu #[(mode menu &optional omit-items) "\306!\307 !\n>\204\310\311\312 D\"\210 \313H\314 \315!\f $\210 \316\211\205x@\317 \"\206N\320\321\322\316\211\211\211\211\211\211\211\316\211\211 & #\307!>\204b\310\311\322D\"\210\211\323\316\324BI\210*A\211\204*\316,\207" [mode table cl-struct-yas--table-tags hash menu omit-items yas--table-get-create type-of signal wrong-type-argument yas--table 3 yas--define-menu-1 yas--menu-keymap-get-create nil gethash puthash record yas--template 10 :none uuid --dolist-tail-- template cl-struct-yas--template-tags #1=#:v] 18 (#$ . 93655)]) #@31 Helper for `yas-define-menu'. (defalias 'yas--define-menu-1 #[(table menu-keymap menu uuidhash &optional group-list) "\306!\307\211\307\211\307 :\203\272 @\211\211A\242 \211A\242 @\n\310=\2049\203e\n\311=\203e\312  \"\206Y\313 \314\315\307\211\211\211\211\211\211\211 \307\211!\"& ##\316#\317\"@)\202\257\n\320=\204v\203\223\n\321=\203\223\322 $\323\"$\f \324! C\"%\210\325 $E)\202\257\n\326=\204\244\203\250\n\327=\203\250\330\202\257\331\332\333\n#\210\307C\244 A\211\202\334\335\"%&\211'%'AB\241\210.\307\207" [menu #1=#:--cl-var-- type name submenu #2=#:--cl-var-- reverse nil yas-item yas/item gethash puthash record yas--template yas--template-menu-binding-pair-get-create :stay yas-submenu yas/submenu make-sparse-keymap yas--define-menu-1 append menu-item yas-separator yas/separator (menu-item "----") yas--message 1 "Don't know anything about menu entry %s" apply vector menu-entries yas-alias-to-yas/prefix-p uuidhash group-list table template subkeymap #3=#:x menu-keymap #4=#:v] 19 (#$ . 94933)]) #@302 Define a snippet. Expanding KEY into TEMPLATE. NAME is a description to this template. Also update the menu if `yas-use-menu' is t. CONDITION is the condition attached to this snippet. If you attach a condition to a snippet, then it will only be expanded when the condition evaluated to non-nil. (defalias 'yas--define #[(mode key template &optional name condition group) "\306 \n \f \257C\"\207" [mode key template name condition group yas-define-snippets] 7 (#$ . 96012)]) #@94 Integrate with hippie expand. Just put this function in `hippie-expand-try-functions-list'. (defalias 'yas-hippie-try-expand #[(first-time\?) "\205 \204\303\304 )\207\305\306!\210\307\207" [yas-minor-mode first-time\? yas-fallback-behavior return-nil yas-expand undo 1 nil] 2 (#$ . 96500)]) #@203 Define a function FUNC with doc DOC and body BODY. BODY is executed at most once every snippet expansion attempt, to check expansion conditions. It doesn't make any sense to call FUNC programatically. (defalias 'yas-define-condition-cache '(macro . #[(func doc &rest body) "\303\304 \203 ;\203 \305P\202 \nB\304\306\307\310\311D\312BBDC\313\314\315\306\316\317\nBDC\320\311D\321BB\322BBBFE\257\207" [func doc body defun nil "\n\nFor use in snippets' conditions. Within each\nsnippet-expansion routine like `yas-expand', computes actual\nvalue for the first time then always returns a cached value." let timestamp-and-value get quote ('yas--condition-cache) if (equal (car timestamp-and-value) yas--condition-cache-timestamp) (cdr timestamp-and-value) new-value progn put ('yas--condition-cache (cons yas--condition-cache-timestamp new-value)) (new-value)] 14 (#$ . 96805)])) (defalias 'yas-expand 'yas-expand-from-trigger-key) #@258 Expand a snippet before point. If no snippet expansion is possible, fall back to the behaviour defined in `yas-fallback-behavior'. Optional argument FIELD is for non-interactive use and is an object satisfying `yas--field-p' to restrict the expansion to. (defalias 'yas-expand-from-trigger-key #[(&optional field) "\306 \307\n\203 \n\235\203%\f\203\"\214\310\f!\311\f!}\210\312 )\202$\312  \203O\313 @\314 \2036\315 \2027 A@^\314 \203E\316 \202G\317 8]#\202Q\320 )\207" [yas--condition-cache-timestamp templates-and-pos yas-expand-only-for-last-commands last-command field most-positive-fixnum current-time nil yas--field-start yas--field-end yas--templates-for-key-at-point yas--expand-or-prompt-for-template use-region-p region-beginning region-end 2 yas--fallback most-negative-fixnum] 6 (#$ . 97751) nil]) #@243 Check whether a snippet may be expanded. If there are expandable snippets, return CMD (this is useful for conditional keybindings) or the list of expandable snippet template objects if CMD is nil (this is useful as a more general predicate). (defalias 'yas--maybe-expand-from-keymap-filter #[(cmd) "\305 \306\307 \203\310 G\202\311\"\312\313\314 \"\211\205\"\f\206\" +\207" [yas--condition-cache-timestamp current-prefix-arg vec templates cmd current-time cl-subseq this-command-keys-vector this-command-keys 0 cl-mapcan #[(table) "\302 \"\207" [table vec yas--fetch] 3] yas--get-snippet-tables] 4 (#$ . 98587)]) #@65 Directly expand some snippets, searching `yas--direct-keymaps'. (defalias 'yas-expand-from-keymap #[nil "\302 \303\304!\211\205\305 !)\207" [yas--condition-cache-timestamp templates current-time yas--maybe-expand-from-keymap-filter nil yas--expand-or-prompt-for-template] 3 (#$ . 99217) nil]) #@206 Expand one of TEMPLATES from START to END. Prompt the user if TEMPLATES has more than one element, else expand immediately. Common gateway for `yas-expand-from-trigger-key' and `yas-expand-from-keymap'. (defalias 'yas--expand-or-prompt-for-template #[(templates &optional start end) "A\203\304\305\306\"!\206@A\211\205\307 \n #)\207" [templates yas--current-template start end yas--prompt-for-template mapcar cdr yas-expand-snippet] 5 (#$ . 99521)]) #@118 Fallback after expansion has failed. Common gateway for `yas-expand-from-trigger-key' and `yas-expand-from-keymap'. (defalias 'yas--fallback #[nil "\306\267\2022\307\207\310\311!\207\312\307\313 \314\315\316\n#\210\n\203'\317\n!\204'\320\321!\210\n\n\2050\322\n!+\207<\203gA\203g@\323=\203gA@AA\312\307\f\203Z\323 \f\"\202e\317 !\205e \322 !,\207\307\207" [yas-fallback-behavior yas-minor-mode beyond-yasnippet this-command args command-or-fn #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (return-nil 6 yas--fallback 8 call-other-command 12)) nil error "yasnippet fallback loop!\nThis can happen when you bind `yas-expand' outside of the `yas-minor-mode-map'." yas--fallback yas--keybinding-beyond-yasnippet yas--message 4 "Falling back to %s" commandp cl--assertion-failed (or (null beyond-yasnippet) (commandp beyond-yasnippet)) call-interactively apply] 4 (#$ . 99990)]) #@59 Get current keys's binding as if YASsnippet didn't exist. (defalias 'yas--keybinding-beyond-yasnippet #[nil "\303\211\304 \305\n\306\"\206\305\307\n!\306\"+\207" [yas-minor-mode yas--direct-keymaps keys nil this-single-command-keys key-binding t yas--fallback-translate-input] 4 (#$ . 100935)]) #@173 Emulate `read-key-sequence', at least what I think it does. Keys should be an untranslated key vector. Returns a translated vector of keys. FIXME not thoroughly tested. (defalias 'yas--fallback-translate-input #[(keys) "\306\307\nGW\203U \211\nGW\2032\f\2032\310\f!\2032\311\n H\312\313\f\"\"A T\211\202\314 \f9\203?\315\f!\202M\316\f!\203I\f\202M\n O\" *\202 *\207" [i retval keys local-function-key-map translated j [] 0 keymapp assoc remove keymap vconcat vector vectorp] 6 (#$ . 101242)]) #@166 Get `yas--template' objects in TABLES, applicable for buffer and point. Honours `yas-choose-tables-first', `yas-choose-keys-first' and `yas-buffer-local-condition' (defalias 'yas--all-templates #[(tables) "\203 \304 !C\305\306\n\203\"\307\310\311 \"!\211\205\310\312 \")\202*\313\310\314 \"\315\316#\"\207" [yas-choose-tables-first tables yas-choose-keys-first key yas--prompt-for-table mapcar cdr yas--prompt-for-keys cl-mapcan yas--table-all-keys #[(table) "\302 \"\207" [table key yas--fetch] 3] cl-remove-duplicates yas--table-templates :test equal] 7 (#$ . 101768)]) #@47 Get the snippet called NAME in MODE's tables. (defalias 'yas--lookup-snippet-1 #[(name mode) "\304\211\305\n\306\307 !!\310\311\312\313&*\207" [yas-choose-keys-first yas-choose-tables-first name mode nil cl-find yas--all-templates yas--get-snippet-tables :key yas--template-name :test string=] 7 (#$ . 102356)]) #@229 Get the snippet named NAME in MODE's tables. MODE defaults to the current buffer's `major-mode'. If NOERROR is non-nil, then don't signal an error if there isn't any snippet called NAME. Honours `yas-buffer-local-condition'. (defalias 'yas-lookup-snippet #[(name &optional mode noerror) "\303 \"\206\n\203 \304\207\305\306\"\207" [name mode noerror yas--lookup-snippet-1 nil error "No snippet named: %s"] 3 (#$ . 102678)]) #@170 Choose a snippet to expand, pop-up a list of choices according to `yas-prompt-functions'. With prefix argument NO-CONDITION, bypass filtering of snippets by condition. (defalias 'yas-insert-snippet #[(&optional no-condition) "\306  \203 \307\202\f\n\310\311 !\211\205# A\203!\312 !\206# @\313 \2031\314 \315 B\2024``B\f\203C\316\f @ A#\202G\317\320\321\",\207" [yas--condition-cache-timestamp no-condition yas-buffer-local-condition templates yas--current-template where current-time always yas--all-templates yas--get-snippet-tables yas--prompt-for-template region-active-p region-beginning region-end yas-expand-snippet yas--message 1 "No snippets can be inserted here!"] 5 (#$ . 103116) "P"]) #@163 Choose a snippet to edit, selection like `yas-insert-snippet'. Only success if selected snippet was loaded from a file. Put the visited file in `snippet-mode'. (defalias 'yas-visit-snippet-file #[nil "\303\304\305 !\211\205\306 \307\"\206 @\211\203\310\n!\202\"\311\312!+\207" [yas-buffer-local-condition templates template always yas--all-templates yas--get-snippet-tables yas--prompt-for-template "Choose a snippet template to edit: " yas--visit-snippet-file-1 message "No snippets tables active!"] 4 (#$ . 103834) nil]) #@38 Helper for `yas-visit-snippet-file'. (defalias 'yas--visit-snippet-file-1 #[(template) "\306!\211\203\307 !\203\310 !\210\311 \210\312\302!\210\211\202n \203*\313\314 \"\202n\315\316\317\320! >\204<\321\322\323D\"\210\324H\"!\210\325\320! >\204S\321\322\323D\"\210\326H<\203a\316\327!c\210\330\316\331\320! >\204r\321\322\323D\"\210\332H\"c\210\316\333\320! >\204\211\321\322\323D\"\210\324H\"c\210\320! >\204\236\321\322\323D\"\210\334H\203\273\316\335\320! >\204\265\321\322\323D\"\210\334H\"c\210\320! >\204\312\321\322\323D\"\210\336H\203\347\316\337\320! >\204\341\321\322\323D\"\210\336H\"c\210\320! >\204\366\321\322\323D\"\210\340H\203\316\341\320! >\204 \321\322\323D\"\210\340H\"c\210\342c\210\f\330=\2033\343\320! >\204,\321\322\323D\"\210\326H!\202E\320! >\204B\321\322\323D\"\210\326Hc\210)\311 \210\312\302!\210\312\305!\210\344\320! >\204e\321\322\323D\"\210\345H!@A@\211)\207" [template file yas--editing-template cl-struct-yas--template-tags type default-directory yas--template-get-file file-readable-p find-file-other-window snippet-mode make-local-variable message "Original file %s no longer exists!" switch-to-buffer format "*%s*" type-of signal wrong-type-argument yas--template 3 snippet 2 "# type: command\n" command "# key: %s\n" 1 "# name: %s\n" 8 "# binding: %s\n" 5 "# expand-env: %s\n" 4 "# condition: %s\n" "# --\n" pp-to-string yas--guess-snippet-directories 13] 8 (#$ . 104375)]) #@50 Guess possible snippet subdirectories for TABLE. (defalias 'yas--guess-snippet-directories-1 #[(table) "\302\303! >\204\304\305\306D\"\210\307H!\310\311\303! >\204%\304\305\306D\"\210\312H\"B\207" [table cl-struct-yas--table-tags file-name-as-directory type-of signal wrong-type-argument yas--table 1 cl-mapcan yas--guess-snippet-directories-1 4] 7 (#$ . 105869)]) #@255 Try to guess suitable directories based on the current active tables (or optional TABLE). Returns a list of elements (TABLE . DIRS) where TABLE is a `yas--table' object and DIRS is a list of all possible directories where snippets of table might exist. (defalias 'yas--guess-snippet-directories #[(&optional table) "\301 \206 C\211@\n\203\nC\202\306 \n\204,\307 ! \310 \" B)\311\312 \"*\207" [yas--default-user-snippets-dir yas-snippet-dirs table tables main-dir major-mode yas--get-snippet-tables yas--table-get-create delq mapcar #[(table) "\301\302\303!\"B\207" [table mapcar #[(subdir) "\302 \"\207" [subdir main-dir expand-file-name] 3] yas--guess-snippet-directories-1] 5] major-mode-table] 3 (#$ . 106250)]) #@74 Return a dir inside TABLE-AND-DIRS, prompts for creation if none exists. (defalias 'yas--make-directory-maybe #[(table-and-dirs &optional main-table-string) "\305\306A\"\206TA@\307\310 !!\204\311\312\313 \"!\210\314\315\316 \317\320@!\n\"\203-\321\202.\322 \2063\321\323@!\f>\204D\324\325\326@D\"\210@\327H%!\205S\330 \331\"\210 )\207" [table-and-dirs candidate yas--tables main-table-string cl-struct-yas--table-tags cl-some #[(dir) "\301!\205\207" [dir file-directory-p] 2] file-writable-p file-name-directory error yas--format "%s is not writable." y-or-n-p format "Guessed directory (%s) for%s%s table \"%s\" does not exist! Create? " gethash yas--table-mode "" " brand new" type-of signal wrong-type-argument yas--table 1 make-directory also-make-parents] 10 (#$ . 106992)]) (defconst yas-new-snippet-buffer-name "+new-snippet+") #@133 Pops a new buffer for writing a snippet. Expands a snippet-writing snippet, unless the optional prefix arg NO-TEMPLATE is non-nil. (defalias 'yas-new-snippet #[(&optional no-template) "\306 \206\307 \205\310\311 \312 \"\313\n!\210\314 \210\315 \210\316 \210\317\320!\210\321\303!\210\322\323 \"\321\304!\210 @A@ ?\205D\205D\324!*\207" [yas-selected-text guessed-directories yas-new-snippet-buffer-name yas--guessed-modes default-directory no-template yas--guess-snippet-directories region-active-p buffer-substring-no-properties region-beginning region-end switch-to-buffer erase-buffer kill-all-local-variables snippet-mode yas-minor-mode 1 make-local-variable mapcar #[(d) "\301@!\207" [d yas--table-mode] 2] yas-expand-snippet yas-new-snippet-default] 4 (#$ . 107853) "P"]) #@280 Given FILE, find the nearest snippet directory for a given mode. Returns a list (MODE-SYM PARENTS), the mode's symbol and a list representing one or more of the mode's parents. Note that MODE-SYM need not be the symbol of a real major mode, neither do the elements of PARENTS. (defalias 'yas--compute-major-mode-and-parents #[(file) "\205\306\307\310\311\"\206\306\312!!!\211\313P \205\314 !\211\205&\315 !\316\n!\205F\317\315\320\321\322\323\"r q\210\324\216\325\n!\210\326ed\"+!\"\f\205S\f\327\f\"B-\207" [file file-dir parents-file-name major-mode-name major-mode-sym #1=#:temp-buffer directory-file-name cl-some #[(special) "\302 \"\207" [file special locate-dominating-file] 3] (".yas-setup.el" ".yas-make-groups" ".yas-parents") file-name-directory "/.yas-parents" file-name-nondirectory intern file-readable-p mapcar split-string generate-new-buffer " *temp*" t #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] insert-file-contents buffer-substring-no-properties remove parents] 7 (#$ . 108654)]) #@77 Supporting variable for `yas-load-snippet-buffer' and `yas--visit-snippet'. (defvar yas--editing-template nil (#$ . 109702)) #@59 Holds the current template being expanded into a snippet. (defvar yas--current-template nil (#$ . 109833)) #@61 List of guessed modes supporting `yas-load-snippet-buffer'. (defvar yas--guessed-modes nil (#$ . 109946)) #@56 Ask user for a snippet table, help with some guessing. (defalias 'yas--read-table #[nil "\304\305!\203\203\306\202\307\n\204\310\302!\210\311 !\312 \313\314\n\203)\n@\202*\315\"\316\317\n\"\320\211\211\211\n@\205<\317\n@!&!)\207" [ido-mode prompt yas--guessed-modes buffer-file-name featurep ido ido-completing-read completing-read make-local-variable yas--compute-major-mode-and-parents intern format "Choose or enter a table (yas guesses %s): " "nothing" mapcar symbol-name nil] 10 (#$ . 110058)]) #@219 Parse and load current buffer's snippet definition into TABLE. TABLE is a symbol name passed to `yas--table-get-create'. When called interactively, prompt for the table name. Return the `yas--template' object created (defalias 'yas-load-snippet-buffer #[(table &optional interactive) "\2030\306\307\310! >\204\311\312\313D\"\210\314H!\310! >\204(\311\312\313D\"\210\315H\"\210\202L\n\204<\316\302!\210\317 !\320\f!\316\300!\210\306\307 !\f\") \203\255\321\322\323\310! >\204b\311\312\313D\"\210\322H\310\211! >\204u\311\312\313D\"\210\315H!>\204\227\311\312\324\310! >\204\221\311\312\313D\"\210\315HD\"\210\310! >\204\246\311\312\313D\"\210\315H\325H$\210\207" [yas--editing-template cl-struct-yas--template-tags yas--guessed-modes buffer-file-name table interactive yas--define-snippets-1 yas--parse-template type-of signal wrong-type-argument yas--template 6 13 make-local-variable yas--compute-major-mode-and-parents yas--table-get-create yas--message 3 "Snippet \"%s\" loaded for %s." yas--table 1 cl-struct-yas--table-tags] 11 (#$ . 110580) (list (yas--read-table) t)]) #@47 Added to `after-save-hook' in `snippet-mode'. (defalias 'yas-maybe-load-snippet-buffer #[nil "\306\307\310\311!!!!\312\313\314 !\315\n!#\316 !\f>\204#\317\320\321 D\"\210 \322H \2033\323 \"\202H\324\316 !\f>\204C\317\320\321 D\"\210 \325H \"\232?\205Q\326 \327\"+\207" [default-directory mode buffer-file-name current-snippet cl-struct-yas--template-tags uuid intern file-name-sans-extension file-name-nondirectory directory-file-name apply yas--define-snippets-2 yas--table-get-create yas--parse-template type-of signal wrong-type-argument yas--template 9 yas--get-template-by-uuid yas--lookup-snippet-1 3 yas-load-snippet-buffer t] 6 (#$ . 111700)]) #@376 Load and save the snippet, then `quit-window' if saved. Loading is performed by `yas-load-snippet-buffer'. If the snippet is new, ask the user whether (and where) to save it. If the snippet already has a file, just save it. The prefix argument KILL is passed to `quit-window'. Don't use this from a Lisp program, call `yas-load-snippet-buffer' and `kill-buffer' instead. (defalias 'yas-load-snippet-buffer-and-close #[(table &optional kill) "\306\307\"\310 \203\240\311\312\313\314\211 !\n>\204\315\316\317 D\"\210 \320H! >\204>\315\316\321\314 !\n>\2048\315\316\317 D\"\210 \320HD\"\210\314 !\n>\204M\315\316\317 D\"\210 \320H\322H\"!\203\240\323\314 !\n>\204g\315\316\317 D\"\210 \320H!@A@\314 !\n>\204}\315\316\317 D\"\210 \324H\204\234\f\203\234\325\326\327\211\211\f%\330\331!\307\"\210\332 \210*\333!)\207" [table template cl-struct-yas--template-tags cl-struct-yas--table-tags default-file-name default-directory yas-load-snippet-buffer t buffer-modified-p y-or-n-p format "[yas] Loaded for %s. Also save snippet buffer?" type-of signal wrong-type-argument yas--template 13 yas--table 1 yas--guess-snippet-directories 3 read-file-name "File to save snippet in: " nil rename-buffer file-name-nondirectory save-buffer quit-window buffer-file-name kill] 10 (#$ . 112370) (list (yas--read-table) current-prefix-arg)]) #@109 Test current buffer's snippet template in other buffer. DEBUG is for debugging the YASnippet engine itself. (defalias 'yas-tryout-snippet #[(&optional debug) "\306!\307  @\203\310 @!\203 @\206$ @\206$\311\312\313\314!!!\n\205G\310\f!\205G\315\316\n@\nA@\317\n8\320\321\n8\320\211\211\211\211\211\211\211&\211\203\247\322\323\324 !(>\204^\325\326\316 D\"\210 \327H\")\330\331)!!\210\332\331)!!\210\320*\3331\200\f 0\210\202\201\210\334\335!\210\320+\336 ed#\210,\205\243\337\340\320\341#\205\243\342\343\344\"\210\345\343!)\202\253\346\335\347\",\207" [buffer-file-name major-mode-and-parent parsed yas--guessed-modes test-mode yas--current-template yas--compute-major-mode-and-parents yas--parse-template fboundp intern read-from-minibuffer yas--format "Please input a mode: " record yas--template 2 nil 5 format "*testing snippet: %s*" type-of signal wrong-type-argument 3 kill-buffer get-buffer-create switch-to-buffer (error) yas-minor-mode 1 yas-expand-snippet require yasnippet-debug t yas-debug-snippets "*YASnippet trace*" snippet-navigation display-buffer yas--message "Cannot test snippet for unknown major mode" cl-struct-yas--template-tags buffer-name buffer-undo-list buffer-read-only debug] 16 (#$ . 113725) "P"]) #@62 Return all active trigger keys for current buffer and point. (defalias 'yas-active-keys #[nil "\300\301\302\303\304\305 \"\"\306\307#\207" [cl-remove-duplicates cl-remove-if-not stringp cl-mapcan yas--table-all-keys yas--get-snippet-tables :test string=] 6 (#$ . 114986)]) (defalias 'yas--template-fine-group #[(template) "\302\303! >\204\304\305\306D\"\210\307H\206(\303! >\204%\304\305\306D\"\210\310H!@\207" [template cl-struct-yas--template-tags last type-of signal wrong-type-argument yas--template 11 12] 5]) #@37 Display snippet tables by NAMEHASH. (defalias 'yas-describe-table-by-namehash #[nil "r\302\303!q\210\304\305 \210\306c\210\307\310 \"\210)\311\312!\210\312b\210\313p!)\207" [inhibit-read-only yas--tables get-buffer-create "*YASnippet Tables by NAMEHASH*" t erase-buffer "YASnippet tables by NAMEHASH: \n" maphash #[(_mode table) "\302\303\304! >\204\305\306\307D\"\210\310H\"c\210\311\312\304! >\204(\305\306\307D\"\210\313H\"\207" [table cl-struct-yas--table-tags format "\nSnippet table `%s':\n\n" type-of signal wrong-type-argument yas--table 1 maphash #[(key _v) "\304\305\306\307\310\311\312\n! >\204\313\314\315\nD\"\210\n\316H\"\"\210 )#c\207" [key names table cl-struct-yas--table-tags format " key %s maps snippets: %s\n" nil maphash #[(k _v) " B\211\207" [k names] 2] gethash type-of signal wrong-type-argument yas--table 2] 11] 2] 6] view-mode 1 display-buffer] 3 (#$ . 115517) nil]) #@34 Display snippets for each table. (defalias 'yas-describe-tables #[(&optional with-nonactive) "p\306 r\307\310!q\210\311 \203\312\313\f\"\210\314 \210\315c\210\316\211\2037@\317 \"\210A\211\204%*\320 \210)\321 \210\322b\210\323p!+\207" [tables original-buffer inhibit-read-only with-nonactive yas--tables table yas--get-snippet-tables get-buffer-create "*YASnippet Tables*" t maphash #[(_k v) "\303 \n\"\203 \n\202 \nB\211)\207" [v #1=#:var tables memql] 3] erase-buffer "YASnippet tables:\n" nil yas--describe-pretty-table yas--create-snippet-xrefs help-mode 1 display-buffer --dolist-tail--] 4 (#$ . 116437) "P"]) (defalias 'yas--describe-pretty-table #[(table &optional original-buffer) "\303\304\305! >\204\306\307\310D\"\210\311H\"c\210\305! >\204&\306\307\310D\"\210\312H\203I\303\313\314\315\305! >\204?\306\307\310D\"\210\312H\"\"c\210\202L\316c\210\317\320\321\"\316\261\210\322c\210\323\324\325\"\326\327\305! >\204m\306\307\310D\"\210\330H\"\210\326\331\n\")\207" [table cl-struct-yas--table-tags groups-hash format "\nSnippet table `%s'" type-of signal wrong-type-argument yas--table 1 4 " parents: %s\n" mapcar yas--table-name "\n" make-string 100 45 "group state name key binding\n" make-hash-table :test equal maphash #[(_k v) "\304!\206\305\306!\n>\204\307\310\311D\"\210\312H\205'\313 \314 \"B #)\207" [v group cl-struct-yas--template-tags groups-hash yas--template-fine-group "(top level)" type-of signal wrong-type-argument yas--template 3 puthash gethash] 6] 3 #[(group templates) "\306\307\310\311\312%\313\314\315\"\316\261\210 \317\211\205\344 @\306\320\321\322\323\n!\f>\204.\324\325\326\nD\"\210\n\327H\"\330\n#\331\310\311\312%\313G\311\"\323\n!\f>\204R\324\325\326\nD\"\210\n\332H\211(\203u)\203ur)q\210\333(!\203p\334\202q\335)\202v\336)*\337\323\n!\f>\204\211\324\325\326\nD\"\210\n\340H!\211+\341\230?\205\227\311,\342*\342 \343\344 \"\203\252\345\202\253\342\342\306\323\n!\f>\204\274\324\325\326\nD\"\210\n\346H\206\303\341\347\310,\312%,\206\317\341\306+\347\310\317\312%\316\261 \210- A\211\204\317*\207" [group templates p --dolist-tail-- cl-struct-yas--template-tags name truncate-string-to-width 25 0 32 "..." make-string 100 45 "\n" nil propertize format "\\\\snippet `%s'" type-of signal wrong-type-argument yas--template 3 yasnippet 50 4 yas--eval-condition "(y)" "(s)" "(a)" key-description 8 "" " " string-match "\\.\\.\\.$" "'" 1 15 condition original-buffer condition-string key-description-string template-key-padding] 16]] 8]) #@186 As `yas-key-syntaxes' element, look for whitespace delimited key. A newline will be considered whitespace even if the mode syntax marks it as something else (typically comment ender). (defalias 'yas-try-key-from-whitespace #[(_start-point) "\300\301x\207" ["^[:space:]\n" nil] 2 (#$ . 119080)]) #@67 Like `yas-longest-key-from-whitespace' but take the shortest key. (defalias 'yas-shortest-key-until-whitespace #[(_start-point) "\300`Sx\301U?\205 \302\207" ["^[:space:]\n" 0 again] 2 (#$ . 119382)]) #@202 As `yas-key-syntaxes' element, look for longest key between point and whitespace. A newline will be considered whitespace even if the mode syntax marks it as something else (typically comment ender). (defalias 'yas-longest-key-from-whitespace #[(start-point) "`U\203 \301!\210\202\302u\210`TX?\205\303\207" [start-point yas-try-key-from-whitespace nil again] 2 (#$ . 119590)]) #@63 Non-nil if field has been modified by user or transformation. (defvar yas-modified-p nil (#$ . 119982)) #@41 Non-nil if user is about to exit field. (defvar yas-moving-away-p nil (#$ . 120092)) #@30 Contains current field text. (defvar yas-text nil (#$ . 120183)) #@166 Search PATTERN in STR and return SUBEXPth match. If found, the content of subexp group SUBEXP (default 0) is returned, or else the original STR will be returned. (defalias 'yas-substr #[(str pattern &optional subexp) "\206\305\306 \307\216\310 \f\"\203\311 \f\"\202\f+\207" [subexp grp save-match-data-internal pattern str 0 match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] string-match match-string-no-properties] 3 (#$ . 120255)]) #@114 Prompt for a string in POSSIBILITIES and return it. The last element of POSSIBILITIES may be a list of strings. (defalias 'yas-choose-value #[(&rest possibilities) "\206 ?\205$\306\n!\211@\211<\203 \f@\240\210 \fA\241\210*\307\310 \"\207" [yas-moving-away-p yas-modified-p possibilities last-link last-elem yas-prompt-functions last cl-some #[(fn) "\302 \"\207" [fn possibilities "Choose: "] 3]] 4 (#$ . 120748)]) #@276 A snippet-aware version of `completing-read'. This can be used to query the user for the initial value of a snippet field. The arguments are the same as `completing-read'. (fn PROMPT COLLECTION &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF INHERIT-INPUT-METHOD) (defalias 'yas-completing-read #[(&rest args) "\206 ?\205 \303\304\n\"\207" [yas-moving-away-p yas-modified-p args apply completing-read] 3 (#$ . 121179)]) #@29 Helper for `yas-auto-next'. (defalias 'yas--auto-next #[nil "\301\300\302\303#\210\304 \210\302>\204\305\207" [post-command-hook remove-hook yas--auto-next t yas-next-field nil] 4 (#$ . 121620)]) #@58 Automatically advance to next field after eval'ing BODY. (defalias 'yas-auto-next '(macro . #[(&rest body) "\301\302\303\304\305\"BE\207" [body unless yas-moving-away-p prog1 append ((add-hook 'post-command-hook #'yas--auto-next nil t))] 6 (#$ . 121825)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put yas-auto-next lisp-indent-function 0 put edebug-form-spec t] 5) (defalias 'yas-key-to-value #[(alist) "\206 ?\205!\304\305!\211;\205 \306\n \307\310\311\312&A\206 \n)\207" [yas-moving-away-p yas-modified-p key alist read-key-sequence "" cl-find :key car :test string=] 8]) #@49 Signal `yas-exception' with TEXT as the reason. (defalias 'yas-throw #[(text) "\301\302C\"\207" [text signal yas-exception] 3 (#$ . 122436)]) (byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put yas-exception error-conditions (error yas-exception) error-message "[yas] Exception"] 4) #@92 Verify that the current field value is in POSSIBILITIES. Otherwise signal `yas-exception'. (defalias 'yas-verify-value #[(possibilities) "\205 \n\235?\205\303\304\305\n\"!\207" [yas-moving-away-p yas-text possibilities yas-throw format "Field only allows %s"] 4 (#$ . 122735)]) #@120 Get the string for field with NUMBER. Use this in primary and mirror transformations to get the text of other fields. (defalias 'yas-field-value #[(number) "\303 @\211\205\f\304 \"\211\205\305\n!*\207" [snippet number field yas-active-snippets yas--snippet-find-field yas--field-text-for-display] 4 (#$ . 123025)]) #@62 Return `yas-text' if that exists and is non-empty, else nil. (defalias 'yas-text #[nil "\205\f\301\230?\205\f\207" [yas-text ""] 2 (#$ . 123353)]) #@71 Return `yas-selected-text' if that exists and is non-empty, else nil. (defalias 'yas-selected-text #[nil "\205\f\301\230?\205\f\207" [yas-selected-text ""] 2 (#$ . 123511)]) (defalias 'yas--get-field-once #[(number &optional transform-fn) "?\205 \203 \303\n!!\207\303\n!\207" [yas-modified-p transform-fn number yas-field-value] 3]) (defalias 'yas-default-from-field #[(number) "?\205\302 !\207" [yas-modified-p number yas-field-value] 2]) #@72 Return non-nil if the point is inside a string according to font-lock. (defalias 'yas-inside-string #[nil "\300`S\301\"\302=\207" [get-char-property face font-lock-string-face] 3 (#$ . 123970)]) (defalias 'yas-unimplemented #[(&optional missing-feature) "\203\302\303\304 \206\f\305\"!\205\306!\207\307\310 \206\305\"\207" [yas--current-template missing-feature y-or-n-p format "This snippet is unimplemented (missing %s) Visit the snippet definition? " "something" yas--visit-snippet-file-1 message "No implementation. Missing %s"] 4]) #@38 Overlays the currently active field. (defvar yas--active-field-overlay nil (#$ . 124522)) #@35 List of currently active snippets (defvar yas--active-snippets nil (#$ . 124618)) (make-variable-buffer-local 'yas--active-snippets) #@48 Two overlays protect the current active field. (defvar yas--field-protection-overlays nil (#$ . 124757)) #@60 The selected region deleted on the last snippet expansion. (defvar yas-selected-text nil (#$ . 124868)) #@49 The column where the snippet expansion started. (defvar yas--start-column nil (#$ . 124978)) (byte-code "\300\301!\210\300\302!\210\303\301\304\305#\210\303\302\304\305#\207" [make-variable-buffer-local yas--active-field-overlay yas--field-protection-overlays put permanent-local t] 4) #@47 compiler-macro for inlining `yas--snippet-p'. (defalias 'yas--snippet-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--snippet-p (and (memq (type-of cl-x) cl-struct-yas--snippet-tags) t)) nil] 7 (#$ . 125270)]) (put 'yas--snippet-p 'compiler-macro 'yas--snippet-p--cmacro) (defalias 'yas--snippet-p #[(cl-x) "\302! >\205 \303\207" [cl-x cl-struct-yas--snippet-tags type-of t] 2]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put yas--snippet-p side-effect-free error-free put yas--snippet cl-deftype-satisfies] 5) #@56 compiler-macro for inlining `yas--snippet-expand-env'. (defalias 'yas--snippet-expand-env--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--snippet-expand-env (progn (or (yas--snippet-p cl-x) (signal 'wrong-type-argument (list 'yas--snippet cl-x))) (aref cl-x 1))) nil] 7 (#$ . 125875)]) (put 'yas--snippet-expand-env 'compiler-macro 'yas--snippet-expand-env--cmacro) #@57 Access slot "expand-env" of `yas--snippet' struct CL-X. (defalias 'yas--snippet-expand-env #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--snippet 1] 4 (#$ . 126312)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--snippet-expand-env side-effect-free t] 4) #@52 compiler-macro for inlining `yas--snippet-fields'. (defalias 'yas--snippet-fields--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--snippet-fields (progn (or (yas--snippet-p cl-x) (signal 'wrong-type-argument (list 'yas--snippet cl-x))) (aref cl-x 2))) nil] 7 (#$ . 126668)]) (put 'yas--snippet-fields 'compiler-macro 'yas--snippet-fields--cmacro) #@53 Access slot "fields" of `yas--snippet' struct CL-X. (defalias 'yas--snippet-fields #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--snippet 2] 4 (#$ . 127085)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--snippet-fields side-effect-free t] 4) #@50 compiler-macro for inlining `yas--snippet-exit'. (defalias 'yas--snippet-exit--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--snippet-exit (progn (or (yas--snippet-p cl-x) (signal 'wrong-type-argument (list 'yas--snippet cl-x))) (aref cl-x 3))) nil] 7 (#$ . 127429)]) (put 'yas--snippet-exit 'compiler-macro 'yas--snippet-exit--cmacro) #@51 Access slot "exit" of `yas--snippet' struct CL-X. (defalias 'yas--snippet-exit #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--snippet 3] 4 (#$ . 127836)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--snippet-exit side-effect-free t] 4) #@48 compiler-macro for inlining `yas--snippet-id'. (defalias 'yas--snippet-id--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--snippet-id (progn (or (yas--snippet-p cl-x) (signal 'wrong-type-argument (list 'yas--snippet cl-x))) (aref cl-x 4))) nil] 7 (#$ . 128174)]) (put 'yas--snippet-id 'compiler-macro 'yas--snippet-id--cmacro) #@49 Access slot "id" of `yas--snippet' struct CL-X. (defalias 'yas--snippet-id #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--snippet 4] 4 (#$ . 128571)]) (byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put yas--snippet-id side-effect-free t gv-expander #[(_cl-do _cl-x) "\300\301\302\"\207" [error "%s is a read-only slot" yas--snippet-id] 3]] 5) #@61 compiler-macro for inlining `yas--snippet-control-overlay'. (defalias 'yas--snippet-control-overlay--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--snippet-control-overlay (progn (or (yas--snippet-p cl-x) (signal 'wrong-type-argument (list 'yas--snippet cl-x))) (aref cl-x 5))) nil] 7 (#$ . 129022)]) (put 'yas--snippet-control-overlay 'compiler-macro 'yas--snippet-control-overlay--cmacro) #@62 Access slot "control-overlay" of `yas--snippet' struct CL-X. (defalias 'yas--snippet-control-overlay #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--snippet 5] 4 (#$ . 129484)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--snippet-control-overlay side-effect-free t] 4) #@58 compiler-macro for inlining `yas--snippet-active-field'. (defalias 'yas--snippet-active-field--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--snippet-active-field (progn (or (yas--snippet-p cl-x) (signal 'wrong-type-argument (list 'yas--snippet cl-x))) (aref cl-x 6))) nil] 7 (#$ . 129855)]) (put 'yas--snippet-active-field 'compiler-macro 'yas--snippet-active-field--cmacro) #@59 Access slot "active-field" of `yas--snippet' struct CL-X. (defalias 'yas--snippet-active-field #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--snippet 6] 4 (#$ . 130302)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--snippet-active-field side-effect-free t] 4) #@67 compiler-macro for inlining `yas--snippet-previous-active-field'. (defalias 'yas--snippet-previous-active-field--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--snippet-previous-active-field (progn (or (yas--snippet-p cl-x) (signal 'wrong-type-argument (list 'yas--snippet cl-x))) (aref cl-x 7))) nil] 7 (#$ . 130664)]) (put 'yas--snippet-previous-active-field 'compiler-macro 'yas--snippet-previous-active-field--cmacro) #@68 Access slot "previous-active-field" of `yas--snippet' struct CL-X. (defalias 'yas--snippet-previous-active-field #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--snippet 7] 4 (#$ . 131156)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--snippet-previous-active-field side-effect-free t] 4) #@56 compiler-macro for inlining `yas--snippet-force-exit'. (defalias 'yas--snippet-force-exit--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--snippet-force-exit (progn (or (yas--snippet-p cl-x) (signal 'wrong-type-argument (list 'yas--snippet cl-x))) (aref cl-x 8))) nil] 7 (#$ . 131545)]) (put 'yas--snippet-force-exit 'compiler-macro 'yas--snippet-force-exit--cmacro) #@57 Access slot "force-exit" of `yas--snippet' struct CL-X. (defalias 'yas--snippet-force-exit #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--snippet 8] 4 (#$ . 131982)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put yas--snippet-force-exit side-effect-free t defalias copy-yas--snippet copy-sequence] 4) #@168 compiler-macro for inlining `make-yas--snippet'. (fn CL-WHOLE &cl-quote &key EXPAND-ENV FIELDS EXIT ID CONTROL-OVERLAY ACTIVE-FIELD PREVIOUS-ACTIVE-FIELD FORCE-EXIT) (defalias 'make-yas--snippet--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"\206\311A@\306\312\"A@\306\313\"\206!\314A@\306\315\"A@\306\316\"A@\306\317\"A@\306\320\"A@\203v@\321>\203]AA\211\202H\322>A@\203l\323\211\202H\324\325@\"\210\202F)\326\327\330\323\323 \n \f & .\207" [#1# expand-env fields exit id control-overlay plist-member :expand-env :fields (nil 'nil) :exit :id (nil (yas--snippet-next-id)) :control-overlay :active-field :previous-active-field :force-exit (:expand-env :fields :exit :id :control-overlay :active-field :previous-active-field :force-exit :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:expand-env :fields :exit :id :control-overlay :active-field :previous-active-field :force-exit)" cl--defsubst-expand (expand-env fields exit id control-overlay active-field previous-active-field force-exit) (cl-block make-yas--snippet (record 'yas--snippet expand-env fields exit id control-overlay active-field previous-active-field force-exit)) active-field previous-active-field force-exit #2=#:--cl-keys-- cl-whole] 15 (#$ . 132390)]) (put 'make-yas--snippet 'compiler-macro 'make-yas--snippet--cmacro) #@148 Constructor for objects of type `yas--snippet'. (fn &key EXPAND-ENV FIELDS EXIT ID CONTROL-OVERLAY ACTIVE-FIELD PREVIOUS-ACTIVE-FIELD FORCE-EXIT) (defalias 'make-yas--snippet #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"\206\311A@\306\312\"A@\306\313\"\206$\314\315 DA@\306\316\"A@\306\317\"A@\306\320\"A@\306\321\"A@\203y@\322>\203`AA\211\202K\323>A@\203o\314\211\202K\324\325@\"\210\202I)\326\327 \n \f & .\207" [#1# expand-env fields exit id control-overlay plist-member :expand-env :fields (nil nil) :exit :id nil yas--snippet-next-id :control-overlay :active-field :previous-active-field :force-exit (:expand-env :fields :exit :id :control-overlay :active-field :previous-active-field :force-exit :allow-other-keys) :allow-other-keys error "Keyword argument %s not one of (:expand-env :fields :exit :id :control-overlay :active-field :previous-active-field :force-exit)" record yas--snippet active-field previous-active-field force-exit #2=#:--cl-keys--] 11 (#$ . 133794)]) #@50 compiler-macro for inlining `yas--make-snippet'. (defalias 'yas--make-snippet--cmacro #[(_cl-whole-arg expand-env) "\301\302\303\304\211\211&\207" [expand-env cl--defsubst-expand (expand-env) (cl-block yas--make-snippet (record 'yas--snippet expand-env 'nil nil (yas--snippet-next-id) nil nil nil nil)) nil] 7 (#$ . 134836)]) (put 'yas--make-snippet 'compiler-macro 'yas--make-snippet--cmacro) #@49 Constructor for objects of type `yas--snippet'. (defalias 'yas--make-snippet #[(expand-env) "\301\302\303\211\304 \303\211\211\211& \207" [expand-env record yas--snippet nil yas--snippet-next-id] 10 (#$ . 135238)]) (cl-struct-define 'yas--snippet "A snippet.\n\n..." 'cl-structure-object 'record nil '((cl-tag-slot) (expand-env) (fields 'nil) (exit nil) (id (yas--snippet-next-id) :read-only t) (control-overlay nil) (active-field) (previous-active-field) (force-exit)) 'cl-struct-yas--snippet-tags 'yas--snippet t) #@45 compiler-macro for inlining `yas--field-p'. (defalias 'yas--field-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--field-p (and (memq (type-of cl-x) cl-struct-yas--field-tags) t)) nil] 7 (#$ . 135761)]) (put 'yas--field-p 'compiler-macro 'yas--field-p--cmacro) (defalias 'yas--field-p #[(cl-x) "\302! >\205 \303\207" [cl-x cl-struct-yas--field-tags type-of t] 2]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put yas--field-p side-effect-free error-free put yas--field cl-deftype-satisfies] 5) #@50 compiler-macro for inlining `yas--field-number'. (defalias 'yas--field-number--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--field-number (progn (or (yas--field-p cl-x) (signal 'wrong-type-argument (list 'yas--field cl-x))) (aref cl-x 1))) nil] 7 (#$ . 136346)]) (put 'yas--field-number 'compiler-macro 'yas--field-number--cmacro) #@51 Access slot "number" of `yas--field' struct CL-X. (defalias 'yas--field-number #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 1] 4 (#$ . 136749)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--field-number side-effect-free t] 4) #@49 compiler-macro for inlining `yas--field-start'. (defalias 'yas--field-start--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--field-start (progn (or (yas--field-p cl-x) (signal 'wrong-type-argument (list 'yas--field cl-x))) (aref cl-x 2))) nil] 7 (#$ . 137083)]) (put 'yas--field-start 'compiler-macro 'yas--field-start--cmacro) #@50 Access slot "start" of `yas--field' struct CL-X. (defalias 'yas--field-start #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 2] 4 (#$ . 137481)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--field-start side-effect-free t] 4) #@47 compiler-macro for inlining `yas--field-end'. (defalias 'yas--field-end--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--field-end (progn (or (yas--field-p cl-x) (signal 'wrong-type-argument (list 'yas--field cl-x))) (aref cl-x 3))) nil] 7 (#$ . 137812)]) (put 'yas--field-end 'compiler-macro 'yas--field-end--cmacro) #@48 Access slot "end" of `yas--field' struct CL-X. (defalias 'yas--field-end #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 3] 4 (#$ . 138200)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--field-end side-effect-free t] 4) #@56 compiler-macro for inlining `yas--field-parent-field'. (defalias 'yas--field-parent-field--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--field-parent-field (progn (or (yas--field-p cl-x) (signal 'wrong-type-argument (list 'yas--field cl-x))) (aref cl-x 4))) nil] 7 (#$ . 138525)]) (put 'yas--field-parent-field 'compiler-macro 'yas--field-parent-field--cmacro) #@57 Access slot "parent-field" of `yas--field' struct CL-X. (defalias 'yas--field-parent-field #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 4] 4 (#$ . 138958)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--field-parent-field side-effect-free t] 4) #@51 compiler-macro for inlining `yas--field-mirrors'. (defalias 'yas--field-mirrors--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--field-mirrors (progn (or (yas--field-p cl-x) (signal 'wrong-type-argument (list 'yas--field cl-x))) (aref cl-x 5))) nil] 7 (#$ . 139310)]) (put 'yas--field-mirrors 'compiler-macro 'yas--field-mirrors--cmacro) #@52 Access slot "mirrors" of `yas--field' struct CL-X. (defalias 'yas--field-mirrors #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 5] 4 (#$ . 139718)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--field-mirrors side-effect-free t] 4) #@53 compiler-macro for inlining `yas--field-transform'. (defalias 'yas--field-transform--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--field-transform (progn (or (yas--field-p cl-x) (signal 'wrong-type-argument (list 'yas--field cl-x))) (aref cl-x 6))) nil] 7 (#$ . 140055)]) (put 'yas--field-transform 'compiler-macro 'yas--field-transform--cmacro) #@54 Access slot "transform" of `yas--field' struct CL-X. (defalias 'yas--field-transform #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 6] 4 (#$ . 140473)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--field-transform side-effect-free t] 4) #@54 compiler-macro for inlining `yas--field-modified-p'. (defalias 'yas--field-modified-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--field-modified-p (progn (or (yas--field-p cl-x) (signal 'wrong-type-argument (list 'yas--field cl-x))) (aref cl-x 7))) nil] 7 (#$ . 140816)]) (put 'yas--field-modified-p 'compiler-macro 'yas--field-modified-p--cmacro) #@55 Access slot "modified-p" of `yas--field' struct CL-X. (defalias 'yas--field-modified-p #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 7] 4 (#$ . 141239)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--field-modified-p side-effect-free t] 4) #@48 compiler-macro for inlining `yas--field-next'. (defalias 'yas--field-next--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--field-next (progn (or (yas--field-p cl-x) (signal 'wrong-type-argument (list 'yas--field cl-x))) (aref cl-x 8))) nil] 7 (#$ . 141585)]) (put 'yas--field-next 'compiler-macro 'yas--field-next--cmacro) #@49 Access slot "next" of `yas--field' struct CL-X. (defalias 'yas--field-next #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 8] 4 (#$ . 141978)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put yas--field-next side-effect-free t defalias copy-yas--field copy-sequence] 4) #@142 compiler-macro for inlining `make-yas--field'. (fn CL-WHOLE &cl-quote &key NUMBER START END PARENT-FIELD MIRRORS TRANSFORM MODIFIED-P NEXT) (defalias 'make-yas--field--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"\206$\314A@\306\315\"A@\306\316\"A@\306\317\"A@\203r@\320>\203YAA\211\202D\321>A@\203h\322\211\202D\323\324@\"\210\202B)\325\326\327\322\322 \n \f & .\207" [#1# number start end parent-field mirrors plist-member :number :start :end :parent-field :mirrors (nil 'nil) :transform :modified-p :next (:number :start :end :parent-field :mirrors :transform :modified-p :next :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:number :start :end :parent-field :mirrors :transform :modified-p :next)" cl--defsubst-expand (number start end parent-field mirrors transform modified-p next) (cl-block make-yas--field (record 'yas--field number start end parent-field mirrors transform modified-p next)) transform modified-p next #2=#:--cl-keys-- cl-whole] 15 (#$ . 142356)]) (put 'make-yas--field 'compiler-macro 'make-yas--field--cmacro) #@122 Constructor for objects of type `yas--field'. (fn &key NUMBER START END PARENT-FIELD MIRRORS TRANSFORM MODIFIED-P NEXT) (defalias 'make-yas--field #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"\206$\314A@\306\315\"A@\306\316\"A@\306\317\"A@\203r@\320>\203YAA\211\202D\321>A@\203h\322\211\202D\323\324@\"\210\202B)\325\326 \n \f & .\207" [#1# number start end parent-field mirrors plist-member :number :start :end :parent-field :mirrors (nil nil) :transform :modified-p :next (:number :start :end :parent-field :mirrors :transform :modified-p :next :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:number :start :end :parent-field :mirrors :transform :modified-p :next)" record yas--field transform modified-p next #2=#:--cl-keys--] 11 (#$ . 143541)]) (byte-code "\300\301\302\303#\300\207" [function-put make-yas--field side-effect-free t] 4) #@48 compiler-macro for inlining `yas--make-field'. (defalias 'yas--make-field--cmacro #[(_cl-whole-arg number start end parent-field) "\304\305\306\307\211\211 \n & \207" [number start end parent-field cl--defsubst-expand (number start end parent-field) (cl-block yas--make-field (record 'yas--field number start end parent-field 'nil nil nil nil)) nil] 10 (#$ . 144512)]) (put 'yas--make-field 'compiler-macro 'yas--make-field--cmacro) #@47 Constructor for objects of type `yas--field'. (defalias 'yas--make-field #[(number start end parent-field) "\304\305 \n \306\211\211\211& \207" [number start end parent-field record yas--field nil] 10 (#$ . 144952)]) (byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303& \207" [function-put yas--make-field side-effect-free t cl-struct-define yas--field "A field.\n\nNUMBER is the field number.\nSTART and END are mostly buffer markers, but see \"apropos markers-to-points\".\nPARENT-FIELD is a `yas--field' this field is nested under, or nil.\nMIRRORS is a list of `yas--mirror's\nTRANSFORM is a lisp form.\nMODIFIED-P is a boolean set to true once user inputs text.\nNEXT is another `yas--field' or `yas--mirror' or `yas--exit'.\n" cl-structure-object record nil ((cl-tag-slot) (number) (start) (end) (parent-field) (mirrors 'nil) (transform nil) (modified-p nil) (next)) cl-struct-yas--field-tags] 11) #@46 compiler-macro for inlining `yas--mirror-p'. (defalias 'yas--mirror-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--mirror-p (and (memq (type-of cl-x) cl-struct-yas--mirror-tags) t)) nil] 7 (#$ . 145881)]) (put 'yas--mirror-p 'compiler-macro 'yas--mirror-p--cmacro) (defalias 'yas--mirror-p #[(cl-x) "\302! >\205 \303\207" [cl-x cl-struct-yas--mirror-tags type-of t] 2]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put yas--mirror-p side-effect-free error-free put yas--mirror cl-deftype-satisfies] 5) #@50 compiler-macro for inlining `yas--mirror-start'. (defalias 'yas--mirror-start--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--mirror-start (progn (or (yas--mirror-p cl-x) (signal 'wrong-type-argument (list 'yas--mirror cl-x))) (aref cl-x 1))) nil] 7 (#$ . 146476)]) (put 'yas--mirror-start 'compiler-macro 'yas--mirror-start--cmacro) #@51 Access slot "start" of `yas--mirror' struct CL-X. (defalias 'yas--mirror-start #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--mirror-tags type-of signal wrong-type-argument yas--mirror 1] 4 (#$ . 146881)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--mirror-start side-effect-free t] 4) #@48 compiler-macro for inlining `yas--mirror-end'. (defalias 'yas--mirror-end--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--mirror-end (progn (or (yas--mirror-p cl-x) (signal 'wrong-type-argument (list 'yas--mirror cl-x))) (aref cl-x 2))) nil] 7 (#$ . 147217)]) (put 'yas--mirror-end 'compiler-macro 'yas--mirror-end--cmacro) #@49 Access slot "end" of `yas--mirror' struct CL-X. (defalias 'yas--mirror-end #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--mirror-tags type-of signal wrong-type-argument yas--mirror 2] 4 (#$ . 147612)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--mirror-end side-effect-free t] 4) #@54 compiler-macro for inlining `yas--mirror-transform'. (defalias 'yas--mirror-transform--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--mirror-transform (progn (or (yas--mirror-p cl-x) (signal 'wrong-type-argument (list 'yas--mirror cl-x))) (aref cl-x 3))) nil] 7 (#$ . 147942)]) (put 'yas--mirror-transform 'compiler-macro 'yas--mirror-transform--cmacro) #@55 Access slot "transform" of `yas--mirror' struct CL-X. (defalias 'yas--mirror-transform #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--mirror-tags type-of signal wrong-type-argument yas--mirror 3] 4 (#$ . 148367)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--mirror-transform side-effect-free t] 4) #@57 compiler-macro for inlining `yas--mirror-parent-field'. (defalias 'yas--mirror-parent-field--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--mirror-parent-field (progn (or (yas--mirror-p cl-x) (signal 'wrong-type-argument (list 'yas--mirror cl-x))) (aref cl-x 4))) nil] 7 (#$ . 148715)]) (put 'yas--mirror-parent-field 'compiler-macro 'yas--mirror-parent-field--cmacro) #@58 Access slot "parent-field" of `yas--mirror' struct CL-X. (defalias 'yas--mirror-parent-field #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--mirror-tags type-of signal wrong-type-argument yas--mirror 4] 4 (#$ . 149155)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--mirror-parent-field side-effect-free t] 4) #@49 compiler-macro for inlining `yas--mirror-next'. (defalias 'yas--mirror-next--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--mirror-next (progn (or (yas--mirror-p cl-x) (signal 'wrong-type-argument (list 'yas--mirror cl-x))) (aref cl-x 5))) nil] 7 (#$ . 149512)]) (put 'yas--mirror-next 'compiler-macro 'yas--mirror-next--cmacro) #@50 Access slot "next" of `yas--mirror' struct CL-X. (defalias 'yas--mirror-next #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--mirror-tags type-of signal wrong-type-argument yas--mirror 5] 4 (#$ . 149912)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--mirror-next side-effect-free t] 4) #@50 compiler-macro for inlining `yas--mirror-depth'. (defalias 'yas--mirror-depth--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--mirror-depth (progn (or (yas--mirror-p cl-x) (signal 'wrong-type-argument (list 'yas--mirror cl-x))) (aref cl-x 6))) nil] 7 (#$ . 150245)]) (put 'yas--mirror-depth 'compiler-macro 'yas--mirror-depth--cmacro) #@51 Access slot "depth" of `yas--mirror' struct CL-X. (defalias 'yas--mirror-depth #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--mirror-tags type-of signal wrong-type-argument yas--mirror 6] 4 (#$ . 150650)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put yas--mirror-depth side-effect-free t defalias copy-yas--mirror copy-sequence] 4) #@123 compiler-macro for inlining `make-yas--mirror'. (fn CL-WHOLE &cl-quote &key START END TRANSFORM PARENT-FIELD NEXT DEPTH) (defalias 'make-yas--mirror--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\203^@\315>\203EAA\211\2020\316>A@\203T\317\211\2020\320\321@\"\210\202.)\322\323\324\317\317 \n \f & .\207" [#1# start end transform parent-field next plist-member :start :end :transform :parent-field :next :depth (:start :end :transform :parent-field :next :depth :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:start :end :transform :parent-field :next :depth)" cl--defsubst-expand (start end transform parent-field next depth) (cl-block make-yas--mirror (record 'yas--mirror start end transform parent-field next depth)) depth #2=#:--cl-keys-- cl-whole] 13 (#$ . 151037)]) (put 'make-yas--mirror 'compiler-macro 'make-yas--mirror--cmacro) #@103 Constructor for objects of type `yas--mirror'. (fn &key START END TRANSFORM PARENT-FIELD NEXT DEPTH) (defalias 'make-yas--mirror #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\203^@\315>\203EAA\211\2020\316>A@\203T\317\211\2020\320\321@\"\210\202.)\322\323 \n \f &.\207" [#1# start end transform parent-field next plist-member :start :end :transform :parent-field :next :depth (:start :end :transform :parent-field :next :depth :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:start :end :transform :parent-field :next :depth)" record yas--mirror depth #2=#:--cl-keys--] 9 (#$ . 152027)]) (byte-code "\300\301\302\303#\300\207" [function-put make-yas--mirror side-effect-free t] 4) #@49 compiler-macro for inlining `yas--make-mirror'. (defalias 'yas--make-mirror--cmacro #[(_cl-whole-arg start end transform) "\303\304\305\306\211\211 \n&\207" [start end transform cl--defsubst-expand (start end transform) (cl-block yas--make-mirror (record 'yas--mirror start end transform nil nil nil)) nil] 9 (#$ . 152841)]) (put 'yas--make-mirror 'compiler-macro 'yas--make-mirror--cmacro) #@48 Constructor for objects of type `yas--mirror'. (defalias 'yas--make-mirror #[(start end transform) "\303\304 \n\305\211\211&\207" [start end transform record yas--mirror nil] 8 (#$ . 153240)]) (byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303& \207" [function-put yas--make-mirror side-effect-free t cl-struct-define yas--mirror "A mirror.\n\nSTART and END are mostly buffer markers, but see \"apropos markers-to-points\".\nTRANSFORM is a lisp form.\nPARENT-FIELD is a `yas--field' this mirror is nested under, or nil.\nNEXT is another `yas--field' or `yas--mirror' or `yas--exit'\nDEPTH is a count of how many nested mirrors can affect this mirror" cl-structure-object record nil ((cl-tag-slot) (start) (end) (transform nil) (parent-field) (next) (depth)) cl-struct-yas--mirror-tags] 11) #@44 compiler-macro for inlining `yas--exit-p'. (defalias 'yas--exit-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--exit-p (and (memq (type-of cl-x) cl-struct-yas--exit-tags) t)) nil] 7 (#$ . 154057)]) (put 'yas--exit-p 'compiler-macro 'yas--exit-p--cmacro) (defalias 'yas--exit-p #[(cl-x) "\302! >\205 \303\207" [cl-x cl-struct-yas--exit-tags type-of t] 2]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put yas--exit-p side-effect-free error-free put yas--exit cl-deftype-satisfies] 5) #@49 compiler-macro for inlining `yas--exit-marker'. (defalias 'yas--exit-marker--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--exit-marker (progn (or (yas--exit-p cl-x) (signal 'wrong-type-argument (list 'yas--exit cl-x))) (aref cl-x 1))) nil] 7 (#$ . 154632)]) (put 'yas--exit-marker 'compiler-macro 'yas--exit-marker--cmacro) #@50 Access slot "marker" of `yas--exit' struct CL-X. (defalias 'yas--exit-marker #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--exit-tags type-of signal wrong-type-argument yas--exit 1] 4 (#$ . 155028)]) (byte-code "\300\301\302\303#\300\207" [function-put yas--exit-marker side-effect-free t] 4) #@47 compiler-macro for inlining `yas--exit-next'. (defalias 'yas--exit-next--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block yas--exit-next (progn (or (yas--exit-p cl-x) (signal 'wrong-type-argument (list 'yas--exit cl-x))) (aref cl-x 2))) nil] 7 (#$ . 155357)]) (put 'yas--exit-next 'compiler-macro 'yas--exit-next--cmacro) #@48 Access slot "next" of `yas--exit' struct CL-X. (defalias 'yas--exit-next #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-yas--exit-tags type-of signal wrong-type-argument yas--exit 2] 4 (#$ . 155743)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put yas--exit-next side-effect-free t defalias copy-yas--exit copy-sequence] 4) #@89 compiler-macro for inlining `make-yas--exit'. (fn CL-WHOLE &cl-quote &key MARKER NEXT) (defalias 'make-yas--exit--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\305\306\"A@\305\307\"A@ \203: @\310>\203# AA\211\202\311>A@\2031\312\211\202\313\314 @\"\210\202)\315\316\317\312\f\312 \n&*\207" [#1# marker next #2=#:--cl-keys-- cl-whole plist-member :marker :next (:marker :next :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:marker :next)" cl--defsubst-expand (marker next) (cl-block make-yas--exit (record 'yas--exit marker next))] 9 (#$ . 156114)]) (put 'make-yas--exit 'compiler-macro 'make-yas--exit--cmacro) #@69 Constructor for objects of type `yas--exit'. (fn &key MARKER NEXT) (defalias 'make-yas--exit #[(&rest #1=#:--cl-rest--) "\304\305\"A@\304\306\"A@ \203: @\307>\203# AA\211\202\310>A@\2031\311\211\202\312\313 @\"\210\202)\314\315 \n#*\207" [#1# marker next #2=#:--cl-keys-- plist-member :marker :next (:marker :next :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:marker :next)" record yas--exit] 5 (#$ . 156783)]) (byte-code "\300\301\302\303#\300\207" [function-put make-yas--exit side-effect-free t] 4) #@47 compiler-macro for inlining `yas--make-exit'. (defalias 'yas--make-exit--cmacro #[(_cl-whole-arg marker) "\301\302\303\304\211\211&\207" [marker cl--defsubst-expand (marker) (cl-block yas--make-exit (record 'yas--exit marker nil)) nil] 7 (#$ . 157345)]) (put 'yas--make-exit 'compiler-macro 'yas--make-exit--cmacro) #@46 Constructor for objects of type `yas--exit'. (defalias 'yas--make-exit #[(marker) "\301\302\303#\207" [marker record yas--exit nil] 4 (#$ . 157669)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put yas--make-exit side-effect-free t cl-struct-define yas--exit nil cl-structure-object record ((cl-tag-slot) (marker) (next)) cl-struct-yas--exit-tags] 11) #@206 Evaluate BODY with bindings from ENV. ENV is a lisp expression that evaluates to list of elements with the form (VAR FORM), where VAR is a symbol and FORM is a lisp expression that evaluates to its value. (defalias 'yas--letenv '(macro . #[(env &rest body) "\303\304!\305 DC\306\307\310E\307\311E\nBBBE)\207" [envvar env body make-symbol "envvar" let cl-progv mapcar #'car (lambda (v-f) (eval (cadr v-f)))] 7 (#$ . 158072)])) (byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put yas--letenv edebug-form-spec (form body) function-put lisp-indent-function 1] 4) #@99 Apply FUN to all marker (sub)fields in SNIPPET. Update each field with the result of calling FUN. (defalias 'yas--snippet-map-markers #[(fun snippet) "\306! >\204\307\310\311D\"\210\312H\313\211\203 @\306\n!\f>\204+\307\310\314\nD\"\210\n\211\312\306\n!\f>\204@\307\310\314\nD\"\210\n\312H!I\210)\306\n!\f>\204V\307\310\314\nD\"\210\n\211\315\306\n!\f>\204l\307\310\314\nD\"\210\n\315H!I\210)\306\n!\f>\204\202\307\310\314\nD\"\210\n\316H\313\211\203 @\306!>\204\243\307\310\317D\"\210\211\320\306!>\204\275\307\310\317D\"\210\320H!I\210)\306!>\204\327\307\310\317D\"\210\211\312\306!>\204\361\307\310\317D\"\210\312H!I\210) A\211\204\215* A\211\204*\306! >\204\307\310\311D\"\210\315H\211\205T\306!>\2043\307\310\321D\"\210\211\320\306!>\204M\307\310\321D\"\210\320H!I))\207" [snippet cl-struct-yas--snippet-tags field --dolist-tail-- cl-struct-yas--field-tags #1=#:v type-of signal wrong-type-argument yas--snippet 2 nil yas--field 3 5 yas--mirror 1 yas--exit fun #2=#:v mirror cl-struct-yas--mirror-tags #3=#:v #4=#:v snippet-exit cl-struct-yas--exit-tags #5=#:v] 8 (#$ . 158654)]) #@50 Return non-nil if SNIPPET hasn't been committed. (defalias 'yas--snippet-live-p #[(snippet) "\3012 \302\303\"\210\3040\207" [snippet live yas--snippet-map-markers #[(m) "\301!\203\207\302\303\304\"\207" [m markerp throw live nil] 3] t] 3 (#$ . 159853)]) #@211 Calculate transformed string for FIELD-OR-MIRROR from FIELD. If there is no transform for ht field, return nil. If there is a transform but it returns nil, return the empty string iff EMPTY-ON-NIL-P is true. (defalias 'yas--apply-transform #[(field-or-mirror field &optional empty-on-nil-p) "\306!\307!\n>\204\310\311\312D\"\210\313H\307\f! >\2034\307\f! >\204.\310\311\314\fD\"\210\f\315H\202F\307\f!\n>\204C\310\311\312\fD\"\210\f\316H\307\f! >\203e\307\f! >\204_\310\311\314\fD\"\210\f\317H\202w\307\f!\n>\204t\310\311\312\fD\"\210\f\320H\205\224\212b\210\321!\211\206\223\205\223\322*,\207" [field yas-text cl-struct-yas--field-tags yas-modified-p field-or-mirror cl-struct-yas--mirror-tags yas--field-text-for-display type-of signal wrong-type-argument yas--field 7 yas--mirror 3 6 1 2 yas--eval-for-string "" transform start-point ret empty-on-nil-p] 5 (#$ . 160120)]) #@91 Replace all occurrences from FROM to TO. With optional string TEXT do it in that string. (defalias 'yas--replace-all #[(from to &optional text) "\203\303\304 !\n\305\211%\207eb\210\306 \307\305#\205#\310\n\305\211$\210\202\207" [text from to replace-regexp-in-string regexp-quote t search-forward nil replace-match] 6 (#$ . 161036)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put yas--replace-all speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'yas--snippet-find-field #[(snippet number) "\302\303\304! >\204\305\306\307D\"\210\310H\"\207" [snippet cl-struct-yas--snippet-tags cl-find-if #[(field) "\303 !\n>\204\304\305\306 D\"\210 \307H=\207" [number field cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 1] 5] type-of signal wrong-type-argument yas--snippet 2] 6]) #@49 Sort the fields of SNIPPET in navigation order. (defalias 'yas--snippet-sort-fields #[(snippet) "\303! >\204\304\305\306D\"\210\211\307\310\303! >\204#\304\305\306D\"\210\307H\311\"I)\207" [snippet cl-struct-yas--snippet-tags #1=#:v type-of signal wrong-type-argument yas--snippet 2 sort yas--snippet-field-compare] 8 (#$ . 161893)]) #@185 Compare FIELD1 and FIELD2. The field with a number is sorted first. If they both have a number, compare through the number. If neither have, compare through the field's start point (defalias 'yas--snippet-field-compare #[(field1 field2) "\305! >\204\306\307\310D\"\210\311H\305\n! >\204!\306\307\310\nD\"\210\n\311H\211\203H \203A \312U\206w\f\312U?\205w\f W\202w\f\312U?\202w \203R \312U\202w\305! >\204a\306\307\310D\"\210\313H\305\n! >\204s\306\307\310\nD\"\210\n\313HW*\207" [field1 cl-struct-yas--field-tags field2 n2 n1 type-of signal wrong-type-argument yas--field 1 0 2] 6 (#$ . 162244)]) #@45 Guess if SNIPPET's FIELD should be skipped. (defalias 'yas--field-probably-deleted-p #[(snippet field) "\304! >\204\305\306\307D\"\210\310H\304! >\204!\305\306\307D\"\210\311HZ\312U\205\302\304! >\2049\305\306\307D\"\210\313H\205\302\304! >\204N\305\306\307D\"\210\314H\204\230\315\304\n! >\204e\305\306\316\nD\"\210\n\310H!@=\205\302\304! >\204}\305\306\307D\"\210\310H\317\304\n! >\204\220\305\306\316\nD\"\210\n\320H!U\205\302\304! >\204\247\305\306\307D\"\210\321H\205\301\304! >\204\274\305\306\307D\"\210\321H\312U?\207" [field cl-struct-yas--field-tags snippet cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--field 2 3 0 7 4 last yas--snippet overlay-end 5 1] 6 (#$ . 162871)]) #@400 Return a sorted list of active snippets. The most recently-inserted snippets are returned first. Only snippets overlapping the region BEG ... END are returned. Overlapping has the same meaning as described in `overlays-in'. If END is omitted, it defaults to (1+ BEG). If BEG is omitted, it defaults to point. A non-nil, non-buffer position BEG is equivalent to a range covering the whole buffer. (defalias 'yas-active-snippets #[(&optional beg end) "\204`\250\204\306!\204ed\202 \204Te=\203- d=\203-\n\207\307\310 \"\307\211\203[ @\311\f\312\"\211\203S >\204S B) A\211\204:*\313 \314\315\316$)\207" [beg end yas--active-snippets snippets ov --dolist-tail-- markerp nil overlays-in overlay-get yas--snippet cl-sort >= :key yas--snippet-id snippet] 6 (#$ . 163621)]) (byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias yas--snippets-at-point yas-active-snippets nil make-obsolete "0.12"] 4) #@89 Try to expand a snippet at a key before point. Otherwise delegate to `yas-next-field'. (defalias 'yas-next-field-or-maybe-expand #[nil "\203\304\305 \306\"\n\205\307\n!?\205\310 *\207\310 \207" [yas-triggers-in-field yas--active-field-overlay active-field yas-fallback-behavior return-nil overlay-get yas--field yas-expand-from-trigger-key yas-next-field] 4 (#$ . 164571) nil]) #@72 Return non-nil if (yas-next-field ARG) would exit the current snippet. (defalias 'yas-next-field-will-exit-p #[(&optional arg) "\304 @\305\306\"\211\205\307 \n #?*\207" [yas--active-field-overlay active snippet arg yas-active-snippets overlay-get yas--field yas--find-next-field] 5 (#$ . 164965)]) #@55 Return the Nth field after the ACTIVE one in SNIPPET. (defalias 'yas--find-next-field #[(n snippet active) "\305\306\307! >\204\310\311\312D\"\210\313H\"\314 !\f \315Y\203$\n\202'\316\n!>8)\207" [snippet cl-struct-yas--snippet-tags live-fields n active cl-remove-if #[(field) " =?\205 \303\n\"\207" [field active snippet yas--field-probably-deleted-p] 3] type-of signal wrong-type-argument yas--snippet 2 abs 0 reverse] 6 (#$ . 165274)]) #@71 Navigate to the ARGth next field. If there's none, exit the snippet. (defalias 'yas-next-field #[(&optional arg) "\204\306\307 \310\"\311\312\n! >\204\313\314\310\nD\"\210\n\315H\312\n! >\204-\313\314\310\nD\"\210\n\316H\"@\317\f\n#\312\f!>\204I\313\314\320\fD\"\210\f\306H\321\322\"\321\323\"\324\325\203\200\211A\242\326\211A\242DDB\202b\327\330\237\331\326DDE!.\207" [arg yas--active-field-overlay active-field cl-struct-yas--field-tags snippet target-field 1 overlay-get yas--field yas-active-snippets type-of signal wrong-type-argument 2 3 yas--find-next-field yas--snippet mapcar car #[(v-f) "\301A@!\207" [v-f eval] 2] #[nil "\203\304\305!\203\306\n!\210) \203\307\n \"\207\310\n!\207" [active-field yas-moving-away-p snippet target-field t yas--field-update-display yas--update-mirrors yas--move-to-field yas-exit-snippet] 3] nil quote eval let funcall cl-struct-yas--snippet-tags #1=#:envvar #2=#:syms #3=#:vals #4=#:body #5=#:binds] 6 (#$ . 165729) nil]) #@47 Correctly place overlays for SNIPPET's FIELD. (defalias 'yas--place-overlays #[(snippet field) "\303 \"\210\304\305 !\n>\204\306\307\310 D\"\210 \311HS\305 !\n>\204)\306\307\310 D\"\210 \312HT\"@=\2057\313 \"\207" [snippet field cl-struct-yas--field-tags yas--make-move-field-protection-overlays yas-active-snippets type-of signal wrong-type-argument yas--field 2 3 yas--make-move-active-field-overlay] 7 (#$ . 166760)]) #@78 Update SNIPPET to move to field FIELD. Also create some protection overlays (defalias 'yas--move-to-field #[(snippet field) "\306! >\204\307\310\311D\"\210\312Hb\210\313\n\"\210\314 \315\n#\210\314 \311#\210\306! >\2044\307\310\311D\"\210\316H\211\203\206\f\317U\203\206\320\306! >\204R\307\310\311D\"\210\321H!\210\306\n! >\204f\307\310\315\nD\"\210\n\211\322\306! >\204z\307\310\311D\"\210\323H\206\201\324I)\202\327\306\n! >\204\225\307\310\315\nD\"\210\n\211\323I\210)\306! >\204\255\307\310\311D\"\210\325H?\205\327\326!\203\300\327\n!\202\327\306! >\204\317\307\310\311D\"\210\211\325\330I))\207" [field cl-struct-yas--field-tags snippet yas--active-field-overlay number cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--field 2 yas--place-overlays overlay-put yas--snippet 1 0 set-mark 3 8 6 t 7 yas--field-update-display yas--update-mirrors nil #1=#:v #2=#:v #3=#:v] 7 (#$ . 167194)]) #@61 Navigate to prev field. If there's none, exit the snippet. (defalias 'yas-prev-field #[nil "\300\301!\207" [yas-next-field -1] 2 (#$ . 168157) nil]) (defalias 'yas-abort-snippet #[(&optional snippet) "\206\303 @\211\205\"\304! >\204\305\306\307D\"\210\211\310\311I))\207" [snippet cl-struct-yas--snippet-tags #1=#:v yas-active-snippets type-of signal wrong-type-argument yas--snippet 8 t] 5 nil nil]) #@30 Goto exit-marker of SNIPPET. (defalias 'yas-exit-snippet #[(snippet) "\205\215\304! >\204\305\306\307D\"\210\211\310\311I\210)\304! >\204*\305\306\307D\"\210\312H\203x\304\211! >\204@\305\306\307D\"\210\312H! >\204a\305\306\313\304! >\204[\305\306\307D\"\210\312HD\"\210\304! >\204p\305\306\307D\"\210\312H\314H\202\214\315\304! >\204\210\305\306\307D\"\210\316H!b\207" [snippet cl-struct-yas--snippet-tags #1=#:v cl-struct-yas--exit-tags type-of signal wrong-type-argument yas--snippet 8 t 3 yas--exit 1 overlay-end 5] 8 (#$ . 168576) (list (cl-first (yas-active-snippets)))]) #@20 Exit all snippets. (defalias 'yas-exit-all-snippets #[nil "\300\301\302\303!\"\207" [mapc #[(snippet) "\301!\210\302 \207" [snippet yas-exit-snippet yas--check-commit-snippet] 2] yas-active-snippets all] 4 (#$ . 169191) nil]) #@79 Bind this temporarily to non-nil to prevent running `yas--on-*-modification'. (defvar yas--inhibit-overlay-hooks nil (#$ . 169424)) #@51 Beginning position of the last snippet committed. (defvar yas-snippet-beg nil (#$ . 169562)) #@45 End position of the last snippet committed. (defvar yas-snippet-end nil (#$ . 169661)) #@87 Commit SNIPPET, but leave point as it is. This renders the snippet as ordinary text. (defalias 'yas--commit-snippet #[(snippet) "\306! >\204\307\310\311D\"\210\312H\211\203@\313\n!\203@\314\n!\315\n!\316\n!\210\306! >\2048\307\310\311D\"\210\211\312\317I\210)\320\203M\316!\210\203X\321\316\"\210)\306! >\204h\307\310\311D\"\210\322H\f\203\203\323\f A#\210)\324!\210\325 \" !\203\245\"<\203\245\326\327 \f\257\"B\"\202\275\306! >\204\264\307\310\311D\"\210\211#\330\317I\210))\331\332\333\306! >\204\320\307\310\311D\"\210\332H#\207" [snippet cl-struct-yas--snippet-tags control-overlay yas-snippet-beg yas-snippet-end #1=#:v type-of signal wrong-type-argument yas--snippet 5 overlay-buffer overlay-start overlay-end delete-overlay nil t mapc 7 yas--advance-end-maybe-previous-fields yas--markers-to-points delq apply yas--snippet-revive 2 yas--message 4 "Snippet %s exited." yas--inhibit-overlay-hooks yas--active-field-overlay yas--field-protection-overlays previous-field yas--active-snippets yas-snippet-revival buffer-undo-list #2=#:v] 8 (#$ . 169754)]) (defvar yas--snippets-to-move nil) (make-variable-buffer-local 'yas--snippets-to-move) #@55 Gather snippets in BEG..END for moving to POS in BUF. (defalias 'yas--prepare-snippets-for-move #[(beg end buf pos) "\306\307 \"r\nq\210\310e \") \205m \306\211\203_@\311\312\"\210\313\314!>\204>\315\316\317D\"\210\320H!\211\fEB\321@!\210)A\211\204 *r\nq\210\244\211)+\207" [beg end buf pos dst-base-line snippets nil yas-active-snippets count-lines yas--snippet-map-markers #[(m) "\301!B\302\211\223\210\207" [m yas--snapshot-line-location nil] 4] yas--snapshot-overlay-line-location type-of signal wrong-type-argument yas--snippet 5 delete-overlay to-move snippet --dolist-tail-- cl-struct-yas--snippet-tags ctrl-ov yas--snippets-to-move] 6 (#$ . 170971)]) (defalias 'yas--on-buffer-kill #[nil "\306\211\n\205C\307\303!\203 \204\307\304!\205C\f\205C\310\307\305!\203' \206/\307\311!\205/ \211!\205C\312 !\211\205C\313ed $*\207" [org-buffer org-marker yas-minor-mode org-edit-src-from-org-mode org-src--from-org-mode org-edit-src-beg-marker nil boundp markerp org-src--beg-marker marker-buffer yas--prepare-snippets-for-move] 5]) (add-hook 'kill-buffer-hook 'yas--on-buffer-kill) #@57 Finish job started in `yas--prepare-snippets-for-move'. (defalias 'yas--finish-moving-snippets #[nil "\306\211\306\211\306\f\307 :\203R @\211\211A\242 \211A\242 @eb\210 y\210`\f\310\311\f\"\210\fb\210\312\f\n\"\210\313\f!\210\fB A\306 \202.\306\211\207" [yas--snippets-to-move #1=#:--cl-var-- ctrl-ov base-line snippet #2=#:--cl-var-- nil t yas--snippet-map-markers #[(saved-location) "\211A\242\211\303\n\"\304\223\210 )\207" [saved-location m base-pos yas--goto-saved-line-location nil] 5] yas--restore-overlay-line-location yas--maybe-move-to-active-field base-pos #3=#:--cl-var-- yas--active-snippets] 4 (#$ . 172126)]) #@32 Call FUN and catch any errors. (defalias 'yas--safely-call-fun #[(fun) "\3021 0\207\303\304\305\306 !$)\207" [fun error (debug error) yas--message 2 "Error running %s: %s" error-message-string] 6 (#$ . 172789)]) #@85 Call HOOK's functions. HOOK should be a symbol, a hook variable, as in `run-hooks'. (defalias 'yas--safely-run-hook #[(hook) "\303>?\205 \304\305\306\n\"!)\207" [yas-good-grace debug-on-error hook (t hooks) yas--safely-call-fun apply-partially run-hooks] 4 (#$ . 173012)]) #@105 Check if point exited the currently active field of the snippet. If so cleans up the whole snippet up. (defalias 'yas--check-commit-snippet #[nil "\306\211\n\f\306\211\203\210@\307 !>\204#\310\311\312 D\"\210 \313H\307 !>\2048\310\311\312 D\"\210 \314H\315\316\"\315\317\"\320\306\203o\211A\242\321\211A\242DDB\202Q\322\323\237\324\321DDE!\210.A\211\204*\f\206\217 ??\205\241\203\233\325!\210 \326\302!)+\207" [snippet-exit-transform exited-snippets-p yas-after-exit-snippet-hook snippet-exit-hook yas--active-snippets snippet nil type-of signal wrong-type-argument yas--snippet 6 1 mapcar car #[(v-f) "\301A@!\207" [v-f eval] 2] #[nil "\306! >\204\307\310\311D\"\210\312H\211\204! \203!\313 !\204D\306! >\2040\307\310\311D\"\210\211\312\314I\210) \315!\210\316\211\207 \203_\203T\317!\204_\212\320 \"\210\321!)\207\314\207" [snippet cl-struct-yas--snippet-tags snippet-exit-transform active-field #1=#:v yas-after-exit-snippet-hook type-of signal wrong-type-argument yas--snippet 8 yas--field-contains-point-p nil yas--commit-snippet t overlay-buffer yas--move-to-field yas--update-mirrors snippet-exit-hook exited-snippets-p yas--active-field-overlay] 5] quote eval let funcall yas--eval-for-effect yas--safely-run-hook --dolist-tail-- cl-struct-yas--snippet-tags active-field #2=#:envvar #3=#:syms #4=#:vals #5=#:body #6=#:binds] 7 (#$ . 173296)]) #@43 Save all markers of SNIPPET as positions. (defalias 'yas--markers-to-points #[(snippet) "\301\302\"\207" [snippet yas--snippet-map-markers #[(m) "\301!\302\211\223\210\207" [m marker-position nil] 4]] 3 (#$ . 174748)]) #@72 Restore SNIPPET's marker positions, saved by `yas--markers-to-points'. (defalias 'yas--points-to-markers #[(snippet) "\301\302\"\207" [snippet yas--snippet-map-markers copy-marker] 3 (#$ . 174976)]) #@74 Try to move to SNIPPET's active (or first) field and return it if found. (defalias 'yas--maybe-move-to-active-field #[(snippet) "\303! >\204\304\305\306D\"\210\307H\206(\303! >\204$\304\305\306D\"\210\310H@\211\2053\311\n\"\210\n)\207" [snippet cl-struct-yas--snippet-tags target-field type-of signal wrong-type-argument yas--snippet 6 2 yas--move-to-field] 5 (#$ . 175182)]) (defalias 'yas--field-contains-point-p #[(field &optional point) "\206`\211\303 !\n>\204\304\305\306 D\"\210 \307HY\2051\303 !\n>\204-\304\305\306 D\"\210 \310HX)\207" [point field cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 2 3] 6]) #@54 Return the propertized display text for field FIELD. (defalias 'yas--field-text-for-display #[(field) "\302! >\204\303\304\305D\"\210\306H\302! >\204!\303\304\305D\"\210\307H{\207" [field cl-struct-yas--field-tags type-of signal wrong-type-argument yas--field 2 3] 5 (#$ . 175848)]) #@43 True if some kind of undo is in progress. (defalias 'yas--undo-in-progress #[nil "\206 \302=\206 \303=\207" [undo-in-progress this-command undo redo] 2 (#$ . 176146)]) #@77 Create the control overlay that surrounds the snippet and holds the keymap. (defalias 'yas--make-control-overlay #[(snippet start end) "\306 \307\211\310%\311\n\312 #\210\311\n\313\f#\210\311\n\314 #\210\n)\207" [start end overlay yas-keymap yas-overlay-priority snippet make-overlay nil t overlay-put keymap priority yas--snippet] 6 (#$ . 176325)]) #@36 Return the currently active field. (defalias 'yas-current-field #[nil "\205\301!\205\302\303\"\207" [yas--active-field-overlay overlay-buffer overlay-get yas--field] 3 (#$ . 176683)]) #@111 Return CMD if at start of unmodified snippet field. Use as a `:filter' argument for a conditional keybinding. (defalias 'yas--maybe-clear-field-filter #[(cmd) "\303 \211\2057\304! >\204\305\306\307D\"\210\310H?\2057`\311\304! >\204.\305\306\307D\"\210\312H!=\2057\n)\207" [field cl-struct-yas--field-tags cmd yas-current-field type-of signal wrong-type-argument yas--field 7 marker-position 2] 7 (#$ . 176881)]) #@63 Clears unmodified FIELD if at field start, skips to next tab. (defalias 'yas-skip-and-clear-field #[(&optional field) "\301\206\302 !\210\303\304!\207" [field yas--skip-and-clear yas-current-field yas-next-field 1] 2 (#$ . 177312) nil]) #@44 Clears unmodified FIELD if at field start. (defalias 'yas-clear-field #[(&optional field) "\301\206\302 !\207" [field yas--skip-and-clear yas-current-field] 2 (#$ . 177558) nil]) #@129 Clears unmodified field if at field start, skips to next tab. Otherwise deletes a character normally by calling `delete-char'. (defalias 'yas-skip-and-clear-or-delete-char #[(&optional field) "\301\302!\203\303\206 \304 !\210\305\306!\207\307\310!\207" [field yas--maybe-clear-field-filter t yas--skip-and-clear yas-current-field yas-next-field 1 call-interactively delete-char] 2 (#$ . 177747) nil]) #@140 Deletes the region of FIELD and sets it's modified state to t. If given, FROM indicates position to start at instead of FIELD's beginning. (defalias 'yas--skip-and-clear #[(field &optional from) "\303!\210\304! >\204\305\306\307D\"\210\310H\304! >\204%\305\306\307D\"\210\311HU?\205V\n\206C\304! >\204@\305\306\307D\"\210\310H\304! >\204R\305\306\307D\"\210\311H|\207" [field cl-struct-yas--field-tags from yas--mark-this-and-children-modified type-of signal wrong-type-argument yas--field 2 3] 5 (#$ . 178160)]) (defalias 'yas--mark-this-and-children-modified #[(field) "\304! >\204\305\306\307D\"\210\211\310\311I\210)\304! >\204&\305\306\307D\"\210\312H\211\205Q\313 !\205Q\313 !=\203H\304 ! >\203H\314 !\210\315 !\211\204.\316)\207" [field cl-struct-yas--field-tags #1=#:v fom type-of signal wrong-type-argument yas--field 7 t 8 yas--fom-parent-field yas--mark-this-and-children-modified yas--fom-next nil] 5]) #@105 Place the active field overlay in SNIPPET's FIELD. Move the overlay, or create it if it does not exit. (defalias 'yas--make-move-active-field-overlay #[(snippet field) "\2032\305!\2032\306\307 !\n>\204\310\311\312 D\"\210 \313H\307 !\n>\204-\310\311\312 D\"\210 \314H#\207\315\307 !\n>\204B\310\311\312 D\"\210 \313H\307 !\n>\204T\310\311\312 D\"\210 \314H\316\211\317%\320\321 #\210\320\322\323#\210\320\324\f#\210\320\325\326#\210\320\327\330#\210\320\331\332#\207" [yas--active-field-overlay field cl-struct-yas--field-tags yas-overlay-priority snippet overlay-buffer move-overlay type-of signal wrong-type-argument yas--field 2 3 make-overlay nil t overlay-put priority face yas-field-highlight-face yas--snippet modification-hooks (yas--on-field-overlay-modification) insert-in-front-hooks (yas--on-field-overlay-modification) insert-behind-hooks (yas--on-field-overlay-modification)] 7 (#$ . 179120)]) #@114 Tell if newly modified FIELD should be cleared and skipped. BEG, END and LENGTH like overlay modification hooks. (defalias 'yas--skip-and-clear-field-p #[(field beg _end length) "\304U\2050 \305\n! >\204\306\307\310\nD\"\210\n\311HU\2050\305\n! >\204,\306\307\310\nD\"\210\n\312H?\207" [length beg field cl-struct-yas--field-tags 0 type-of signal wrong-type-argument yas--field 2 7] 5 (#$ . 180053)]) (defalias 'yas--merge-and-drop-dups #[(list1 list2 cmp key) "\304\305!\203\n\305\202 \306\307\310 \n\311 &!\207" [list1 list2 cmp key fboundp delete-consecutive-dups delete-dups cl-merge list :key] 8]) (defvar yas--before-change-modified-snippets nil) (make-variable-buffer-local 'yas--before-change-modified-snippets) (defalias 'yas--gather-active-snippets #[(overlay beg end then-delete) "\306 \"\n \236\211\203!\f\203!\f\211\f\307\fA \310\311$\241)\202> \2034 \2040\n B B \202>\f\203=\fA\202>\312 \203H\313\f \"*\207" [beg end overlay yas--before-change-modified-snippets old new yas-active-snippets yas--merge-and-drop-dups >= yas--snippet-id nil delq #1=#:v then-delete] 7]) (defvar yas--todo-snippet-indent nil nil) (make-variable-buffer-local 'yas--todo-snippet-indent) #@184 Clears the field and updates mirrors, conditionally. Only clears the field if it hasn't been modified and point is at field start. This hook does nothing if an undo is in progress. (defalias 'yas--on-field-overlay-modification #[(overlay after\? beg end &optional length) "\206\306 !?\206\307\n!?\206\310 ?\205\245\311\312\313\n\314\"\313 \315\"\316 !\203\233#\203\220\317 $\320\216\321 !%>\204G\322\323\315 D\"\210 \324H&\325\326&\"'\325\327&\"(\330)\311*'\203~'\211A'\242\331(\211A(\242DD*B*\202`\332\333*\237\334\331)DDE!.\202\244\335\n+,\311$\202\244\336\337\340\341#\210\342\n!,\207" [yas--inhibit-overlay-hooks yas--active-field-overlay overlay inhibit-modification-hooks field snippet overlayp overlay-buffer yas--undo-in-progress nil t overlay-get yas--field yas--snippet yas--snippet-live-p match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] type-of signal wrong-type-argument 1 mapcar car #[(v-f) "\301A@!\207" [v-f eval] 2] #[nil "\306 \n $\203\307\n\"\210\310!\f>\204\311\312\313D\"\210\211\314\315I\210)\316\317!\320 \n\315$#\210\321\212\322!\210)\323!\210)\324=?\206P>?\205\\B\211\207" [field beg end length cl-struct-yas--field-tags #1=#:v yas--skip-and-clear-field-p yas--skip-and-clear type-of signal wrong-type-argument yas--field 7 t yas--advance-end-maybe-previous-fields overlay-end yas--gather-active-snippets nil yas--field-update-display yas--update-mirrors auto overlay yas-indent-line snippet yas--todo-snippet-indent] 9] quote eval let funcall yas--gather-active-snippets lwarn (yasnippet zombie) :warning "Killing zombie snippet!" delete-overlay after\? save-match-data-internal cl-struct-yas--snippet-tags #2=#:envvar #3=#:syms #4=#:vals #5=#:body #6=#:binds beg end] 6 (#$ . 181265)]) (defalias 'yas--do-todo-snippet-indent #[nil "\205$\212\303 :\203 @\304\n\305\n!\"\210 A\211\202\n*\303\211)\207" [yas--todo-snippet-indent #1=#:--cl-var-- snippet nil yas--indent-mirrors-of-snippet yas--snippet-field-mirrors] 5]) (defalias 'yas--auto-fill #[nil "`\306 \210`\307 \210`\310\n \"\311\211 \311/\2110\203\2000@/\312/!\3111\2110\203Y0@1\n1X\203P1 X\203P1\3131\n #B\fB0A\2110\2041*\314\315/!2>\204m\316\317\320/D\"\210/\321H\n # B0A\2110\204*b\210\3223\203\223 \210\202_\322\323\324!DC\322\323\325!DC\326456r\327 7p\330p7\"B\2117)\3118\2110\203#0@\2118q\2106\23695\236:\331\324!\203\3679\203\355989AB\241\210\202\3678D6B6\331\325!\203:\203:8:AB\241\210\2028D5B5*0A\2110\204\277+\332\333\334\335p65\336\337!\203Q\340\341\322\";\342\216;;\343\344<\"\210)r;q\210\345 +\202R\346&\210\347\350!\210\351\352\353\"\210+)\212\306 \210`\307 \210`)\212\214\n }\210\f\311=\2110\203\2240@\211=@\354=A!\311\223\2100A\2110\204|*\343\355 \"\210)\343\356 \".\207" [orig-point end beg snippets remarkers reoverlays forward-paragraph backward-paragraph yas-active-snippets nil yas--collect-snippet-markers yas--snapshot-location yas--snapshot-overlay-location type-of signal wrong-type-argument yas--snippet 5 t default-value yas--original-auto-fill-function auto-fill-function 3 buffer-list remq local-variable-p lwarn (yasnippet auto-fill bug) :error "`yas--original-auto-fill-function' unexpectedly nil in %S! Disabling auto-fill.\n %S\n `auto-fill-function': %S\n%s" fboundp backtrace--print-frame generate-new-buffer " *string-output*" #[nil "\301!\207" [standard-output kill-buffer] 2] mapc #[(frame) "\301\302\"\207" [frame apply backtrace--print-frame] 3] buffer-string "" auto-fill-mode -1 add-to-list warning-suppress-types (yasnippet auto-fill bug) yas--goto-saved-location yas--restore-overlay-location #[(snippet) "\306! >\204\307\310\311D\"\210\312H\313\314\n\"\313\315\n\"\316\317 \203; \211A\242\320\f\211A\242DDB\202\"\321\322\237\323\320 DDE!-\207" [snippet cl-struct-yas--snippet-tags #1=#:envvar #2=#:syms #3=#:vals #4=#:body type-of signal wrong-type-argument yas--snippet 1 mapcar car #[(v-f) "\301A@!\207" [v-f eval] 2] #[nil "\301!\207" [snippet yas--update-mirrors] 2] nil quote eval let funcall #5=#:binds] 6] snippet --dolist-tail-- m cl-struct-yas--snippet-tags yas--inhibit-overlay-hooks print-length fill-fun-values yas--fill-fun-values bufs buf yf-cell af-cell standard-output yas--watch-auto-fill-backtrace remarker] 11]) #@112 Place protection overlays surrounding SNIPPET's FIELD. Move the overlays, or create them if they do not exit. (defalias 'yas--make-move-field-protection-overlays #[(snippet field) "\306! >\204\307\310\311D\"\210\312H\306! >\204!\307\310\311D\"\210\313H\314 \nW\2037\212\315db\210\316 \210* \203U\317\320 \"\203U\321 @ S #\210\321 A@\n\211T#\202\227\322 S \323\315\323%\322\n\211T\323\315\323%D\211\323\211\205\226@\324\325\326#\210\324\327#\210\324\330\331#\210A\211\204q\323**\207" [field cl-struct-yas--field-tags end start yas--inhibit-overlay-hooks yas--field-protection-overlays type-of signal wrong-type-argument yas--field 2 3 buffer-size t newline cl-every overlay-buffer move-overlay make-overlay nil overlay-put face yas--field-debug-face yas--snippet modification-hooks (yas--on-protection-overlay-modification) ov --dolist-tail-- snippet] 8 (#$ . 185705)]) #@63 Commit the snippet if the protection overlay is being killed. (defalias 'yas--on-protection-overlay-modification #[(_overlay after\? beg end &optional length) "\206 \206\n?\206 \f ZU\206\306 ?\205F\307  \310\311\312\"\210 \313:\203D@\314!\210A\211\202-+\313\207" [yas--inhibit-overlay-hooks yas-inhibit-overlay-modification-protection after\? length end beg yas--undo-in-progress yas-active-snippets yas--message 2 "Committing snippets. Action would destroy a protection overlay." nil yas--commit-snippet snippets #1=#:--cl-var-- snippet] 4 (#$ . 186620)]) (add-to-list 'debug-ignored-errors "^Exit the snippet first!$") #@431 Expand SNIPPET at current point. Text between START and END will be deleted before inserting template. EXPAND-ENV is a list of (SYM VALUE) let-style dynamic bindings considered when expanding the snippet. If omitted, use SNIPPET's expand-env field. SNIPPET may be a snippet structure (e.g., as returned by `yas-lookup-snippet'), or just a snippet body (which is a string for normal snippets, and a list for command snippets). (defalias 'yas-expand-snippet #[(snippet &optional start end expand-env) "\203\n\306 >\204\307\310\311\312\211$\210\313\314!\210\n\205#\315\n!\205#\316\n\317\"\211\2052\320 ``\321$\2052 ) \206]\322 \203B\323 \202]\f\203\\\324\f!3>\204V\325\326\317\fD\"\210\f\327H\202]`4\206\210\322 \203m\330 \202\210\f\203\207\324\f!3>\204\201\325\326\317\fD\"\210\f\331H\202\210`\2114 V\205\225\332 4\"56\206\250\322 \205\250\f?\205\25056 b\210i75\203\272 4|\210\3248!9>\203\335\3248!9>\204\326\325\326\3338D\"\2108\327H\202\3378:;\204\3248!9>\203\3248!9>\204\325\326\3338D\"\2108\334H;:<\203\335:!\202@i<\336=\337:; `$8)\n\2054\315\n!\2054\316\n\317\"\211>\203b\3248!?>\204L\325\326\3408D\"\2108\211@\341>I\210)\342>\343\n!AA#\210)\3248!?>\204u\325\326\3408D\"\2108\327H\204\201\3448!\210\3248!?>\204\223\325\326\3408D\"\2108\327H@\211B\203#\345\321!\210\3248!?>\204\264\325\326\3408D\"\2108\346HC\347\350C\"D\347\351C\"E\352F\312GD\203\354D\211AD\242\353E\211AE\242DDGBG\202\316\354\355G\237\356\353FDDE!\210-\324B!3>\204 \325\326\317BD\"\210B\346H\321=\203#\357B!G\321V\203#\312H)\360\361\362\3248!?>\2049\325\326\3408D\"\2108\361H#\210\336.\207" [yas-minor-mode post-command-hook yas--active-field-overlay field clear-field start yas--post-command-handler cl--assertion-failed (and yas-minor-mode (memq 'yas--post-command-handler post-command-hook)) "[yas] `yas-expand-snippet' needs properly setup `yas-minor-mode'" nil run-hooks yas-before-expand-snippet-hook overlay-buffer overlay-get yas--field yas--skip-and-clear-field-p 0 region-active-p region-beginning type-of signal wrong-type-argument 2 region-end 3 buffer-substring-no-properties yas--template 5 yas--eval-for-effect t yas--snippet-create yas--snippet 7 yas--advance-end-maybe-previous-fields overlay-end yas-exit-snippet sit-for 1 mapcar car #[(v-f) "\301A@!\207" [v-f eval] 2] #[nil "\302 \"\207" [snippet first-field yas--move-to-field] 3] quote eval let funcall yas--field-text-for-display yas--message 4 "snippet %d expanded." cl-struct-yas--field-tags end to-delete yas-selected-text yas--indent-original-column snippet cl-struct-yas--template-tags content expand-env yas--start-column yas--inhibit-overlay-hooks existing-field cl-struct-yas--snippet-tags #1=#:v yas--active-snippets first-field #2=#:envvar #3=#:syms #4=#:vals #5=#:body #6=#:binds deactivate-mark] 8 (#$ . 187278)]) #@113 Commits SNIPPET, which in turn pushes an undo action for reviving it. Meant to exit in the `buffer-undo-list'. (defalias 'yas--take-care-of-redo #[(snippet) "\302! >\204\303\304\305D\"\210\306H\205\307!\207" [snippet cl-struct-yas--snippet-tags type-of signal wrong-type-argument yas--snippet 2 yas--commit-snippet] 4 (#$ . 190201)]) #@334 Revives SNIPPET and creates a control overlay from BEG to END. BEG and END are, we hope, the original snippets boundaries. All the markers/points exiting existing inside SNIPPET should point to their correct locations *at the time the snippet is revived*. After revival, push the `yas--take-care-of-redo' in the `buffer-undo-list' (defalias 'yas--snippet-revive #[(beg end snippet) "\306!\210\307!\205P\310! >\204\311\312\313D\"\210\211\314\315 \f#I\210)\316\310! >\2045\311\312\313D\"\210\314H\313#\210 B<\205P\317\320EB\211\207" [snippet cl-struct-yas--snippet-tags #1=#:v beg end yas--active-snippets yas--points-to-markers yas--maybe-move-to-active-field type-of signal wrong-type-argument yas--snippet 5 yas--make-control-overlay overlay-put apply yas--take-care-of-redo buffer-undo-list] 7 (#$ . 190551)]) #@96 Create a snippet from a template inserted at BEGIN to END. Returns the newly created snippet. (defalias 'yas--snippet-create #[(content expand-env begin end) "\214\306\307\310\211\311 \310\211\211\211& \312\313\n\"\312\314\n\"\315\310 \2039 \211A\242\316\f\211A\242DDB\202 \317\320\237\321\316 DDE!.\207" [expand-env snippet #1=#:envvar #2=#:syms #3=#:vals #4=#:body record yas--snippet nil yas--snippet-next-id mapcar car #[(v-f) "\301A@!\207" [v-f eval] 2] #[nil "\306 b\210\307\304 \n#\210\310\211 c\210 `}\210eb\210\311!\210*\307\303ed\n Z$\210)<\2034edBB\312!\210<\203F\313\314EB\315!\210\316!>\204]\317\320\321D\"\210\211\322\323ed#I\210)db\210B\207" [buffer-undo-list begin end after-change-functions before-change-functions content t run-hook-with-args nil yas--snippet-parse-create yas--indent apply yas--take-care-of-redo yas--snippet-sort-fields type-of signal wrong-type-argument yas--snippet 5 yas--make-control-overlay snippet cl-struct-yas--snippet-tags #5=#:v yas--active-snippets] 7] quote eval let funcall #6=#:binds] 10 (#$ . 191396)]) (defalias 'yas--fom-start #[(fom) "\304! >\203\304! >\204\305\306\307D\"\210\310H\207\304!\n>\2036\304!\n>\2042\305\306\311D\"\210\312H\207\304! >\204E\305\306\313D\"\210\312H\207" [fom cl-struct-yas--field-tags cl-struct-yas--mirror-tags cl-struct-yas--exit-tags type-of signal wrong-type-argument yas--field 2 yas--mirror 1 yas--exit] 4]) (defalias 'yas--fom-end #[(fom) "\304! >\203\304! >\204\305\306\307D\"\210\310H\207\304!\n>\2036\304!\n>\2042\305\306\311D\"\210\312H\207\304! >\204E\305\306\313D\"\210\314H\207" [fom cl-struct-yas--field-tags cl-struct-yas--mirror-tags cl-struct-yas--exit-tags type-of signal wrong-type-argument yas--field 3 yas--mirror 2 yas--exit 1] 4]) (defalias 'yas--fom-next #[(fom) "\304! >\203\304! >\204\305\306\307D\"\210\310H\207\304!\n>\2036\304!\n>\2042\305\306\311D\"\210\312H\207\304! >\204E\305\306\313D\"\210\314H\207" [fom cl-struct-yas--field-tags cl-struct-yas--mirror-tags cl-struct-yas--exit-tags type-of signal wrong-type-argument yas--field 8 yas--mirror 5 yas--exit 2] 4]) (defalias 'yas--fom-parent-field #[(fom) "\303! >\203\303! >\204\304\305\306D\"\210\307H\207\303!\n>\2036\303!\n>\2042\304\305\310D\"\210\307H\207\311\207" [fom cl-struct-yas--field-tags cl-struct-yas--mirror-tags type-of signal wrong-type-argument yas--field 4 yas--mirror nil] 4]) #@177 Calculate adjacencies for fields or mirrors of SNIPPET. This is according to their relative positions in the buffer, and has to be called before the $-constructs are deleted. (defalias 'yas--calculate-adjacencies #[(snippet) "\306\307\310\311\f! >\204\312\313\314\fD\"\210\f\315H\2032\311\f! >\204,\312\313\314\fD\"\210\f\315H B\311\f! >\204A\312\313\314\fD\"\210\f\316H\310\211\203\221@\211 B\311!>\204h\312\313\317D\"\210\320H\310\211\203\207@\211 BA\211\204u*A\211\204M*\321 \"\211\205\237\322\n \",\207" [fom-set-next-fom compare-fom-begs link-foms soup snippet cl-struct-yas--snippet-tags #[(fom nextfom) "\306! >\203\306! >\204\307\310\311D\"\210\211\312 I)\207\306!\f>\203>\306!\f>\2046\307\310\313D\"\210\211\314 I)\207\306!>\204N\307\310\315D\"\210\211\316 I)\207" [fom cl-struct-yas--field-tags #1=#:v nextfom cl-struct-yas--mirror-tags #2=#:v type-of signal wrong-type-argument yas--field 8 yas--mirror 5 yas--exit 2 cl-struct-yas--exit-tags #3=#:v] 5] #[(fom1 fom2) "\303!\303 !U\203\304!\n>\205\305\207\303!\303 !Y\207" [fom2 fom1 cl-struct-yas--mirror-tags yas--fom-start type-of t] 3] nil type-of signal wrong-type-argument yas--snippet 3 2 yas--field 5 sort cl-reduce field --dolist-tail-- cl-struct-yas--field-tags mirror] 5 (#$ . 193895)]) #@198 Discover if FOM is parented by some field in SNIPPET. Use the tightest containing field if more than one field contains the mirror. Intended to be called *before* the dollar-regions are deleted. (defalias 'yas--calculate-simple-fom-parentage #[(snippet fom) "ed\306\n\307 !\f>\204\310\311\312 D\"\210 \313H\"\314\211\205@\307 !>\2045\310\311\315 D\"\210 \313H\316\n!X\203\370\317\n!\307 !>\204R\310\311\315 D\"\210 \320HX\203\370 \307 !>\204j\310\311\315 D\"\210 \313HW\203\370\307 !>\204\201\310\311\315 D\"\210 \320HW\203\370\307 !>\204\231\310\311\315 D\"\210 \313H\307 !>\204\255\310\311\315 D\"\210 \320H\307\n!>\203\326\307\n!>\204\312\310\311\315\nD\"\210\n\211\321 I\210)\202\370\307\n!>\203\370\307\n!>\204\357\310\311\322\nD\"\210\n\211\321 I\210)A\211\204!\314,\207" [max min fom snippet cl-struct-yas--snippet-tags field remq type-of signal wrong-type-argument yas--snippet 2 nil yas--field yas--fom-start yas--fom-end 3 4 yas--mirror --dolist-tail-- cl-struct-yas--field-tags #1=#:v cl-struct-yas--mirror-tags #2=#:v] 7 (#$ . 195245)]) #@356 Maybe advance FOM's end to NEWEND if it needs it. If it does, also: * call `yas--advance-start-maybe' on FOM's next fom. * in case FOM is field call `yas--advance-end-maybe' on its parent field Also, if FOM is an exit-marker, always call `yas--advance-start-maybe' on its next fom. This is because exit-marker have identical start and end markers. (defalias 'yas--advance-end-maybe #[(fom newend) "\203!\303! W\203!\303! \304\223\210\305\306! \"\210\307\310! \"\207\311!\n>\205/\305\306! \"\207" [fom newend cl-struct-yas--exit-tags yas--fom-end nil yas--advance-start-maybe yas--fom-next yas--advance-end-of-parents-maybe yas--fom-parent-field type-of] 3 (#$ . 196362)]) #@74 Call `yas--advance-end-maybe' on FIELD, and previous fields on SNIPPETS. (defalias 'yas--advance-end-maybe-previous-fields #[(field end snippets) "\306\211\205F\n@ \307 !\f>\204\310\311\312 D\"\210 \313H>\204&\314\315!\210\316 \"\210\307 !\f>\204:\310\311\312 D\"\210 \317H\nA\211\204\306*\207" [snippets snippet --dolist-tail-- field cl-struct-yas--snippet-tags end nil type-of signal wrong-type-argument yas--snippet 2 cl--assertion-failed (memq field (yas--snippet-fields snippet)) yas--advance-end-maybe 7] 6 (#$ . 197057)]) #@111 Maybe advance FOM's start to NEWSTART if it needs it. If it does, also call `yas--advance-end-maybe' on FOM. (defalias 'yas--advance-start-maybe #[(fom newstart) "\205\302! W\205\302! \303\223\210\304 \"\207" [fom newstart yas--fom-start nil yas--advance-end-maybe] 3 (#$ . 197607)]) #@181 Like `yas--advance-end-maybe' but for parent fields. Only works for fields and doesn't care about the start of the next FOM. Works its way up recursively for parents of parents. (defalias 'yas--advance-end-of-parents-maybe #[(field newend) "\205F\303! >\204\304\305\306D\"\210\307H\nW\205F\303! >\204*\304\305\306D\"\210\307H\n\310\223\210\311\303! >\204A\304\305\306D\"\210\312H\n\"\207" [field cl-struct-yas--field-tags newend type-of signal wrong-type-argument yas--field 3 nil yas--advance-end-of-parents-maybe 4] 5 (#$ . 197907)]) #@85 When expanding the snippet the "parse-create" functions add cons cells to this var. (defvar yas--dollar-regions nil (#$ . 198467)) #@41 List of markers for manual indentation. (defvar yas--indent-markers nil (#$ . 198604)) #@163 Parse a recently inserted snippet template, creating all necessary fields, mirrors and exit points. Meant to be called in a narrowed buffer, does various passes (defalias 'yas--snippet-parse-create #[(snippet) "\306`\306\211\307\306\310\"\210b\210\311 \307 \210b\210\312 \210b\210\313\f!\210b\210\314\f!\210b\210\315\f!\210\316!\210)\317\f!\210 !\"#\214~\210\320 !\210)\321\"!\210*\322\f!$>\204_\323\324\325\fD\"\210\f\326H\211%\203\201\322%!&>\204z\323\324\327%D\"\210%\330H\202\202db\210)'\331=\203\217\332''\203\240(\203\240(c\210\202\272\333'!\203\272\334'!\203\272\334'!\335'\306\"\210c\210\336 !\210b\210\337 \210\340\f!\210b*\207" [parse-start saved-quotes syntax-propertize-function yas--dollar-regions snippet most-positive-fixnum nil yas--protect-escapes (96) yas--save-backquotes yas--indent-parse-create yas--field-parse-create yas--simple-fom-create yas--transform-mirror-parse-create syntax-ppss-flush-cache yas--calculate-adjacencies yas--delete-regions yas--remove-misc-free-from-undo type-of signal wrong-type-argument yas--snippet 3 yas--exit 1 cua 48 characterp get-register set-register yas--restore-backquotes yas--restore-escapes yas--update-mirrors buffer-undo-list old-undo-list gc-cons-threshold cl-struct-yas--snippet-tags exit cl-struct-yas--exit-tags yas-wrap-around-region yas-selected-text] 5 (#$ . 198698)]) #@270 Returns info for restoring POSITIONS's location after indent. The returned value is a list of the form (REGEXP WS-COUNT). POSITION may be either a marker or just a buffer position. The REGEXP matches text between BEG..END which default to the current line if omitted. (defalias 'yas--snapshot-location #[(position &optional beg end) "b\210 \204\n\305 \n\204\306 \307\310 \"\311\312#\307\310\n\"\311\312#\313\314\315\fC\244 \244\313#P\316\nw\210`Z*D\207" [position beg end after before line-beginning-position line-end-position split-string buffer-substring-no-properties "[[:space:]\n]+" t "[[:space:]\n]*" mapconcat #[(s) " =\203\302\207\303!\207" [s position "\\(\\)" regexp-quote] 2] "[:space:]\n"] 5 (#$ . 200087)]) #@104 Like `yas--snapshot-location', but return also line number. Returned format is (LINE REGEXP WS-COUNT). (defalias 'yas--snapshot-line-location #[(position &optional beg end) "b\210\303e\304 \"\305 \n#B\207" [position beg end count-lines line-beginning-position yas--snapshot-location] 5 (#$ . 200831)]) #@218 Like `yas--snapshot-location' for overlays. The returned format is (OVERLAY (RE WS) (RE WS)). Either of the (RE WS) lists may be nil if the start or end, respectively, of the overlay is outside the range BEG .. END. (defalias 'yas--snapshot-overlay-location #[(overlay beg end) "\305!\306! \nX\205\n\fW\205\307\n \f# X\205+ \fW\205+\307 \f#E*\207" [overlay oend obeg beg end overlay-start overlay-end yas--snapshot-location] 6 (#$ . 201142)]) #@118 Return info for restoring OVERLAY's line based location. The returned format is (OVERLAY (LINE RE WS) (LINE RE WS)). (defalias 'yas--snapshot-overlay-line-location #[(overlay) "\301\302!!\301\303!!E\207" [overlay yas--snapshot-line-location overlay-start overlay-end] 5 (#$ . 201606)]) #@131 Move to and return point saved by `yas--snapshot-location'. Buffer must be narrowed to BEG..END used to create the snapshot info. (defalias 'yas--goto-saved-location #[(re-count) "\211A\242\211A\242eb\210\303\n!\204\304\305\306\307\n$\210\202-\310\224b\210\311\312w\210\311` Zx\210`*\207" [re-count ws-count regexp looking-at lwarn (yasnippet re-marker) :warning "Couldn't find: %S" 1 "[:space:]\n" nil] 5 (#$ . 201902)]) #@140 Restores marker based on info from `yas--snapshot-overlay-location'. Buffer must be narrowed to BEG..END used to create the snapshot info. (defalias 'yas--restore-overlay-location #[(ov-locations) "\211G\305U\203 \211A\242\202\306\307\310 GD\" \211A\242 \242\311\n \204.\312\n!\2021\313 !\f\204;\314\n!\202>\313\f!#,\207" [ov-locations #1=#:--cl-rest-- overlay loc-beg loc-end 3 signal wrong-number-of-arguments (overlay loc-beg loc-end) move-overlay overlay-start yas--goto-saved-location overlay-end] 6 (#$ . 202340)]) #@145 Move to and return point saved by `yas--snapshot-line-location'. Additionally requires BASE-POS to tell where the line numbers are relative to. (defalias 'yas--goto-saved-line-location #[(base-pos l-re-count) "b\210 \211A\242y\210\214\302 \303 }\210\304 !)\207" [base-pos l-re-count line-beginning-position line-end-position yas--goto-saved-location] 2 (#$ . 202883)]) #@75 Restores marker based on info from `yas--snapshot-overlay-line-location'. (defalias 'yas--restore-overlay-line-location #[(base-pos ov-locations) "\211G\306U\203 \211A\242\202\307\310\311 GD\" \211A\242 \242\312\n\313 \"\313 \f\"#,\207" [ov-locations #1=#:--cl-rest-- overlay beg-l-r-w end-l-r-w base-pos 3 signal wrong-number-of-arguments (overlay beg-l-r-w end-l-r-w) move-overlay yas--goto-saved-line-location] 7 (#$ . 203260)]) #@108 Indent the lines between FROM and TO with `indent-according-to-mode'. The SNIPPET's markers are preserved. (defalias 'yas--indent-region #[(from to snippet) "\212 \214~\210\306\f!\307 \310\223b\210\310\211\311\312 \313 \2046U\204{\310 \310\211\203q@X\203hX\203h\314#BBA\211\204C*\315\216\316 \210\317 \210*\320y\321U\203\217`W\203\217\310\202!.\310\322\n!\210+\207" [most-positive-fixnum buffer-undo-list old-undo-list gc-cons-threshold snippet snippet-markers yas--collect-snippet-markers make-marker nil t line-beginning-position line-end-position yas--snapshot-location #[nil "\214\304 }\210 \305\211\205\" @\211@\306\nA!\305\223\210 A\211\204\305+\207" [bol remarkers remarker --dolist-tail-- line-end-position nil yas--goto-saved-location] 4] back-to-indentation indent-according-to-mode 1 0 yas--remove-misc-free-from-undo to from bol eol #1=#:--cl-var-- yas-also-indent-empty-lines remarkers m --dolist-tail--] 6 (#$ . 203711)]) (defvar yas--indent-original-column nil) (defalias 'yas--indent #[(snippet) "\212\306\211\203)\n@ \307=\204 b\210\310\311 \312 \f#\210 \306\211\223\210\nA\211\204 *\306)\212\306\210 \313\267\202_\314y\315U\205`\316\310\311 d\f#)\202`\204V\314y\315U\205`\310\311 d\f#\202`\306)\207" [yas--indent-markers marker --dolist-tail-- yas-indent-line snippet indent-line-function nil auto yas--indent-region line-beginning-position line-end-position #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (fixed 55 auto 74)) 1 0 #[nil "\301 \210j\207" [yas--indent-original-column beginning-of-line] 1] yas-also-auto-indent-first-line] 5]) #@49 Make a list of all the markers used by SNIPPET. (defalias 'yas--collect-snippet-markers #[(snippet) "\302\303\304 \"\210)\207" [markers snippet nil yas--snippet-map-markers #[(m) " B\207" [m markers] 2]] 3 (#$ . 205417)]) (defalias 'yas--escape-string #[(escaped) "\301\302\303\"\304Q\207" [escaped "YASESCAPE" format "%d" "PROTECTGUARD"] 4]) #@126 Protect all escaped characters with their numeric ASCII value. With optional string TEXT do it in string instead of buffer. (defalias 'yas--protect-escapes #[(&optional text escaped) "\211\305\306 \206 \f\"\210\n*\207" [text text-provided-p changed-text escaped yas--escaped-characters mapc #[(escaped) "\306\307!P\310! \205 \n \203 \311\312 !\f \313\211%\2025eb\210\314 \315\313#\2055\316\f\313\211 $\210\202#+\211\207" [escaped text-provided-p changed-text text to from "\\" char-to-string yas--escape-string replace-regexp-in-string regexp-quote t search-forward nil replace-match] 6]] 3 (#$ . 205773)]) #@130 Restore all escaped characters from their numeric ASCII value. With optional string TEXT do it in string instead of the buffer. (defalias 'yas--restore-escapes #[(&optional text escaped) "\211\305\306 \206 \f\"\210\n*\207" [text text-provided-p changed-text escaped yas--escaped-characters mapc #[(escaped) "\306!\307! \205 \n \203\310\311 !\f \312\211%\2023eb\210\313 \314\312#\2053\315\f\312\211 $\210\202!+\211\207" [escaped text-provided-p changed-text text to from yas--escape-string char-to-string replace-regexp-in-string regexp-quote t search-forward nil replace-match] 6]] 3 (#$ . 206403)]) #@135 Save all "\=`(lisp-expression)\=`"-style expressions. Return a list of (MARKER . STRING) entires for each backquoted Lisp expression. (defalias 'yas--save-backquotes #[nil "\306p\306\307\310\f\306\311#\203v\312\313!\306 !\"\214~\210\314\224\314\225|\210)\315!!\210* #B#\316\317\320\321\"!!)\314\224b\210 \203r\322 $ !\"\214~\210\323c\210$`\306\223\210\323c\210)\315!!\210*$ BB)*\202\n\203\237\324\325\326\327%\203\234\330%!&>\204\225\331\332\333%D\"\210%\334H\202\235\335$\210,\207" [saved-quotes yas--snippet-buffer yas--change-detected detect-change yas--backquote-lisp-expression-regexp transformed nil #[(_beg _end) "p=\205 \302\211\207" [yas--snippet-buffer yas--change-detected t] 2] re-search-forward t match-string-no-properties 1 0 yas--remove-misc-free-from-undo yas--eval-for-string yas--read-lisp yas--restore-escapes (96) make-marker "Y" lwarn (yasnippet backquote-change) :warning "`%s' modified buffer in a backquote expression.\n To hide this warning, add (yasnippet backquote-change) to `warning-suppress-types'." type-of signal wrong-type-argument yas--template 3 "Snippet" current-string most-positive-fixnum buffer-undo-list old-undo-list gc-cons-threshold before-change-functions marker yas--current-template cl-struct-yas--template-tags] 8 (#$ . 207027)]) #@118 Replace markers in SAVED-QUOTES with their values. SAVED-QUOTES is the in format returned by `yas--save-backquotes'. (defalias 'yas--restore-backquotes #[(saved-quotes) "\306\211 :\203@ @\211\211A\242\212 b\210\f  \f\214~\210\307\310!\210\nc\210\307\311!\210)\312 !\210* \306\211\223\210) A\211\202+\306\207" [saved-quotes #1=#:--cl-var-- string marker most-positive-fixnum buffer-undo-list nil delete-char -1 1 yas--remove-misc-free-from-undo old-undo-list gc-cons-threshold] 4 (#$ . 208359)]) (defalias 'yas--scan-sexps #[(from count) "\3061\307 \310\216\311 p\312\216\313\314 !\210\315\316\f \".0\207\210\315\207" [save-match-data-internal #1=#:buffer #2=#:table parse-sexp-lookup-properties from count (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] syntax-table #[nil "rq\210\302 !)\207" [#1# #2# set-syntax-table] 2] set-syntax-table standard-syntax-table nil scan-sexps] 3]) #@58 Create a marker at POS with nil `marker-insertion-type'. (defalias 'yas--make-marker #[(pos) "\302 \303\223\304 \303\"\210 )\207" [pos marker make-marker nil set-marker-insertion-type] 3 (#$ . 209319)]) #@51 Parse the "$>" indentation markers just inserted. (defalias 'yas--indent-parse-create #[nil "\301\302\303\301\304#\203\305\224\305\225|\210\306\307 !B\202\237\211\207" [yas--indent-markers nil search-forward "$>" t 0 yas--make-marker line-beginning-position] 4 (#$ . 209530)]) (defalias 'yas--scan-for-field-end #[nil "\300\301!\210`Sf\302=\203\303 \204`\207" [re-search-forward "\\${\\|}" 123 yas--scan-for-field-end] 2]) #@483 Parse most field expressions in SNIPPET, except for the simple one "$n". The following count as a field: * "${n: text}", for a numbered field with default text, as long as N is not 0; * "${n: text$(expression)}, the same with a Lisp expression; this is caught with the curiously named `yas--multi-dollar-lisp-expression-regexp' * the same as above but unnumbered, (no N:) and number is calculated automatically. When multiple expressions are found, only the last one counts. (defalias 'yas--field-parse-create #[(snippet &optional parent-field) "\212\306\307\310#\203\352\311 \312\216\313\224b\210\314 *\211\206`Sf\315=\203&\n\202'`\316\317!\2053\320\316\317!! \205m\321\316\313!\307\310\322#)\266\203?\205m\f\323\313\224!\323 S!##$%\324\325\f%$#\307\211\211\211& ,\211&\203\346 b\210 S B'B'\326\224\313\224B'B'\327(!)>\204\233\330\331\332(D\"\210(\211*\313&*\313HBI\210)\212\214\327&!+>\204\277\330\331\325&D\"\210&\313H\327&!+>\204\325\330\331\325&D\"\210&\333H}\210eb\210\334(&\"\210*,\202)#\205V\212\306,\307\310#\205U\335\317\224\317\"\211-\203Q\326\224-B'\235\204Q\317\224S\206`Sf\336=\204Q\337\317\224-\".\327#!+>\2048\330\331\325#D\"\210#\211/\340\341\342.!!I\210*\326\224-B'B')\202\361)\207" [yas--field-regexp save-match-data-internal brace-scan real-match-end-0 number inhibit-changing-match-data re-search-forward nil t match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 2 yas--scan-for-field-end 125 match-string-no-properties 1 string-to-number "\\`\\$[ \n]*(" string-match yas--make-marker record yas--field 0 type-of signal wrong-type-argument yas--snippet 3 yas--field-parse-create yas--scan-sexps 58 buffer-substring-no-properties 6 yas--read-lisp yas--restore-escapes parent-field end start brand-new-field yas--dollar-regions snippet cl-struct-yas--snippet-tags #1=#:v cl-struct-yas--field-tags yas--multi-dollar-lisp-expression-regexp real-match-end-1 lisp-expression-string #2=#:v] 11 (#$ . 209973)]) #@72 Parse the "${n:$(lisp-expression)}" mirror transformations in SNIPPET. (defalias 'yas--transform-mirror-parse-create #[(snippet) "\306\307\310#\205\211\311\312\224T\313\"\314\315\313!!\211\205$\n\312U?\205$\316 \n\" \205Q\f\205Q\317\312\224!\317\312\224!\320\321\322\323\224 S\"!!\324\325 \307\211\211&+\211\203\205\326\f!>\204g\327\330\331\fD\"\210\f\211 \332 \332HBI\210)\333 \"\210\312\224 B!B!,\202\207" [yas--transform-mirror-regexp real-match-end-0 number snippet field transform re-search-forward nil t yas--scan-sexps 0 1 string-to-number match-string-no-properties yas--snippet-find-field yas--make-marker yas--read-lisp yas--restore-escapes buffer-substring-no-properties 2 record yas--mirror type-of signal wrong-type-argument yas--field 5 yas--calculate-simple-fom-parentage end start brand-new-mirror cl-struct-yas--field-tags #1=#:v yas--dollar-regions] 9 (#$ . 212027)]) #@62 Parse the simple "$n" fields/mirrors/exitmarkers in SNIPPET. (defalias 'yas--simple-fom-create #[(snippet) "\306\307\310#\205+\311\312\313!!\211\314U\203\206\315\n! >\204#\316\317\320\nD\"\210\n\211\321\322\314\225!\323\324 \307#)I\210)\314\224\315\211\n! >\204G\316\317\320\nD\"\210\n\321H!>\204i\316\317\324\315\n! >\204c\316\317\320\nD\"\210\n\321HD\"\210\315\n! >\204x\316\317\320\nD\"\210\n\321H\313HBB\202'\325\n \"\307\211\203\326\322\314\224!\322\314\224! \323\326 \307\211\211\211&*\211!\315!\">\204\303\316\317\327D\"\210\211#\330!#\330HBI\210*\202 \322\314\224!\322\314\224! \323\327  \307\211\211\211\211& +\211$\315\n! >\204\316\317\320\nD\"\210\n\211%\331$%\331HBI\210*\332\n\"\210*\314\224\314\225BB)\202\207" [yas--simple-mirror-regexp number snippet cl-struct-yas--snippet-tags #1=#:v marker re-search-forward nil t string-to-number match-string-no-properties 1 0 type-of signal wrong-type-argument yas--snippet 3 yas--make-marker record yas--exit yas--snippet-find-field yas--mirror yas--field 5 2 yas--calculate-simple-fom-parentage cl-struct-yas--exit-tags yas--dollar-regions fom field end start #2=#:x cl-struct-yas--field-tags #3=#:v #4=#:x #5=#:v] 11 (#$ . 212954)]) #@65 Sort disjuct REGIONS by start point, then delete from the back. (defalias 'yas--delete-regions #[(regions) "\301\302\303\304\"\"\207" [regions mapc #[(reg) "@A|\207" [reg] 2] sort #[(r1 r2) "@ @Y\207" [r1 r2] 2]] 5 (#$ . 214220)]) (defalias 'yas--calculate-mirror-depth #[(mirror &optional traversed) "\306! >\204\307\310\311D\"\210\312H\211\205)\306\n! >\204&\307\310\313\nD\"\210\n\314H\306! >\2049\307\310\311D\"\210\315H\206z\306! >\204N\307\310\311D\"\210\211\315>\203]\316\202x\n\203o\f\203o\317\320\f\321\322$T\202x\n\203w\323\202x\316I)*\207" [mirror cl-struct-yas--mirror-tags parent cl-struct-yas--field-tags parents-mirrors #1=#:v type-of signal wrong-type-argument yas--mirror 4 yas--field 5 6 0 cl-reduce max :key #[(m) "\303 \nB\"\207" [m mirror traversed yas--calculate-mirror-depth] 4] 1 traversed] 8]) (defalias 'yas--snippet-field-mirrors #[(snippet) "\302\303\304\305! >\204\306\307\310D\"\210\311H\"\312\313\314$\207" [snippet cl-struct-yas--snippet-tags cl-sort cl-mapcan #[(field) "\302\303\304! >\204\305\306\307D\"\210\310H\"\207" [field cl-struct-yas--field-tags mapcar #[(mirror) " B\207" [field mirror] 2] type-of signal wrong-type-argument yas--field 5] 6] type-of signal wrong-type-argument yas--snippet 2 > :key #[(fm) "\301A!\207" [fm yas--calculate-mirror-depth] 2]] 7]) (defalias 'yas--indent-mirrors-of-snippet #[(snippet &optional f-ms) "\306=\205<\307\310\311\312\n\206\313 !\"\314\315\316$\317\211\f:\203:\f@\211\211A\242\320 #\210\fA\211\202,\317\207" [yas-indent-line yas--inhibit-overlay-hooks f-ms snippet #1=#:--cl-var-- end auto t cl-sort mapcar #[(f-m) "A\303 !\n>\204\304\305\306 D\"\210 \307H\303 !\n>\204$\304\305\306 D\"\210 \310H)B\207" [f-m mirror cl-struct-yas--mirror-tags type-of signal wrong-type-argument yas--mirror 1 2] 5] yas--snippet-field-mirrors < :key car nil yas--indent-region beg] 6]) #@36 Update all the mirrors of SNIPPET. (defalias 'yas--update-mirrors #[(snippet) " \214~\210\212\306\f!\211\307\211:\203~@\211\211A\242\310!>\204:\311\312\313D\"\210\314H\211\203M\315\316!\"\210)\317\"\210\310\f!>\204e\311\312\320\fD\"\210\f\321H\211\203t\322\f\"\210)A\211\202+\323\f \"+\324\n!\210*\207" [most-positive-fixnum buffer-undo-list old-undo-list gc-cons-threshold snippet f-ms yas--snippet-field-mirrors nil type-of signal wrong-type-argument yas--mirror 4 yas--advance-start-maybe yas--fom-start yas--mirror-update-display yas--snippet 6 yas--place-overlays yas--indent-mirrors-of-snippet yas--remove-misc-free-from-undo #1=#:--cl-var-- mirror field cl-struct-yas--mirror-tags parent-field cl-struct-yas--snippet-tags active-field] 5 (#$ . 216147)]) #@58 Update MIRROR according to FIELD (and mirror transform). (defalias 'yas--mirror-update-display #[(mirror field) "\306! >\204\307\310\311D\"\210\312H\211\205)\306\n! >\204&\307\310\313\nD\"\210\n\314H?\2058\315\f\316#\2068\317\f!\211\205\342 \320\306! >\204N\307\310\311D\"\210\321H\306! >\204`\307\310\311D\"\210\322H\"\230?\205\342\306! >\204x\307\310\311D\"\210\321Hb\210\323 c\210)\306! >\204\223\307\310\311D\"\210\322H`V\203\262`\306! >\204\253\307\310\311D\"\210\322H|\202\342\306! >\204\301\307\310\311D\"\210\322H`\324\223\210\325\306! >\204\330\307\310\311D\"\210\326H`\"\210\327\n`\"*\207" [mirror cl-struct-yas--mirror-tags mirror-parent-field cl-struct-yas--field-tags field reflection type-of signal wrong-type-argument yas--mirror 4 yas--field 7 yas--apply-transform empty-on-nil yas--field-text-for-display buffer-substring-no-properties 1 2 t nil yas--advance-start-maybe 5 yas--advance-end-of-parents-maybe yas--inhibit-overlay-hooks] 8 (#$ . 216969)]) #@57 Much like `yas--mirror-update-display', but for fields. (defalias 'yas--field-update-display #[(field) "\305! >\204\306\307\310D\"\210\311H\205\360\305! >\204$\306\307\310D\"\210\312H\313=?\2051\314\211\"\211\205\357\n\315\305! >\204G\306\307\310D\"\210\316H\305! >\204Y\306\307\310D\"\210\317H\"\230?\205\357\305! >\204q\306\307\310D\"\210\211\320\321I\210)\305! >\204\210\306\307\310D\"\210\316Hb\210\321\nc\210\305! >\204\241\306\307\310D\"\210\317H`V\203\301`\305! >\204\271\306\307\310D\"\210\317H|\210\202\355\305! >\204\320\306\307\310D\"\210\317H`\322\223\210\323\305! >\204\347\306\307\310D\"\210\324H`\"\210)\321)\207" [field cl-struct-yas--field-tags transformed #1=#:v yas--inhibit-overlay-hooks type-of signal wrong-type-argument yas--field 6 1 0 yas--apply-transform buffer-substring-no-properties 2 3 7 t nil yas--advance-start-maybe 8] 8 (#$ . 217991)]) #@58 Handles various yasnippet conditions after each command. (defalias 'yas--post-command-handler #[nil "\2035\306\307!\2035 \2045\n\310=\2035\311\312\313\314\315\316\317\"\320\216 \321\307\"\210)r q\210\322 +$\210\323\324\325\"\210\326 \210\3271\223\330 \210\f\331=\203\211\332 @\211\205z\333\334\335\336\337 !(>\204a\340\341\342 D\"\210 \343H\337 !(>\204t\340\341\342 D\"\210 \344HB\"\"\211)\205\205\345 )\"*\202\221\346 ?\205\221\347 0\207*\340*@*A\")\207" [yas--watch-auto-fill-backtrace yas--original-auto-fill-function auto-fill-function standard-output this-command snippet fboundp backtrace--print-frame yas--auto-fill lwarn (yasnippet auto-fill bug) :error "`yas--original-auto-fill-function' unexpectedly nil! Please report this backtrace\n%S" generate-new-buffer " *string-output*" t #[nil "\301!\207" [standard-output kill-buffer] 2] mapc buffer-string add-to-list warning-suppress-types (yasnippet auto-fill bug) yas--do-todo-snippet-indent (debug error) yas--finish-moving-snippets undo yas-active-snippets cl-find-if-not #[(field) "\302 \"\207" [snippet field yas--field-probably-deleted-p] 3] remq nil type-of signal wrong-type-argument yas--snippet 6 2 yas--move-to-field yas--undo-in-progress yas--check-commit-snippet cl-struct-yas--snippet-tags target-field err] 10 (#$ . 218918)]) (put 'yas-expand 'function-documentation '(yas--expand-from-trigger-key-doc t)) #@59 A doc synthesizer for `yas--expand-from-trigger-key-doc'. (defalias 'yas--expand-from-trigger-key-doc #[(context) "\205 \211\304\267\202%\305 \211\203\306\307\310\n!\"\206\311)\202&\312\202&\313\314 \315Q*\207" [context yas-fallback-behavior fallback fallback-description #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (call-other-command 12 return-nil 33)) yas--keybinding-beyond-yasnippet format "call command `%s'." pp-to-string "do nothing (`yas-expand' doesn't override\nanything)." "do nothing." "defer to `yas-fallback-behavior' (which see)." "Expand a snippet before point. If no snippet\nexpansion is possible, " "\n\nOptional argument FIELD is for non-interactive use and is an\nobject satisfying `yas--field-p' to restrict the expansion to."] 5 (#$ . 220328)]) (put 'yas-expand-from-keymap 'function-documentation '(yas--expand-from-keymap-doc t)) #@54 A doc synthesizer for `yas--expand-from-keymap-doc'. (defalias 'yas--expand-from-keymap-doc #[(context) "\306\307\310\"\210\311\205: \312=\205:\313 \314\315\316 \"\317\320\n!\321 \205*\322\323 !\324Q \2037\325\326\327 !\"\2068\330Q,P\207" [context this-command vec templates yas--direct-keymaps fallback add-hook temp-buffer-show-hook yas--snippet-description-finish-runonce "Expand/run snippets from keymaps, possibly falling back to original binding.\n" describe-key this-single-command-keys cl-mapcan #[(table) "\302 \"\207" [table vec yas--fetch] 3] yas--get-snippet-tables nil key-binding "In this case, " "these snippets are bound to this key:\n" yas--template-pretty-list "\n\nIf none of these expands, " format "fallback `%s' will be called." pp-to-string "no fallback keybinding is called."] 7 (#$ . 221244)]) (defalias 'yas--template-pretty-list #[(templates) "\305\306\n\305\211\203$\f@ \307\310\311 @\312Q\313 A#Q\fA\211\204\f* *\207" [yas-buffer-local-condition acc templates plate --dolist-tail-- nil always "\n*) " propertize "\\\\snippet `" "'" yasnippet] 7]) (byte-code "\300\301\302\303\304\305\306\307\310!&\207" [define-button-type help-snippet-def :supertype help-xref help-function #[(template) "\301!\207" [template yas--visit-snippet-file-1] 2] help-echo purecopy "mouse-2, RET: find snippets's definition"] 9) #@68 Final adjustments for the help buffer when snippets are concerned. (defalias 'yas--snippet-description-finish-runonce #[nil "\300 \210\301\302\303\"\207" [yas--create-snippet-xrefs remove-hook temp-buffer-show-hook yas--snippet-description-finish-runonce] 3 (#$ . 222607)]) (defalias 'yas--create-snippet-xrefs #[nil "\212eb\210\301\302\303\304#\205,\305\306\224\307\"\211\203(\310\306\311#\210\306\225\312\225|\210\312\224\306\224|\210)\202)\207" [template search-forward-regexp "\\\\\\\\snippet[ ]+`\\([^']+\\)'" nil t get-text-property 1 yasnippet help-xref-button help-snippet-def 0] 5]) (eldoc-add-command 'yas-next-field-or-maybe-expand 'yas-next-field 'yas-prev-field 'yas-expand 'yas-expand-from-keymap 'yas-expand-from-trigger-key) #@76 Log level for `yas--message' 4 means trace most anything, 0 means nothing. (defvar yas-verbosity 3 (#$ . 223362)) #@66 When LEVEL is at or below `yas-verbosity', log MESSAGE and ARGS. (defalias 'yas--message #[(level message &rest args) " Y\205\302\304\305\306\n #\"\207" [yas-verbosity level message args "%s" apply yas--format] 6 (#$ . 223482)]) (defalias 'yas--warning #[(format-control &rest format-args) "\303\304 #\305\306\n\307#\210\310\311\n\")\207" [format-control format-args msg apply format display-warning yasnippet :warning yas--message 1] 4]) (defalias 'yas--format #[(format-control &rest format-args) "\302\303\304P #\207" [format-control format-args apply format "[yas] "] 4]) #@52 Disable minor modes when calling `unload-feature'. (defalias 'yasnippet-unload-function #[nil "\305\306!\210r\307 \310\211\203# @\211q\210\n\203\302\306!\210 A\211\204+ \310\211\203C @\211\242\311=\203<\312\fA\310\"\210 A\211\204,*\310\207" [buffer --dolist-tail-- yas-minor-mode unload-function-defs-list def yas-global-mode -1 buffer-list nil defun setplist] 4 (#$ . 224070)]) #@63 For backward compatibility, enable `yas-minor-mode' globally. (defalias 'yas-initialize #[nil "\300\301!\207" [yas-global-mode 1] 2 (#$ . 224471)]) (make-obsolete 'yas-initialize "Use (yas-global-mode 1) instead." "0.8") #@69 Backported yasnippet symbols. They are mapped to "yas/*" variants. (defvar yas--backported-syms '(yas-snippet-dirs yas-prompt-functions yas-indent-line yas-also-auto-indent-first-line yas-snippet-revival yas-triggers-in-field yas-fallback-behavior yas-choose-keys-first yas-choose-tables-first yas-use-menu yas-trigger-symbol yas-wrap-around-region yas-good-grace yas-visit-from-menu yas-expand-only-for-last-commands yas-field-highlight-face yas-keymap yas-verbosity yas-extra-modes yas-key-syntaxes yas-after-exit-snippet-hook yas-before-expand-snippet-hook yas-buffer-local-condition yas-dont-activate yas-x-prompt yas-ido-prompt yas-no-prompt yas-completing-prompt yas-dropdown-prompt yas-expand yas-minor-mode yas-global-mode yas-direct-keymaps-reload yas-minor-mode-on yas-load-directory yas-reload-all yas-compile-directory yas-recompile-all yas-about yas-expand-from-trigger-key yas-expand-from-keymap yas-insert-snippet yas-visit-snippet-file yas-new-snippet yas-load-snippet-buffer yas-tryout-snippet yas-describe-tables yas-next-field-or-maybe-expand yas-next-field yas-prev-field yas-abort-snippet yas-exit-snippet yas-exit-all-snippets yas-skip-and-clear-or-delete-char yas-initialize yas-expand-snippet yas-define-snippets yas-define-menu yas-snippet-beg yas-snippet-end yas-modified-p yas-moving-away-p yas-substr yas-choose-value yas-key-to-value yas-throw yas-verify-value yas-field-value yas-text yas-selected-text yas-default-from-field yas-inside-string yas-unimplemented yas-define-condition-cache yas-hippie-try-expand) (#$ . 224698)) (byte-code "\203O \305\211\203C @\306\307\310\311\312\n!#!\313\n!\203*\314\f\n\315#\210\316\f\n\"\210\317\n!\203;\320\f\n\315#\210\321\f\n\"\210) A\211\204\f*\320\322\323\315#\210\316\322\323\"\210\305\207" [yas-alias-to-yas/prefix-p yas--backported-syms sym --dolist-tail-- backported nil intern replace-regexp-in-string "\\`yas-" "yas/" symbol-name boundp make-obsolete-variable "yasnippet 0.8" defvaralias fboundp make-obsolete defalias yas/root-directory yas-snippet-dirs] 7) #@195 Exported yasnippet symbols. i.e. the ones with "yas-" single dash prefix. I will try to keep them in future yasnippet versions and other elisp libraries can more or less safely rely upon them. (defvar yas--exported-syms (byte-code "\301\302\303!\210)\207" [exported nil mapatoms #[(atom) "\303!\203\f\304N\203\305!\2050\306N?\2050\307\310!\311\312\313#)\266\203\2050\nB\211\207" [atom inhibit-changing-match-data exported boundp byte-obsolete-variable fboundp byte-obsolete-info "\\`yas-[^-]" symbol-name nil t string-match] 7]] 2) (#$ . 226754)) (provide 'yasnippet)