From bcd993046ffaa3390bcf3252db8ba69d4610191c Mon Sep 17 00:00:00 2001 From: Simeon Simeonov Date: Fri, 28 Feb 2025 18:30:17 +0100 Subject: Add snippets/rust-mode and upgrade markdown-mode --- .emacs.d/lisp/markdown-mode.el | 75 ++++++++++++++++++++++++------------ .emacs.d/snippets/rust-mode/afn | 7 ++++ .emacs.d/snippets/rust-mode/afnr | 7 ++++ .emacs.d/snippets/rust-mode/afns | 7 ++++ .emacs.d/snippets/rust-mode/afnw | 7 ++++ .emacs.d/snippets/rust-mode/allow | 5 +++ .emacs.d/snippets/rust-mode/allow! | 5 +++ .emacs.d/snippets/rust-mode/assert | 5 +++ .emacs.d/snippets/rust-mode/asserteq | 5 +++ .emacs.d/snippets/rust-mode/case | 5 +++ .emacs.d/snippets/rust-mode/cfg | 5 +++ .emacs.d/snippets/rust-mode/cfg= | 5 +++ .emacs.d/snippets/rust-mode/closure | 7 ++++ .emacs.d/snippets/rust-mode/crate | 5 +++ .emacs.d/snippets/rust-mode/deny | 5 +++ .emacs.d/snippets/rust-mode/deny! | 5 +++ .emacs.d/snippets/rust-mode/derive | 5 +++ .emacs.d/snippets/rust-mode/display | 9 +++++ .emacs.d/snippets/rust-mode/drop | 9 +++++ .emacs.d/snippets/rust-mode/enum | 7 ++++ .emacs.d/snippets/rust-mode/eprint | 5 +++ .emacs.d/snippets/rust-mode/eprintln | 5 +++ .emacs.d/snippets/rust-mode/fn | 7 ++++ .emacs.d/snippets/rust-mode/fnr | 7 ++++ .emacs.d/snippets/rust-mode/fns | 7 ++++ .emacs.d/snippets/rust-mode/fnw | 7 ++++ .emacs.d/snippets/rust-mode/for | 7 ++++ .emacs.d/snippets/rust-mode/from | 10 +++++ .emacs.d/snippets/rust-mode/fromstr | 11 ++++++ .emacs.d/snippets/rust-mode/if | 7 ++++ .emacs.d/snippets/rust-mode/ife | 9 +++++ .emacs.d/snippets/rust-mode/ifl | 7 ++++ .emacs.d/snippets/rust-mode/impl | 7 ++++ .emacs.d/snippets/rust-mode/implt | 7 ++++ .emacs.d/snippets/rust-mode/let | 5 +++ .emacs.d/snippets/rust-mode/letm | 5 +++ .emacs.d/snippets/rust-mode/lett | 5 +++ .emacs.d/snippets/rust-mode/lettm | 5 +++ .emacs.d/snippets/rust-mode/loop | 7 ++++ .emacs.d/snippets/rust-mode/macro | 7 ++++ .emacs.d/snippets/rust-mode/main | 7 ++++ .emacs.d/snippets/rust-mode/match | 7 ++++ .emacs.d/snippets/rust-mode/new | 7 ++++ .emacs.d/snippets/rust-mode/pafn | 7 ++++ .emacs.d/snippets/rust-mode/pafnr | 7 ++++ .emacs.d/snippets/rust-mode/pafns | 7 ++++ .emacs.d/snippets/rust-mode/pafnw | 7 ++++ .emacs.d/snippets/rust-mode/pfn | 7 ++++ .emacs.d/snippets/rust-mode/pfnr | 7 ++++ .emacs.d/snippets/rust-mode/pfns | 7 ++++ .emacs.d/snippets/rust-mode/pfnw | 7 ++++ .emacs.d/snippets/rust-mode/print | 5 +++ .emacs.d/snippets/rust-mode/println | 5 +++ .emacs.d/snippets/rust-mode/printlnf | 5 +++ .emacs.d/snippets/rust-mode/result | 5 +++ .emacs.d/snippets/rust-mode/spawn | 7 ++++ .emacs.d/snippets/rust-mode/static | 5 +++ .emacs.d/snippets/rust-mode/struct | 7 ++++ .emacs.d/snippets/rust-mode/test | 8 ++++ .emacs.d/snippets/rust-mode/testmod | 13 +++++++ .emacs.d/snippets/rust-mode/trait | 7 ++++ .emacs.d/snippets/rust-mode/type | 5 +++ .emacs.d/snippets/rust-mode/union | 7 ++++ .emacs.d/snippets/rust-mode/warn | 5 +++ .emacs.d/snippets/rust-mode/warn! | 5 +++ .emacs.d/snippets/rust-mode/while | 7 ++++ .emacs.d/snippets/rust-mode/whilel | 7 ++++ 67 files changed, 482 insertions(+), 25 deletions(-) create mode 100644 .emacs.d/snippets/rust-mode/afn create mode 100644 .emacs.d/snippets/rust-mode/afnr create mode 100644 .emacs.d/snippets/rust-mode/afns create mode 100644 .emacs.d/snippets/rust-mode/afnw create mode 100644 .emacs.d/snippets/rust-mode/allow create mode 100644 .emacs.d/snippets/rust-mode/allow! create mode 100644 .emacs.d/snippets/rust-mode/assert create mode 100644 .emacs.d/snippets/rust-mode/asserteq create mode 100644 .emacs.d/snippets/rust-mode/case create mode 100644 .emacs.d/snippets/rust-mode/cfg create mode 100644 .emacs.d/snippets/rust-mode/cfg= create mode 100644 .emacs.d/snippets/rust-mode/closure create mode 100644 .emacs.d/snippets/rust-mode/crate create mode 100644 .emacs.d/snippets/rust-mode/deny create mode 100644 .emacs.d/snippets/rust-mode/deny! create mode 100644 .emacs.d/snippets/rust-mode/derive create mode 100644 .emacs.d/snippets/rust-mode/display create mode 100644 .emacs.d/snippets/rust-mode/drop create mode 100644 .emacs.d/snippets/rust-mode/enum create mode 100644 .emacs.d/snippets/rust-mode/eprint create mode 100644 .emacs.d/snippets/rust-mode/eprintln create mode 100644 .emacs.d/snippets/rust-mode/fn create mode 100644 .emacs.d/snippets/rust-mode/fnr create mode 100644 .emacs.d/snippets/rust-mode/fns create mode 100644 .emacs.d/snippets/rust-mode/fnw create mode 100644 .emacs.d/snippets/rust-mode/for create mode 100644 .emacs.d/snippets/rust-mode/from create mode 100644 .emacs.d/snippets/rust-mode/fromstr create mode 100644 .emacs.d/snippets/rust-mode/if create mode 100644 .emacs.d/snippets/rust-mode/ife create mode 100644 .emacs.d/snippets/rust-mode/ifl create mode 100644 .emacs.d/snippets/rust-mode/impl create mode 100644 .emacs.d/snippets/rust-mode/implt create mode 100644 .emacs.d/snippets/rust-mode/let create mode 100644 .emacs.d/snippets/rust-mode/letm create mode 100644 .emacs.d/snippets/rust-mode/lett create mode 100644 .emacs.d/snippets/rust-mode/lettm create mode 100644 .emacs.d/snippets/rust-mode/loop create mode 100644 .emacs.d/snippets/rust-mode/macro create mode 100644 .emacs.d/snippets/rust-mode/main create mode 100644 .emacs.d/snippets/rust-mode/match create mode 100644 .emacs.d/snippets/rust-mode/new create mode 100644 .emacs.d/snippets/rust-mode/pafn create mode 100644 .emacs.d/snippets/rust-mode/pafnr create mode 100644 .emacs.d/snippets/rust-mode/pafns create mode 100644 .emacs.d/snippets/rust-mode/pafnw create mode 100644 .emacs.d/snippets/rust-mode/pfn create mode 100644 .emacs.d/snippets/rust-mode/pfnr create mode 100644 .emacs.d/snippets/rust-mode/pfns create mode 100644 .emacs.d/snippets/rust-mode/pfnw create mode 100644 .emacs.d/snippets/rust-mode/print create mode 100644 .emacs.d/snippets/rust-mode/println create mode 100644 .emacs.d/snippets/rust-mode/printlnf create mode 100644 .emacs.d/snippets/rust-mode/result create mode 100644 .emacs.d/snippets/rust-mode/spawn create mode 100644 .emacs.d/snippets/rust-mode/static create mode 100644 .emacs.d/snippets/rust-mode/struct create mode 100644 .emacs.d/snippets/rust-mode/test create mode 100644 .emacs.d/snippets/rust-mode/testmod create mode 100644 .emacs.d/snippets/rust-mode/trait create mode 100644 .emacs.d/snippets/rust-mode/type create mode 100644 .emacs.d/snippets/rust-mode/union create mode 100644 .emacs.d/snippets/rust-mode/warn create mode 100644 .emacs.d/snippets/rust-mode/warn! create mode 100644 .emacs.d/snippets/rust-mode/while create mode 100644 .emacs.d/snippets/rust-mode/whilel (limited to '.emacs.d') diff --git a/.emacs.d/lisp/markdown-mode.el b/.emacs.d/lisp/markdown-mode.el index f99897d..a914eb3 100644 --- a/.emacs.d/lisp/markdown-mode.el +++ b/.emacs.d/lisp/markdown-mode.el @@ -6,8 +6,8 @@ ;; Author: Jason R. Blevins ;; Maintainer: Jason R. Blevins ;; Created: May 24, 2007 -;; Version: 2.7-alpha -;; Package-Requires: ((emacs "27.1")) +;; Version: 2.8-alpha +;; Package-Requires: ((emacs "28.1")) ;; Keywords: Markdown, GitHub Flavored Markdown, itex ;; URL: https://jblevins.org/projects/markdown-mode/ @@ -62,7 +62,7 @@ ;;; Constants ================================================================= -(defconst markdown-mode-version "2.7-alpha" +(defconst markdown-mode-version "2.8-alpha" "Markdown mode version number.") (defconst markdown-output-buffer-name "*markdown-output*" @@ -1177,6 +1177,10 @@ escape character (see `markdown-match-escape').") If POS is not given, use point instead." (get-text-property (or pos (point)) 'markdown-comment)) +(defsubst markdown-in-inline-code-p (pos) + "Return non-nil if POS is in inline code." + (equal (get-text-property pos 'face) '(markdown-inline-code-face))) + (defun markdown--face-p (pos faces) "Return non-nil if face of POS contain FACES." (let ((face-prop (get-text-property pos 'face))) @@ -8195,19 +8199,20 @@ Translate filenames using `markdown-filename-translate-function'." 'font-lock-multiline t)) ;; Link part (without face) (lp (list 'keymap markdown-mode-mouse-map - 'mouse-face 'markdown-highlight-face 'font-lock-multiline t 'help-echo (if title (concat title "\n" url) url))) ;; URL part (up (list 'keymap markdown-mode-mouse-map 'invisible 'markdown-markup - 'mouse-face 'markdown-highlight-face 'font-lock-multiline t)) ;; URL composition character (url-char (markdown--first-displayable markdown-url-compose-char)) ;; Title part (tp (list 'invisible 'markdown-markup 'font-lock-multiline t))) + (when markdown-mouse-follow-link + (setq lp (append lp '(mouse-face 'markdown-highlight-face))) + (setq up (append up '(mouse-face 'markdown-highlight-face)))) (dolist (g '(1 2 4 5 8)) (when (match-end g) (add-text-properties (match-beginning g) (match-end g) mp) @@ -8239,7 +8244,6 @@ Translate filenames using `markdown-filename-translate-function'." 'font-lock-multiline t)) ;; Link part (lp (list 'keymap markdown-mode-mouse-map - 'mouse-face 'markdown-highlight-face 'font-lock-multiline t 'help-echo (lambda (_ __ pos) (save-match-data @@ -8252,6 +8256,8 @@ Translate filenames using `markdown-filename-translate-function'." ;; Reference part (rp (list 'invisible 'markdown-markup 'font-lock-multiline t))) + (when markdown-mouse-follow-link + (setq lp (append lp '(mouse-face markdown-highlight-face)))) (dolist (g '(1 2 4 5 8)) (when (match-end g) (add-text-properties (match-beginning g) (match-end g) mp) @@ -8269,22 +8275,25 @@ Translate filenames using `markdown-filename-translate-function'." (defun markdown-fontify-angle-uris (last) "Add text properties to angle URIs from point to LAST." (when (markdown-match-angle-uris last) - (let* ((url-start (match-beginning 2)) - (url-end (match-end 2)) - ;; Markup part - (mp (list 'face 'markdown-markup-face - 'invisible 'markdown-markup - 'rear-nonsticky t - 'font-lock-multiline t)) - ;; URI part - (up (list 'keymap markdown-mode-mouse-map - 'face 'markdown-plain-url-face - 'mouse-face 'markdown-highlight-face - 'font-lock-multiline t))) - (dolist (g '(1 3)) - (add-text-properties (match-beginning g) (match-end g) mp)) - (add-text-properties url-start url-end up) - t))) + (let ((url-start (match-beginning 2)) + (url-end (match-end 2))) + (unless (or (markdown-in-inline-code-p url-start) + (markdown-in-inline-code-p url-end)) + (let* (;; Markup part + (mp (list 'face 'markdown-markup-face + 'invisible 'markdown-markup + 'rear-nonsticky t + 'font-lock-multiline t)) + ;; URI part + (up (list 'keymap markdown-mode-mouse-map + 'face 'markdown-plain-url-face + 'font-lock-multiline t))) + (when markdown-mouse-follow-link + (setq up (append up '(mouse-face markdown-highlight-face)))) + (dolist (g '(1 3)) + (add-text-properties (match-beginning g) (match-end g) mp)) + (add-text-properties url-start url-end up) + t))))) (defun markdown-fontify-plain-uris (last) "Add text properties to plain URLs from point to LAST." @@ -8293,9 +8302,10 @@ Translate filenames using `markdown-filename-translate-function'." (end (match-end 0)) (props (list 'keymap markdown-mode-mouse-map 'face 'markdown-plain-url-face - 'mouse-face 'markdown-highlight-face 'rear-nonsticky t 'font-lock-multiline t))) + (when markdown-mouse-follow-link + (setq props (append props '(mouse-face markdown-highlight-face)))) (add-text-properties start end props) t))) @@ -10122,6 +10132,15 @@ rows and columns and the column alignment." (markdown-insert-inline-image link-text file) (markdown-insert-inline-link link-text file)))) +(defun markdown--dnd-multi-local-file-handler (urls action) + (let ((multile-urls-p (> (length urls) 1))) + (dolist (url urls) + (markdown--dnd-local-file-handler url action) + (when multile-urls-p + (insert " "))))) + +(put 'markdown--dnd-multi-local-file-handler 'dnd-multiple-handler t) + ;;; Mode Definition ========================================================== @@ -10251,8 +10270,14 @@ rows and columns and the column alignment." #'markdown--inhibit-electric-quote nil :local) ;; drag and drop handler - (setq-local dnd-protocol-alist (cons '("^file:///" . markdown--dnd-local-file-handler) - dnd-protocol-alist)) + (let ((dnd-handler (if (>= emacs-major-version 30) + #'markdown--dnd-multi-local-file-handler + #'markdown--dnd-local-file-handler))) + (setq-local dnd-protocol-alist (append + (list (cons "^file:///" dnd-handler) + (cons "^file:/[^/]" dnd-handler) + (cons "^file:[^/]" dnd-handler)) + dnd-protocol-alist))) ;; media handler (when (version< "29" emacs-version) diff --git a/.emacs.d/snippets/rust-mode/afn b/.emacs.d/snippets/rust-mode/afn new file mode 100644 index 0000000..9ed1d9c --- /dev/null +++ b/.emacs.d/snippets/rust-mode/afn @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: async fn name() { ... } +# key: afn +# -- +async fn ${1:name}($2) { + $0 +} \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/afnr b/.emacs.d/snippets/rust-mode/afnr new file mode 100644 index 0000000..71cbbbd --- /dev/null +++ b/.emacs.d/snippets/rust-mode/afnr @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: async fn name() -> Type { ... } +# key: afnr +# -- +async fn ${1:name}($2) -> ${3:Type} { + $0 +} \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/afns b/.emacs.d/snippets/rust-mode/afns new file mode 100644 index 0000000..c88e672 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/afns @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: async fn name(&self) -> Type { ... } +# key: afns +# -- +async fn ${1:name}(${2:&self}) -> ${3:Type} { + $0 +} \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/afnw b/.emacs.d/snippets/rust-mode/afnw new file mode 100644 index 0000000..3c358f8 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/afnw @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: async fn name(x: T) where T: Clone { ... } +# key: afnw +# -- +async fn ${1:name}<${2:T}>(${3:x: T}) where ${4:T: Clone} { + $0 +} \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/allow b/.emacs.d/snippets/rust-mode/allow new file mode 100644 index 0000000..c30c1e8 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/allow @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: #[allow(lint)] +# key: allow +# -- +#[allow(${1:lint})] \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/allow! b/.emacs.d/snippets/rust-mode/allow! new file mode 100644 index 0000000..cfb0c7d --- /dev/null +++ b/.emacs.d/snippets/rust-mode/allow! @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: #![allow(lint)] +# key: allow! +# -- +#![allow(${1:lint})] \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/assert b/.emacs.d/snippets/rust-mode/assert new file mode 100644 index 0000000..d1252d0 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/assert @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: assert!(predicate); +# key: ass +# -- +assert!(${1:predicate}); \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/asserteq b/.emacs.d/snippets/rust-mode/asserteq new file mode 100644 index 0000000..7bfafd2 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/asserteq @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: assert_eq!(expected, actual); +# key: asseq +# -- +assert_eq!(${1:expected}, ${2:actual}); \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/case b/.emacs.d/snippets/rust-mode/case new file mode 100644 index 0000000..9ea6609 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/case @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: pattern => expression, +# key: case +# -- +${1:pattern} => ${2:expression}, \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/cfg b/.emacs.d/snippets/rust-mode/cfg new file mode 100644 index 0000000..583e021 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/cfg @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: #[cfg(option)] +# key: cfg +# -- +#[cfg(${1:option})] \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/cfg= b/.emacs.d/snippets/rust-mode/cfg= new file mode 100644 index 0000000..b01a458 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/cfg= @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: #[cfg(option = "value")] +# key: cfg= +# -- +#[cfg(${1:option} = "${2:value}")] \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/closure b/.emacs.d/snippets/rust-mode/closure new file mode 100644 index 0000000..1624d57 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/closure @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: closure +# key: || +# -- +|${1:arguments}| { + $0 +} diff --git a/.emacs.d/snippets/rust-mode/crate b/.emacs.d/snippets/rust-mode/crate new file mode 100644 index 0000000..ee9371e --- /dev/null +++ b/.emacs.d/snippets/rust-mode/crate @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: extern crate +# key: ec +# -- +extern crate ${1:name}; diff --git a/.emacs.d/snippets/rust-mode/deny b/.emacs.d/snippets/rust-mode/deny new file mode 100644 index 0000000..5b7f3d9 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/deny @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: #[deny(lint)] +# key: deny +# -- +#[deny(${1:lint})] \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/deny! b/.emacs.d/snippets/rust-mode/deny! new file mode 100644 index 0000000..232dfbc --- /dev/null +++ b/.emacs.d/snippets/rust-mode/deny! @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: #![deny(lint)] +# key: deny! +# -- +#![deny(${1:lint})] \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/derive b/.emacs.d/snippets/rust-mode/derive new file mode 100644 index 0000000..581c86f --- /dev/null +++ b/.emacs.d/snippets/rust-mode/derive @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: #[derive(Trait)] +# key: derive +# -- +#[derive(${1:Trait})] \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/display b/.emacs.d/snippets/rust-mode/display new file mode 100644 index 0000000..1764f67 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/display @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# name: impl Display for Type { fn fmt (...) } +# key: display +# -- +impl Display for ${1:Type} { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "$0") + } +} diff --git a/.emacs.d/snippets/rust-mode/drop b/.emacs.d/snippets/rust-mode/drop new file mode 100644 index 0000000..ba23a5b --- /dev/null +++ b/.emacs.d/snippets/rust-mode/drop @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# name: impl Drop for Type { fn drop(...) } +# key: drop +# -- +impl Drop for ${1:Type} { + fn drop(&mut self) { + $0 + } +} diff --git a/.emacs.d/snippets/rust-mode/enum b/.emacs.d/snippets/rust-mode/enum new file mode 100644 index 0000000..acf919b --- /dev/null +++ b/.emacs.d/snippets/rust-mode/enum @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: enum Type { ... } +# key: enum +# -- +enum ${1:Type} { + $0 +} diff --git a/.emacs.d/snippets/rust-mode/eprint b/.emacs.d/snippets/rust-mode/eprint new file mode 100644 index 0000000..a40a749 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/eprint @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: eprint!("{}", value); +# key: eprint +# -- +eprint!("${1:{\}}", $2); diff --git a/.emacs.d/snippets/rust-mode/eprintln b/.emacs.d/snippets/rust-mode/eprintln new file mode 100644 index 0000000..0806251 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/eprintln @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: eprintln!("{}", value); +# key: eprintln +# -- +eprintln!("${1:{\}}", $2); diff --git a/.emacs.d/snippets/rust-mode/fn b/.emacs.d/snippets/rust-mode/fn new file mode 100644 index 0000000..459fd49 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/fn @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: fn name() { ... } +# key: fn +# -- +fn ${1:name}($2) { + $0 +} \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/fnr b/.emacs.d/snippets/rust-mode/fnr new file mode 100644 index 0000000..fa98eb2 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/fnr @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: fn name() -> Type { ... } +# key: fnr +# -- +fn ${1:name}($2) -> ${3:Type} { + $0 +} diff --git a/.emacs.d/snippets/rust-mode/fns b/.emacs.d/snippets/rust-mode/fns new file mode 100644 index 0000000..23fada7 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/fns @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: fn name(&self) -> Type { ... } +# key: fns +# -- +fn ${1:name}(${2:&self}) -> ${3:Type} { + $0 +} \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/fnw b/.emacs.d/snippets/rust-mode/fnw new file mode 100644 index 0000000..321c292 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/fnw @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: fn name(x: T) where T: Clone { ... } +# key: fnw +# -- +fn ${1:name}<${2:T}>(${3:x: T}) where ${4:T: Clone} { + $0 +} diff --git a/.emacs.d/snippets/rust-mode/for b/.emacs.d/snippets/rust-mode/for new file mode 100644 index 0000000..66dca09 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/for @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: for var in iterable { ... } +# key: for +# -- +for ${1:var} in ${2:iterable} { + $0 +} \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/from b/.emacs.d/snippets/rust-mode/from new file mode 100644 index 0000000..9e86209 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/from @@ -0,0 +1,10 @@ +# -*- mode: snippet -*- +# name: impl From for Type { fn from(...) } +# key: from +# -- +impl From<${1:From}> for ${2:Type} { + fn from(source: $1) -> Self { + $0 + Self { } + } +} diff --git a/.emacs.d/snippets/rust-mode/fromstr b/.emacs.d/snippets/rust-mode/fromstr new file mode 100644 index 0000000..891751c --- /dev/null +++ b/.emacs.d/snippets/rust-mode/fromstr @@ -0,0 +1,11 @@ +# -*- mode: snippet -*- +# name: impl FromStr for Type { fn from_str(...) } +# key: fromstr +# -- +impl FromStr for ${1:Type} { + type Err = ${2:Error}; + + fn from_str(s: &str) -> Result { + Ok(Self{}) + } +} diff --git a/.emacs.d/snippets/rust-mode/if b/.emacs.d/snippets/rust-mode/if new file mode 100644 index 0000000..c793ace --- /dev/null +++ b/.emacs.d/snippets/rust-mode/if @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: if expr { ... } +# key: if +# -- +if ${1:expression} { + $0 +} \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/ife b/.emacs.d/snippets/rust-mode/ife new file mode 100644 index 0000000..12f2b56 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/ife @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# name: if expression { ... } else { .. } +# key: ife +# -- +if ${1:expression} { + $0 +} else { + +} diff --git a/.emacs.d/snippets/rust-mode/ifl b/.emacs.d/snippets/rust-mode/ifl new file mode 100644 index 0000000..e4febb8 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/ifl @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: if let pattern = expression { ... }; +# key: ifl +# -- +if let ${1:pattern} = ${2:expression} { + $0 +}; diff --git a/.emacs.d/snippets/rust-mode/impl b/.emacs.d/snippets/rust-mode/impl new file mode 100644 index 0000000..14bb06f --- /dev/null +++ b/.emacs.d/snippets/rust-mode/impl @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: impl Type { ... } +# key: impl +# -- +impl ${1:Type} { + $0 +} diff --git a/.emacs.d/snippets/rust-mode/implt b/.emacs.d/snippets/rust-mode/implt new file mode 100644 index 0000000..0ed9b7d --- /dev/null +++ b/.emacs.d/snippets/rust-mode/implt @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: impl Trait for Type { ... } +# key: implt +# -- +impl ${1:Trait} for ${2:Type} { + $0 +} diff --git a/.emacs.d/snippets/rust-mode/let b/.emacs.d/snippets/rust-mode/let new file mode 100644 index 0000000..9f603ea --- /dev/null +++ b/.emacs.d/snippets/rust-mode/let @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: let pattern = expression; +# key: let +# -- +let ${1:pattern} = ${2:expression}; \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/letm b/.emacs.d/snippets/rust-mode/letm new file mode 100644 index 0000000..b07d673 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/letm @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: let mut pattern = expression; +# key: letm +# -- +let mut ${1:pattern} = ${2:expression}; \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/lett b/.emacs.d/snippets/rust-mode/lett new file mode 100644 index 0000000..10a7fa6 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/lett @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: let pattern: type = expression; +# key: lett +# -- +let ${1:pattern}: ${2:type} = ${3:expression}; \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/lettm b/.emacs.d/snippets/rust-mode/lettm new file mode 100644 index 0000000..9ceb8c3 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/lettm @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: let mut pattern: type = expression; +# key: lettm +# -- +let mut ${1:pattern}: ${2:type} = ${3:expression}; \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/loop b/.emacs.d/snippets/rust-mode/loop new file mode 100644 index 0000000..e24ae61 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/loop @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: loop { ... } +# key: loop +# -- +loop { + $0 +} diff --git a/.emacs.d/snippets/rust-mode/macro b/.emacs.d/snippets/rust-mode/macro new file mode 100644 index 0000000..410c132 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/macro @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: macro_rules! name { (..) => (..); } +# key: macro +# -- +macro_rules! ${1:name} { + ($2) => ($3); +} diff --git a/.emacs.d/snippets/rust-mode/main b/.emacs.d/snippets/rust-mode/main new file mode 100644 index 0000000..3f9fe31 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/main @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: fn main() { ... } +# key: main +# -- +fn main() { + $0 +} diff --git a/.emacs.d/snippets/rust-mode/match b/.emacs.d/snippets/rust-mode/match new file mode 100644 index 0000000..9dc802f --- /dev/null +++ b/.emacs.d/snippets/rust-mode/match @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: match expression { ... } +# key: match +# -- +match ${1:expression} { + $0 +} diff --git a/.emacs.d/snippets/rust-mode/new b/.emacs.d/snippets/rust-mode/new new file mode 100644 index 0000000..c5f21c1 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/new @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: pub fn new() { ... } +# key: new +# -- +pub fn new($1) -> ${2:Name} { + $2 { ${3} } +} diff --git a/.emacs.d/snippets/rust-mode/pafn b/.emacs.d/snippets/rust-mode/pafn new file mode 100644 index 0000000..13edd5c --- /dev/null +++ b/.emacs.d/snippets/rust-mode/pafn @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: pub async fn name() { ... } +# key: pafn +# -- +pub async fn ${1:name}($2) { + $0 +} \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/pafnr b/.emacs.d/snippets/rust-mode/pafnr new file mode 100644 index 0000000..3ce9681 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/pafnr @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: pub async fn name() -> Type { ... } +# key: pafnr +# -- +pub async fn ${1:name}($2) -> ${3:Type} { + $0 +} \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/pafns b/.emacs.d/snippets/rust-mode/pafns new file mode 100644 index 0000000..ad223f9 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/pafns @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: pub async fn name(&self) -> Type { ... } +# key: pafns +# -- +pub async fn ${1:name}(${2:&self}) -> ${3:Type} { + $0 +} \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/pafnw b/.emacs.d/snippets/rust-mode/pafnw new file mode 100644 index 0000000..bea6dd2 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/pafnw @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: pub async fn name(x: T) where T: Clone { ... } +# key: pafnw +# -- +pub async fn ${1:name}<${2:T}>(${3:x: T}) where ${4:T: Clone} { + $0 +} \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/pfn b/.emacs.d/snippets/rust-mode/pfn new file mode 100644 index 0000000..5f75131 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/pfn @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: pub fn name() { ... } +# key: pfn +# -- +pub fn ${1:name}($2) { + $0 +} \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/pfnr b/.emacs.d/snippets/rust-mode/pfnr new file mode 100644 index 0000000..4fdd261 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/pfnr @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: pub fn name() -> Type { ... } +# key: pfnr +# -- +pub fn ${1:name}($2) -> ${3:Type} { + $0 +} diff --git a/.emacs.d/snippets/rust-mode/pfns b/.emacs.d/snippets/rust-mode/pfns new file mode 100644 index 0000000..4ad120f --- /dev/null +++ b/.emacs.d/snippets/rust-mode/pfns @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: pub fn name(&self) -> Type { ... } +# key: pfns +# -- +pub fn ${1:name}(${2:&self}) -> ${3:Type} { + $0 +} \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/pfnw b/.emacs.d/snippets/rust-mode/pfnw new file mode 100644 index 0000000..c264400 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/pfnw @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: pub fn name(x: T) where T: Clone { ... } +# key: pfnw +# -- +pub fn ${1:name}<${2:T}>(${3:x: T}) where ${4:T: Clone} { + $0 +} diff --git a/.emacs.d/snippets/rust-mode/print b/.emacs.d/snippets/rust-mode/print new file mode 100644 index 0000000..403ffd9 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/print @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: print!("{}", value); +# key: print +# -- +print!("${1:{\}}", $2); \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/println b/.emacs.d/snippets/rust-mode/println new file mode 100644 index 0000000..927134e --- /dev/null +++ b/.emacs.d/snippets/rust-mode/println @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: println +# key: p +# -- +println!("$0"); \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/printlnf b/.emacs.d/snippets/rust-mode/printlnf new file mode 100644 index 0000000..ba789e2 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/printlnf @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: println!("{}", value); +# key: pf +# -- +println!("${1:{\}}", $2); \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/result b/.emacs.d/snippets/rust-mode/result new file mode 100644 index 0000000..6996dd4 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/result @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: Result +# key: result +# -- +Result<${1:Type}, ${2:failure::Error}> \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/spawn b/.emacs.d/snippets/rust-mode/spawn new file mode 100644 index 0000000..c5b7445 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/spawn @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: spawn(proc() { ... }); +# key: spawn +# -- +spawn(proc() { + $0 +}); diff --git a/.emacs.d/snippets/rust-mode/static b/.emacs.d/snippets/rust-mode/static new file mode 100644 index 0000000..eef8072 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/static @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: CONSTANT: Type = value; +# key: static +# -- +static ${1:CONSTANT}: ${2:Type} = ${3:value}; \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/struct b/.emacs.d/snippets/rust-mode/struct new file mode 100644 index 0000000..7de2ffa --- /dev/null +++ b/.emacs.d/snippets/rust-mode/struct @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: struct TypeName { .. } +# key: struct +# -- +struct ${1:TypeName} { + $0 +} diff --git a/.emacs.d/snippets/rust-mode/test b/.emacs.d/snippets/rust-mode/test new file mode 100644 index 0000000..26efca1 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/test @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: #[test] fn test_name() { .. } +# key: test +# -- +#[test] +fn ${1:test_name}() { + $0 +} diff --git a/.emacs.d/snippets/rust-mode/testmod b/.emacs.d/snippets/rust-mode/testmod new file mode 100644 index 0000000..d3494b7 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/testmod @@ -0,0 +1,13 @@ +# -*- mode: snippet -*- +# name: test module +# key: testmod +# -- +#[cfg(test)] +mod ${1:tests} { + use super::*; + + #[test] + fn ${2:test_name}() { + $0 + } +} diff --git a/.emacs.d/snippets/rust-mode/trait b/.emacs.d/snippets/rust-mode/trait new file mode 100644 index 0000000..724df7f --- /dev/null +++ b/.emacs.d/snippets/rust-mode/trait @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: trait Type { ... } +# key: trait +# -- +trait ${1:Type} { + $0 +} diff --git a/.emacs.d/snippets/rust-mode/type b/.emacs.d/snippets/rust-mode/type new file mode 100644 index 0000000..584a089 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/type @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: type TypeName = TypeName; +# key: type +# -- +type ${1:TypeName} = ${2:TypeName}; \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/union b/.emacs.d/snippets/rust-mode/union new file mode 100644 index 0000000..92585a2 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/union @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: union Type { ... } +# key: union +# -- +union ${1:Type} { + $0 +} diff --git a/.emacs.d/snippets/rust-mode/warn b/.emacs.d/snippets/rust-mode/warn new file mode 100644 index 0000000..acf5c5c --- /dev/null +++ b/.emacs.d/snippets/rust-mode/warn @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: #[warn(lint)] +# key: warn +# -- +#[warn(${1:lint})] \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/warn! b/.emacs.d/snippets/rust-mode/warn! new file mode 100644 index 0000000..2f4885d --- /dev/null +++ b/.emacs.d/snippets/rust-mode/warn! @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: #![warn(lint)] +# key: warn! +# -- +#![warn(${1:lint})] \ No newline at end of file diff --git a/.emacs.d/snippets/rust-mode/while b/.emacs.d/snippets/rust-mode/while new file mode 100644 index 0000000..dbb3663 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/while @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: while expression { ... } +# key: while +# -- +while ${1:expression} { + $0 +} diff --git a/.emacs.d/snippets/rust-mode/whilel b/.emacs.d/snippets/rust-mode/whilel new file mode 100644 index 0000000..9137014 --- /dev/null +++ b/.emacs.d/snippets/rust-mode/whilel @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: while let pattern = expression { ... } +# key: whilel +# -- +while let ${1:pattern} = ${2:expression} { + $0 +} -- cgit v1.3