summaryrefslogtreecommitdiff
path: root/elpa/irony-20220110.849/irony-snippet.el
diff options
context:
space:
mode:
Diffstat (limited to 'elpa/irony-20220110.849/irony-snippet.el')
-rw-r--r--elpa/irony-20220110.849/irony-snippet.el135
1 files changed, 0 insertions, 135 deletions
diff --git a/elpa/irony-20220110.849/irony-snippet.el b/elpa/irony-20220110.849/irony-snippet.el
deleted file mode 100644
index b12b587..0000000
--- a/elpa/irony-20220110.849/irony-snippet.el
+++ /dev/null
@@ -1,135 +0,0 @@
-;;; irony-snippet.el --- Snippet support for Irony-Mode
-
-;; Copyright (C) 2013-2014 Guillaume Papin
-
-;; Author: Guillaume Papin <guillaume.papin@epitech.eu>
-;; Keywords: c, convenience
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Snippet support functions, support all version of YASnippet and
-;; maybe further frameworks later.
-;;
-;; It is possible to check snippet support by calling
-;; `irony-snippet-available-p'.
-;;
-;; Note: Some YASnippet versions require to have
-;; `yas/minor-mode' or `yas-minor-mode' enabled to work.
-
-;;; Code:
-
-
-;; Private variables
-;;
-(defvar irony-snippet--expand-function nil
- "Function to expand a snippet at a given point (by default to
-the current position).
-
-e.g: (defun my-expand-snippet (snippet-str &optional pos)
- (do-stuff (or pos (point)))
-
-Will be set to nil if no snippet expansion function is found.")
-
-
-;;
-;; "Public" functions
-;;
-(defun irony-snippet-available-p ()
- "Return t if snippets are supported."
- (and (irony-snippet--get-expand-function)
- (not (irony-snippet--yas-disabled-p))))
-
-(defun irony-snippet-expand (snippet-str &optional pos)
- "Expand SNIPPET-STR starting at POS.
-
-If `irony-snippet-available-p' return t then"
- (let ((expand-func (irony-snippet--get-expand-function)))
- (funcall expand-func snippet-str pos)))
-
-
-;; Private functions
-;;
-(defun irony-snippet--get-expand-function ()
- (unless irony-snippet--expand-function
- (irony-snippet--init-yas))
- irony-snippet--expand-function)
-
-(defun irony-snippet--init-yas ()
- ;; find the snippet expand function
- (when (require 'yasnippet nil t)
- (let ((yas-version (or (and (boundp 'yas--version) yas--version)
- (and (boundp 'yas/version) yas/version)))) ;for old versions
- (when (stringp yas-version)
- (setq yas-version (replace-regexp-in-string "(\\|)" "" yas-version))
- (setq irony-snippet--expand-function
- ;; (string= ... "0.6.0c"), the 'c' suffix is not supported by
- ;; `version-to-list' in emacs versions < 24, treat this one
- ;; specifically.
- (cond
- ((or (string= yas-version "0.6.0c")
- (version<= yas-version "0.6.0b"))
- 'irony-snippet--expand-yas-1)
- ;; `version<' thinks "0.8beta" < "0.8", we want to consider
- ;; anything starting with "0.8" as "0.8" and more.
- ((and (version< yas-version "0.8")
- (not (string-prefix-p "0.8" yas-version)))
- 'irony-snippet--expand-yas-2)
- (t
- 'irony-snippet--expand-yas-3)))))))
-
-(defun irony-snippet--yas-disabled-p ()
- "If the current yasnippet version offers a minor-mode, check if
-this mode is disable by returning t, otherwise returns nil and
-it's partially safe to assume that yasnippet expansion can be
-used."
- ;; XXX: work only when yasnippet is enabled, otherwise some
- ;; variables used for the snippet expansion are not set and it
- ;; causes some errors.
- (if (boundp 'yas-minor-mode)
- (not yas-minor-mode)
- (if (boundp 'yas/minor-mode)
- (not yas/minor-mode))))
-
-(defun irony-snippet--expand-yas-1 (snippet-str &optional pos)
- "Expand snippets for YASnippet version <= 0.6.0c."
- (declare-function yas/expand-snippet "ext:yasnippet" t nil)
- (unless (irony-snippet--yas-disabled-p)
- (yas/expand-snippet (or pos (point))
- (or pos (point))
- snippet-str)))
-
-(defun irony-snippet--expand-yas-2 (snippet-str &optional pos)
- "Expand snippets for YASnippet version < 0.8.
-
-See also `irony-snippet--expand-yas-1'."
- (declare-function yas/expand-snippet "ext:yasnippet" t nil)
- (unless (irony-snippet--yas-disabled-p)
- (when pos
- (goto-char pos))
- (yas/expand-snippet snippet-str)))
-
-(defun irony-snippet--expand-yas-3 (snippet-str &optional pos)
- "Expand snippets for YASnippet version >= 0.8.
-
-See also `irony-snippet--expand-yas-2'."
- (declare-function yas-expand-snippet "ext:yasnippet" t nil)
- (unless (irony-snippet--yas-disabled-p)
- (when pos
- (goto-char pos))
- (yas-expand-snippet snippet-str)))
-
-(provide 'irony-snippet)
-;;; irony-snippet.el ends here