home/develop/emacs: add yasnippet snippets and make snippet dirs configurable
This commit makes two significant changes to the Emacs configuration:
1. Refactors emacs.nix to use proper NixOS module structure:
- Converts from simple configuration to a module with options/config
- Adds `tb.emacs.extraSnippetDirs` option to allow per-machine snippet
directories (defaults to ~/.emacs.d/snippets/)
- Moves yasnippet configuration from custom.el to nix-generated elisp,
enabling dynamic snippet directory configuration via Nix
2. Adds a comprehensive collection of yasnippet snippets for multiple modes:
- C++ mode: 50 snippets for common patterns (class, namespace, operators,
copy/move semantics, debug helpers, documentation, threading primitives)
- CC mode (shared C/C++): for, switch, main, include guards, etc.
- CMake mode: if/else, foreach, function, macro, project boilerplate
- LaTeX mode: document structure, beamer frames, figures, lists
- Perl mode: package boilerplate, shebang
- Python/Shell/Nix/Protobuf/Java/CSS/Dockerfile modes: horizontal rules
and common patterns
- Text mode: modeline snippets for locale settings
The snippets use yasnippet's inheritance system via .yas-parents files,
so c++-mode inherits from cc-mode and text-mode, reducing duplication.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,126 +1,149 @@
|
|||||||
{ pkgs, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
let
|
||||||
|
snippetsPath = ./emacs/snippets;
|
||||||
|
extraSnippetDirs = config.tb.emacs.extraSnippetDirs;
|
||||||
|
allSnippetDirs = [ "${snippetsPath}" ] ++ extraSnippetDirs;
|
||||||
|
snippetDirsLisp = lib.concatMapStringsSep " " (d: ''"${d}"'') allSnippetDirs;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
programs.emacs = {
|
options.tb.emacs.extraSnippetDirs = lib.mkOption {
|
||||||
enable = true;
|
type = lib.types.listOf lib.types.str;
|
||||||
|
default = ["~/.emacs.d/snippets/"];
|
||||||
# Optionally provide extra packages not in the configuration file.
|
description = "Additional snippet directories for yasnippet";
|
||||||
extraPackages = epkgs: with epkgs; [
|
|
||||||
|
|
||||||
# === WEB AND SERVER CONFIGURATION ===
|
|
||||||
apache-mode # Syntax highlighting for Apache config files
|
|
||||||
nginx-mode # Syntax highlighting for Nginx config files
|
|
||||||
|
|
||||||
# === HARDWARE AND EMBEDDED DEVELOPMENT ===
|
|
||||||
arduino-mode # Arduino sketch development support
|
|
||||||
|
|
||||||
# === DOCUMENT PREPARATION ===
|
|
||||||
auctex # Comprehensive LaTeX editing environment
|
|
||||||
pandoc-mode # Pandoc document converter integration
|
|
||||||
|
|
||||||
# === PROGRAMMING LANGUAGE SUPPORT ===
|
|
||||||
basic-mode # BASIC programming language support
|
|
||||||
bison-mode # Bison parser generator syntax
|
|
||||||
cmake-mode # CMake build system configuration
|
|
||||||
coffee-mode # CoffeeScript programming language
|
|
||||||
csharp-mode # C# programming language
|
|
||||||
groovy-mode # Groovy/Jenkins pipeline scripting
|
|
||||||
go-mode # Go programming language
|
|
||||||
haskell-mode # Haskell functional programming
|
|
||||||
js2-mode # Enhanced JavaScript editing mode
|
|
||||||
lua-mode # Lua scripting language
|
|
||||||
php-mode # PHP web development
|
|
||||||
python-mode # Python programming language
|
|
||||||
scala-mode # Scala programming language
|
|
||||||
|
|
||||||
# === MARKUP AND DATA FORMATS ===
|
|
||||||
csv-mode # Comma-separated values file editing
|
|
||||||
dockerfile-mode # Docker container definition files
|
|
||||||
jinja2-mode # Jinja2 template engine syntax
|
|
||||||
markdown-mode # Markdown markup language
|
|
||||||
nix-mode # Nix expression language (NixOS configs)
|
|
||||||
protobuf-mode # Protocol Buffers schema definitions
|
|
||||||
qml-mode # Qt QML user interface markup
|
|
||||||
yaml-mode # YAML configuration files
|
|
||||||
gnuplot-mode # Gnuplot script editing and plotting integration
|
|
||||||
|
|
||||||
# === SEARCH AND FILE UTILITIES ===
|
|
||||||
rg # Ripgrep searcher integration for fast text search
|
|
||||||
diredfl # Enhanced font-locking for dired mode
|
|
||||||
dired-ranger # File operations with copy/move/paste semantics
|
|
||||||
|
|
||||||
# === TEXT COMPLETION AND PRODUCTIVITY ===
|
|
||||||
company # Text completion framework
|
|
||||||
smex # Enhanced M-x command with history
|
|
||||||
|
|
||||||
# === USER INTERFACE ENHANCEMENTS ===
|
|
||||||
diminish # Hide minor modes from the mode line
|
|
||||||
smooth-scrolling # Smoother scrolling experience
|
|
||||||
rainbow-delimiters # Color-code nested parentheses/brackets
|
|
||||||
|
|
||||||
# === ENVIRONMENT AND PROJECT MANAGEMENT ===
|
|
||||||
direnv # Environment variable management per directory
|
|
||||||
projectile # Project interaction and navigation library
|
|
||||||
|
|
||||||
# === LANGUAGE SERVER PROTOCOL (LSP) ===
|
|
||||||
# Modern language support with intelligent features
|
|
||||||
eglot # Built-in LSP client (simpler alternative to lsp-mode)
|
|
||||||
lsp-mode # Comprehensive Language Server Protocol client
|
|
||||||
lsp-java # Java language server integration
|
|
||||||
lsp-metals # Scala language server (Metals) integration
|
|
||||||
eglot-java # Java support for eglot LSP client
|
|
||||||
sbt-mode # Scala Build Tool integration
|
|
||||||
dap-mode # Debug Adapter Protocol for debugging support
|
|
||||||
|
|
||||||
# === SYNTAX CHECKING ===
|
|
||||||
flycheck # On-the-fly syntax checking framework
|
|
||||||
|
|
||||||
# === VERSION CONTROL ===
|
|
||||||
git-link # Generate links to Git repository web interfaces
|
|
||||||
magit # Comprehensive Git porcelain for Emacs
|
|
||||||
|
|
||||||
# === TEXT EDITING ENHANCEMENTS ===
|
|
||||||
goto-last-change # Jump to the location of last edit
|
|
||||||
iedit # Edit multiple occurrences of text simultaneously
|
|
||||||
bm # Visual bookmarks for quick navigation
|
|
||||||
|
|
||||||
# === CODE FORMATTING AND CLEANUP ===
|
|
||||||
web-beautify # Format and beautify web code (HTML/CSS/JS)
|
|
||||||
ethan-wspace # Automatically clean up whitespace on save
|
|
||||||
|
|
||||||
# === PARENTHESES AND STRUCTURE EDITING ===
|
|
||||||
paredit # Balanced parentheses editing for Lisp-like languages
|
|
||||||
smartparens # Smart handling of pairs (parentheses, quotes, etc.)
|
|
||||||
|
|
||||||
# === SNIPPETS AND TEMPLATES ===
|
|
||||||
yasnippet # Template system for inserting code snippets
|
|
||||||
quelpa-use-package # Package management for packages not in MELPA
|
|
||||||
|
|
||||||
# === VISUAL THEMES ===
|
|
||||||
grandshell-theme # Dark theme with good contrast
|
|
||||||
leuven-theme # Light theme designed for readability
|
|
||||||
|
|
||||||
# === TREE-SITTER GRAMMARS ===
|
|
||||||
# Modern syntax highlighting and parsing using tree-sitter
|
|
||||||
treesit-grammars.with-all-grammars # All available tree-sitter language grammars
|
|
||||||
|
|
||||||
# === TREE-SITTER BASED MODES ===
|
|
||||||
# These modes use tree-sitter for better performance and accuracy
|
|
||||||
awk-ts-mode # AWK script editing with tree-sitter
|
|
||||||
dart-mode # Dart programming (Flutter development)
|
|
||||||
graphql-ts-mode # GraphQL query language with tree-sitter
|
|
||||||
jq-ts-mode # jq JSON processor with tree-sitter
|
|
||||||
markdown-ts-mode # Markdown with tree-sitter parsing
|
|
||||||
mermaid-ts-mode # Mermaid diagram syntax with tree-sitter
|
|
||||||
scala-ts-mode # Scala with tree-sitter (alternative to scala-mode)
|
|
||||||
swift-ts-mode # Swift programming with tree-sitter
|
|
||||||
];
|
|
||||||
|
|
||||||
extraConfig = builtins.readFile ./emacs/custom.el;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# System packages required by various emacs packages
|
config = {
|
||||||
home.packages = with pkgs; [
|
programs.emacs = {
|
||||||
# Search and file utilities
|
enable = true;
|
||||||
ripgrep # Required for rg package
|
|
||||||
];
|
# Optionally provide extra packages not in the configuration file.
|
||||||
|
extraPackages = epkgs: with epkgs; [
|
||||||
|
|
||||||
|
# === WEB AND SERVER CONFIGURATION ===
|
||||||
|
apache-mode # Syntax highlighting for Apache config files
|
||||||
|
nginx-mode # Syntax highlighting for Nginx config files
|
||||||
|
|
||||||
|
# === HARDWARE AND EMBEDDED DEVELOPMENT ===
|
||||||
|
arduino-mode # Arduino sketch development support
|
||||||
|
|
||||||
|
# === DOCUMENT PREPARATION ===
|
||||||
|
auctex # Comprehensive LaTeX editing environment
|
||||||
|
pandoc-mode # Pandoc document converter integration
|
||||||
|
|
||||||
|
# === PROGRAMMING LANGUAGE SUPPORT ===
|
||||||
|
basic-mode # BASIC programming language support
|
||||||
|
bison-mode # Bison parser generator syntax
|
||||||
|
cmake-mode # CMake build system configuration
|
||||||
|
coffee-mode # CoffeeScript programming language
|
||||||
|
csharp-mode # C# programming language
|
||||||
|
groovy-mode # Groovy/Jenkins pipeline scripting
|
||||||
|
go-mode # Go programming language
|
||||||
|
haskell-mode # Haskell functional programming
|
||||||
|
js2-mode # Enhanced JavaScript editing mode
|
||||||
|
lua-mode # Lua scripting language
|
||||||
|
php-mode # PHP web development
|
||||||
|
python-mode # Python programming language
|
||||||
|
scala-mode # Scala programming language
|
||||||
|
|
||||||
|
# === MARKUP AND DATA FORMATS ===
|
||||||
|
csv-mode # Comma-separated values file editing
|
||||||
|
dockerfile-mode # Docker container definition files
|
||||||
|
jinja2-mode # Jinja2 template engine syntax
|
||||||
|
markdown-mode # Markdown markup language
|
||||||
|
nix-mode # Nix expression language (NixOS configs)
|
||||||
|
protobuf-mode # Protocol Buffers schema definitions
|
||||||
|
qml-mode # Qt QML user interface markup
|
||||||
|
yaml-mode # YAML configuration files
|
||||||
|
gnuplot-mode # Gnuplot script editing and plotting integration
|
||||||
|
|
||||||
|
# === SEARCH AND FILE UTILITIES ===
|
||||||
|
rg # Ripgrep searcher integration for fast text search
|
||||||
|
diredfl # Enhanced font-locking for dired mode
|
||||||
|
dired-ranger # File operations with copy/move/paste semantics
|
||||||
|
|
||||||
|
# === TEXT COMPLETION AND PRODUCTIVITY ===
|
||||||
|
company # Text completion framework
|
||||||
|
smex # Enhanced M-x command with history
|
||||||
|
|
||||||
|
# === USER INTERFACE ENHANCEMENTS ===
|
||||||
|
diminish # Hide minor modes from the mode line
|
||||||
|
smooth-scrolling # Smoother scrolling experience
|
||||||
|
rainbow-delimiters # Color-code nested parentheses/brackets
|
||||||
|
|
||||||
|
# === ENVIRONMENT AND PROJECT MANAGEMENT ===
|
||||||
|
direnv # Environment variable management per directory
|
||||||
|
projectile # Project interaction and navigation library
|
||||||
|
|
||||||
|
# === LANGUAGE SERVER PROTOCOL (LSP) ===
|
||||||
|
# Modern language support with intelligent features
|
||||||
|
eglot # Built-in LSP client (simpler alternative to lsp-mode)
|
||||||
|
lsp-mode # Comprehensive Language Server Protocol client
|
||||||
|
lsp-java # Java language server integration
|
||||||
|
lsp-metals # Scala language server (Metals) integration
|
||||||
|
eglot-java # Java support for eglot LSP client
|
||||||
|
sbt-mode # Scala Build Tool integration
|
||||||
|
dap-mode # Debug Adapter Protocol for debugging support
|
||||||
|
|
||||||
|
# === SYNTAX CHECKING ===
|
||||||
|
flycheck # On-the-fly syntax checking framework
|
||||||
|
|
||||||
|
# === VERSION CONTROL ===
|
||||||
|
git-link # Generate links to Git repository web interfaces
|
||||||
|
magit # Comprehensive Git porcelain for Emacs
|
||||||
|
|
||||||
|
# === TEXT EDITING ENHANCEMENTS ===
|
||||||
|
goto-last-change # Jump to the location of last edit
|
||||||
|
iedit # Edit multiple occurrences of text simultaneously
|
||||||
|
bm # Visual bookmarks for quick navigation
|
||||||
|
|
||||||
|
# === CODE FORMATTING AND CLEANUP ===
|
||||||
|
web-beautify # Format and beautify web code (HTML/CSS/JS)
|
||||||
|
ethan-wspace # Automatically clean up whitespace on save
|
||||||
|
|
||||||
|
# === PARENTHESES AND STRUCTURE EDITING ===
|
||||||
|
paredit # Balanced parentheses editing for Lisp-like languages
|
||||||
|
smartparens # Smart handling of pairs (parentheses, quotes, etc.)
|
||||||
|
|
||||||
|
# === SNIPPETS AND TEMPLATES ===
|
||||||
|
yasnippet # Template system for inserting code snippets
|
||||||
|
quelpa-use-package # Package management for packages not in MELPA
|
||||||
|
|
||||||
|
# === VISUAL THEMES ===
|
||||||
|
grandshell-theme # Dark theme with good contrast
|
||||||
|
leuven-theme # Light theme designed for readability
|
||||||
|
|
||||||
|
# === TREE-SITTER GRAMMARS ===
|
||||||
|
# Modern syntax highlighting and parsing using tree-sitter
|
||||||
|
treesit-grammars.with-all-grammars # All available tree-sitter language grammars
|
||||||
|
|
||||||
|
# === TREE-SITTER BASED MODES ===
|
||||||
|
# These modes use tree-sitter for better performance and accuracy
|
||||||
|
awk-ts-mode # AWK script editing with tree-sitter
|
||||||
|
dart-mode # Dart programming (Flutter development)
|
||||||
|
graphql-ts-mode # GraphQL query language with tree-sitter
|
||||||
|
jq-ts-mode # jq JSON processor with tree-sitter
|
||||||
|
markdown-ts-mode # Markdown with tree-sitter parsing
|
||||||
|
mermaid-ts-mode # Mermaid diagram syntax with tree-sitter
|
||||||
|
scala-ts-mode # Scala with tree-sitter (alternative to scala-mode)
|
||||||
|
swift-ts-mode # Swift programming with tree-sitter
|
||||||
|
];
|
||||||
|
|
||||||
|
extraConfig = builtins.readFile ./emacs/custom.el + ''
|
||||||
|
|
||||||
|
;; Yasnippet configuration (generated by nix)
|
||||||
|
(use-package yasnippet
|
||||||
|
:init
|
||||||
|
(setq yas-snippet-dirs '(${snippetDirsLisp}))
|
||||||
|
:config
|
||||||
|
(yas-reload-all)
|
||||||
|
(yas-global-mode 1))
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# System packages required by various emacs packages
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# Search and file utilities
|
||||||
|
ripgrep # Required for rg package
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -386,14 +386,6 @@ frame if FRAME is nil, and to 1 if AMT is nil."
|
|||||||
try-expand-list
|
try-expand-list
|
||||||
try-expand-line)))
|
try-expand-line)))
|
||||||
|
|
||||||
;; Yet another snippet extension for Emacs.
|
|
||||||
(use-package yasnippet
|
|
||||||
:init
|
|
||||||
(setq yas-snippet-dirs '("~/.emacs.d/snippets/"))
|
|
||||||
:config
|
|
||||||
(yas-reload-all)
|
|
||||||
(yas-global-mode 1))
|
|
||||||
|
|
||||||
;; Clean up whitespace
|
;; Clean up whitespace
|
||||||
(use-package ethan-wspace
|
(use-package ethan-wspace
|
||||||
:ensure t
|
:ensure t
|
||||||
|
|||||||
2
home/develop/emacs/snippets/c++-mode/.yas-parents
Normal file
2
home/develop/emacs/snippets/c++-mode/.yas-parents
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cc-mode
|
||||||
|
text-mode
|
||||||
6
home/develop/emacs/snippets/c++-mode/A
Normal file
6
home/develop/emacs/snippets/c++-mode/A
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: A
|
||||||
|
# key: A
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
ASSERT_EQ($0)
|
||||||
5
home/develop/emacs/snippets/c++-mode/acc
Normal file
5
home/develop/emacs/snippets/c++-mode/acc
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: ac
|
||||||
|
# key: ac
|
||||||
|
# --
|
||||||
|
* @param[in] alloc Memory allocator to use.
|
||||||
5
home/develop/emacs/snippets/c++-mode/alloc
Normal file
5
home/develop/emacs/snippets/c++-mode/alloc
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: alloc
|
||||||
|
# key: alloc
|
||||||
|
# --
|
||||||
|
const xplat::polymorphic_allocator<> alloc;
|
||||||
5
home/develop/emacs/snippets/c++-mode/ator
Normal file
5
home/develop/emacs/snippets/c++-mode/ator
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: ator
|
||||||
|
# key: ator
|
||||||
|
# --
|
||||||
|
const xplat::polymorphic_allocator<> alloc;
|
||||||
5
home/develop/emacs/snippets/c++-mode/be
Normal file
5
home/develop/emacs/snippets/c++-mode/be
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: be
|
||||||
|
# key: be
|
||||||
|
# --
|
||||||
|
$1.begin(), $1.end()
|
||||||
8
home/develop/emacs/snippets/c++-mode/cerr
Normal file
8
home/develop/emacs/snippets/c++-mode/cerr
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# contributor: York Zhao <gtdplatform@gmail.com>
|
||||||
|
# name: cerr
|
||||||
|
# key: cerr
|
||||||
|
# --
|
||||||
|
`(progn (save-excursion) (goto-char (point-min)) (unless (re-search-forward
|
||||||
|
"^using\\s-+namespace std;" nil 'no-errer) "std::"))
|
||||||
|
`cerr << $0 << '\n';
|
||||||
13
home/develop/emacs/snippets/c++-mode/class
Normal file
13
home/develop/emacs/snippets/c++-mode/class
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: class
|
||||||
|
# key: class
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
class ${1:Class}
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
$1()
|
||||||
|
: { }
|
||||||
|
|
||||||
|
private:
|
||||||
|
};
|
||||||
10
home/develop/emacs/snippets/c++-mode/cmd
Normal file
10
home/develop/emacs/snippets/c++-mode/cmd
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: cmd
|
||||||
|
# key: cmd
|
||||||
|
# --
|
||||||
|
static void ${1:cmd}(base::Cmd& cmd)
|
||||||
|
{
|
||||||
|
$0
|
||||||
|
}
|
||||||
|
|
||||||
|
CMD($1, "$1");
|
||||||
8
home/develop/emacs/snippets/c++-mode/constructor
Normal file
8
home/develop/emacs/snippets/c++-mode/constructor
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: constructor
|
||||||
|
# key: ct
|
||||||
|
# --
|
||||||
|
${1:Class}::$1(${2:args}) ${3: : ${4:init}}
|
||||||
|
{
|
||||||
|
$0
|
||||||
|
}
|
||||||
6
home/develop/emacs/snippets/c++-mode/copy
Normal file
6
home/develop/emacs/snippets/c++-mode/copy
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: copy
|
||||||
|
# key: copy
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
* Copyright (C) `(format-time-string "%Y" (current-time))` Timo Bingmann <tb@panthema.net>
|
||||||
14
home/develop/emacs/snippets/c++-mode/copymove
Normal file
14
home/develop/emacs/snippets/c++-mode/copymove
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: copymove
|
||||||
|
# key: copymove
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# expand-env: ((yas-indent-line 'fixed))
|
||||||
|
# --
|
||||||
|
//! default copy-constructor
|
||||||
|
${1:class}(const $1 &) = default;
|
||||||
|
//! default assignment operator
|
||||||
|
$1 & operator = (const $1 &) = default;
|
||||||
|
//! move-constructor: default
|
||||||
|
$1($1 &&) = default;
|
||||||
|
//! move-assignment operator: default
|
||||||
|
$1 & operator = ($1 &&) = default;
|
||||||
8
home/develop/emacs/snippets/c++-mode/cout
Normal file
8
home/develop/emacs/snippets/c++-mode/cout
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# contributor: York Zhao <gtdplatform@gmail.com>
|
||||||
|
# name: cout
|
||||||
|
# key: cout
|
||||||
|
# --
|
||||||
|
`(progn (save-excursion) (goto-char (point-min)) (unless (re-search-forward
|
||||||
|
"^using\\s-+namespace std;" nil 'no-errer) "std::"))
|
||||||
|
`cout << $0 << '\n';
|
||||||
5
home/develop/emacs/snippets/c++-mode/cv
Normal file
5
home/develop/emacs/snippets/c++-mode/cv
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: cv
|
||||||
|
# key: cv
|
||||||
|
# --
|
||||||
|
std::cout << "$1 " << $1 << std::endl;
|
||||||
5
home/develop/emacs/snippets/c++-mode/d
Normal file
5
home/develop/emacs/snippets/c++-mode/d
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: d
|
||||||
|
# key: d
|
||||||
|
# --
|
||||||
|
qDebug() <<
|
||||||
6
home/develop/emacs/snippets/c++-mode/debug
Normal file
6
home/develop/emacs/snippets/c++-mode/debug
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: debug
|
||||||
|
# key: debug
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
static constexpr bool debug = true;
|
||||||
6
home/develop/emacs/snippets/c++-mode/debugf
Normal file
6
home/develop/emacs/snippets/c++-mode/debugf
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: debugf
|
||||||
|
# key: debugf
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
static constexpr bool debug = false;
|
||||||
7
home/develop/emacs/snippets/c++-mode/doc
Normal file
7
home/develop/emacs/snippets/c++-mode/doc
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: doc
|
||||||
|
# key: doc
|
||||||
|
# --
|
||||||
|
/**
|
||||||
|
* @brief $1
|
||||||
|
*/
|
||||||
12
home/develop/emacs/snippets/c++-mode/dog
Normal file
12
home/develop/emacs/snippets/c++-mode/dog
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: dog
|
||||||
|
# key: dog
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# expand-env: ((yas-indent-line 'fixed))
|
||||||
|
# --
|
||||||
|
//! \\name $1
|
||||||
|
//! \\{
|
||||||
|
|
||||||
|
$0
|
||||||
|
|
||||||
|
//! \\}
|
||||||
5
home/develop/emacs/snippets/c++-mode/el
Normal file
5
home/develop/emacs/snippets/c++-mode/el
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: el
|
||||||
|
# key: el
|
||||||
|
# --
|
||||||
|
<< std::endl
|
||||||
14
home/develop/emacs/snippets/c++-mode/functor
Normal file
14
home/develop/emacs/snippets/c++-mode/functor
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: functor
|
||||||
|
# key: functor
|
||||||
|
# --
|
||||||
|
class ${1:Functor}
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
$1($2) { }
|
||||||
|
|
||||||
|
void operator () () const {
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
};
|
||||||
5
home/develop/emacs/snippets/c++-mode/hi
Normal file
5
home/develop/emacs/snippets/c++-mode/hi
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: hi
|
||||||
|
# key: hi
|
||||||
|
# --
|
||||||
|
/*`(make-string (- 78 (current-column)) ?-)`*/
|
||||||
6
home/develop/emacs/snippets/c++-mode/i
Normal file
6
home/develop/emacs/snippets/c++-mode/i
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: i
|
||||||
|
# key: i
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
`(if (char-equal ?) (preceding-char)) "," "")` m_${1:var}($1)
|
||||||
6
home/develop/emacs/snippets/c++-mode/lock
Normal file
6
home/develop/emacs/snippets/c++-mode/lock
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: lock
|
||||||
|
# key: lock
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
std::unique_lock<std::mutex> lock$1(mutex$1_);
|
||||||
7
home/develop/emacs/snippets/c++-mode/mutexlock
Normal file
7
home/develop/emacs/snippets/c++-mode/mutexlock
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: mutexlock
|
||||||
|
# key: mutexlock
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
static std::mutex mutex$1;
|
||||||
|
std::unique_lock<std::mutex> lock$1(mutex$1);
|
||||||
17
home/develop/emacs/snippets/c++-mode/mysource
Normal file
17
home/develop/emacs/snippets/c++-mode/mysource
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: mysource
|
||||||
|
# key: mysource
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
/*******************************************************************************
|
||||||
|
* $1/<file>
|
||||||
|
*
|
||||||
|
* $2
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
namespace $1 {
|
||||||
|
|
||||||
|
|
||||||
|
} // namespace $1
|
||||||
|
|
||||||
|
/******************************************************************************/
|
||||||
5
home/develop/emacs/snippets/c++-mode/nl
Normal file
5
home/develop/emacs/snippets/c++-mode/nl
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: nl
|
||||||
|
# key: nl
|
||||||
|
# --
|
||||||
|
// NOLINTNEXTLINE($1)
|
||||||
10
home/develop/emacs/snippets/c++-mode/noncopy
Normal file
10
home/develop/emacs/snippets/c++-mode/noncopy
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: noncopy
|
||||||
|
# key: noncopy
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# expand-env: ((yas-indent-line 'fixed))
|
||||||
|
# --
|
||||||
|
//! non-copyable: delete copy-constructor
|
||||||
|
${1:class}(const $1 &) = delete;
|
||||||
|
//! non-copyable: delete assignment operator
|
||||||
|
$1 & operator = (const $1 &) = delete;
|
||||||
14
home/develop/emacs/snippets/c++-mode/noncopymove
Normal file
14
home/develop/emacs/snippets/c++-mode/noncopymove
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: noncopymove
|
||||||
|
# key: noncopymove
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# expand-env: ((yas-indent-line 'fixed))
|
||||||
|
# --
|
||||||
|
//! non-copyable: delete copy-constructor
|
||||||
|
${1:class}(const $1 &) = delete;
|
||||||
|
//! non-copyable: delete assignment operator
|
||||||
|
$1 & operator = (const $1 &) = delete;
|
||||||
|
//! move-constructor: default
|
||||||
|
$1($1 &&) noexcept = default;
|
||||||
|
//! move-assignment operator: default
|
||||||
|
$1 & operator = ($1 &&) noexcept = default;
|
||||||
10
home/develop/emacs/snippets/c++-mode/ns
Normal file
10
home/develop/emacs/snippets/c++-mode/ns
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: namespace
|
||||||
|
# key: ns
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
namespace $1 {
|
||||||
|
|
||||||
|
$0
|
||||||
|
|
||||||
|
} // namespace $1
|
||||||
5
home/develop/emacs/snippets/c++-mode/operator_equal
Normal file
5
home/develop/emacs/snippets/c++-mode/operator_equal
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: al
|
||||||
|
# key: al
|
||||||
|
# --
|
||||||
|
allocator_type alloc
|
||||||
8
home/develop/emacs/snippets/c++-mode/operator_istream
Normal file
8
home/develop/emacs/snippets/c++-mode/operator_istream
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: operator>>
|
||||||
|
# key: op>>
|
||||||
|
# --
|
||||||
|
istream& operator>>(istream& s, const ${1:type}& ${2:c})
|
||||||
|
{
|
||||||
|
$0
|
||||||
|
}
|
||||||
8
home/develop/emacs/snippets/c++-mode/operator_less
Normal file
8
home/develop/emacs/snippets/c++-mode/operator_less
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: operator<
|
||||||
|
# key: op<
|
||||||
|
# --
|
||||||
|
friend bool operator < (const ${1:type}& a, const $1& b)
|
||||||
|
{
|
||||||
|
return $0;
|
||||||
|
}
|
||||||
8
home/develop/emacs/snippets/c++-mode/operator_ostream
Normal file
8
home/develop/emacs/snippets/c++-mode/operator_ostream
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: operator<<
|
||||||
|
# key: op<<
|
||||||
|
# --
|
||||||
|
friend std::ostream& operator << (std::ostream& os, const ${1:type}& ${2:x})
|
||||||
|
{
|
||||||
|
return os << $0;
|
||||||
|
}
|
||||||
5
home/develop/emacs/snippets/c++-mode/os
Normal file
5
home/develop/emacs/snippets/c++-mode/os
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: os
|
||||||
|
# key: os
|
||||||
|
# --
|
||||||
|
os << " $1=" << x.$1;
|
||||||
6
home/develop/emacs/snippets/c++-mode/oso
Normal file
6
home/develop/emacs/snippets/c++-mode/oso
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: oso
|
||||||
|
# key: oso
|
||||||
|
# --
|
||||||
|
if (${2:t}.${1:var})
|
||||||
|
os << " $1=" << $2.$1;
|
||||||
6
home/develop/emacs/snippets/c++-mode/oss
Normal file
6
home/develop/emacs/snippets/c++-mode/oss
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: oss
|
||||||
|
# key: oss
|
||||||
|
# --
|
||||||
|
std::ostringstream oss;
|
||||||
|
oss << $0
|
||||||
5
home/develop/emacs/snippets/c++-mode/pe
Normal file
5
home/develop/emacs/snippets/c++-mode/pe
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: pe
|
||||||
|
# key: pe
|
||||||
|
# --
|
||||||
|
v.$1 += p.$1;
|
||||||
8
home/develop/emacs/snippets/c++-mode/perl
Normal file
8
home/develop/emacs/snippets/c++-mode/perl
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: perl
|
||||||
|
# key: perl
|
||||||
|
# --
|
||||||
|
/*[[[perl
|
||||||
|
$0
|
||||||
|
]]]*/
|
||||||
|
//[[[end]]]
|
||||||
10
home/develop/emacs/snippets/c++-mode/q
Normal file
10
home/develop/emacs/snippets/c++-mode/q
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: q
|
||||||
|
# key: q
|
||||||
|
# --
|
||||||
|
db::Query q = cmd.db_.query << "SELECT $1"
|
||||||
|
<< into(...);
|
||||||
|
|
||||||
|
while (q.next())
|
||||||
|
{
|
||||||
|
}
|
||||||
6
home/develop/emacs/snippets/c++-mode/stdrand
Normal file
6
home/develop/emacs/snippets/c++-mode/stdrand
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: stdrand
|
||||||
|
# key: stdrand
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
std::default_random_engine ${1:name}(std::random_device { } ())
|
||||||
6
home/develop/emacs/snippets/c++-mode/stdsleep
Normal file
6
home/develop/emacs/snippets/c++-mode/stdsleep
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: stdsleep
|
||||||
|
# key: stdsleep
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
std::this_thread::sleep_for(std::chrono::seconds($1));
|
||||||
5
home/develop/emacs/snippets/c++-mode/sv
Normal file
5
home/develop/emacs/snippets/c++-mode/sv
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: sv
|
||||||
|
# key: sv
|
||||||
|
# --
|
||||||
|
std::string_view
|
||||||
5
home/develop/emacs/snippets/c++-mode/svlit
Normal file
5
home/develop/emacs/snippets/c++-mode/svlit
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: svlit
|
||||||
|
# key: svlit
|
||||||
|
# --
|
||||||
|
using namespace std::string_view_literals;
|
||||||
9
home/develop/emacs/snippets/c++-mode/timestamp
Normal file
9
home/develop/emacs/snippets/c++-mode/timestamp
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: timestamp
|
||||||
|
# key: timestamp
|
||||||
|
# --
|
||||||
|
//! Time is measured using chrono::steady_clock
|
||||||
|
static double timestamp() {
|
||||||
|
return std::chrono::duration_cast<std::chrono::duration<double> >(
|
||||||
|
std::chrono::steady_clock::now().time_since_epoch()).count();
|
||||||
|
}
|
||||||
10
home/develop/emacs/snippets/c++-mode/try
Normal file
10
home/develop/emacs/snippets/c++-mode/try
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: try
|
||||||
|
# key: try
|
||||||
|
# a bit too intrusive now still, not always I want to do this
|
||||||
|
# --
|
||||||
|
try {
|
||||||
|
$0
|
||||||
|
} catch (${1:std::exception& e}) {
|
||||||
|
|
||||||
|
}
|
||||||
5
home/develop/emacs/snippets/c++-mode/using_ator
Normal file
5
home/develop/emacs/snippets/c++-mode/using_ator
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: using_ator
|
||||||
|
# key: using
|
||||||
|
# --
|
||||||
|
using allocator_type = xplat::polymorphic_allocator<>;
|
||||||
5
home/develop/emacs/snippets/c++-mode/vls
Normal file
5
home/develop/emacs/snippets/c++-mode/vls
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: ls
|
||||||
|
# key: ls
|
||||||
|
# --
|
||||||
|
common::allocate_local_shared
|
||||||
2
home/develop/emacs/snippets/c-mode/.yas-parents
Normal file
2
home/develop/emacs/snippets/c-mode/.yas-parents
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cc-mode
|
||||||
|
text-mode
|
||||||
5
home/develop/emacs/snippets/capnp-mode/hr
Normal file
5
home/develop/emacs/snippets/capnp-mode/hr
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: hr
|
||||||
|
# key: hr
|
||||||
|
# --
|
||||||
|
################################################################################
|
||||||
6
home/develop/emacs/snippets/cc-mode/c
Normal file
6
home/develop/emacs/snippets/cc-mode/c
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: c
|
||||||
|
# key: c
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
/* $1 */
|
||||||
7
home/develop/emacs/snippets/cc-mode/cc
Normal file
7
home/develop/emacs/snippets/cc-mode/cc
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: cc
|
||||||
|
# key: cc
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
/** $1
|
||||||
|
*/
|
||||||
6
home/develop/emacs/snippets/cc-mode/comment-spacerline
Normal file
6
home/develop/emacs/snippets/cc-mode/comment-spacerline
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: comment-spacerline
|
||||||
|
# key: ***
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
/******************************************************************************/
|
||||||
8
home/develop/emacs/snippets/cc-mode/for
Normal file
8
home/develop/emacs/snippets/cc-mode/for
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: for
|
||||||
|
# key: for
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
for ($1) {
|
||||||
|
$0
|
||||||
|
}
|
||||||
7
home/develop/emacs/snippets/cc-mode/fori
Normal file
7
home/develop/emacs/snippets/cc-mode/fori
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: fori
|
||||||
|
# key: fori
|
||||||
|
# --
|
||||||
|
for (${1:std::size_t} ${2:i} = ${3:0}; $2 ${4:!= size()}; ++$2) {
|
||||||
|
$0
|
||||||
|
}
|
||||||
10
home/develop/emacs/snippets/cc-mode/guard
Normal file
10
home/develop/emacs/snippets/cc-mode/guard
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: guard
|
||||||
|
# key: guard
|
||||||
|
# --
|
||||||
|
#ifndef ${1:NAME}_HEADER
|
||||||
|
#define $1_HEADER
|
||||||
|
|
||||||
|
$0
|
||||||
|
|
||||||
|
#endif // $1_HEADER
|
||||||
6
home/develop/emacs/snippets/cc-mode/in
Normal file
6
home/develop/emacs/snippets/cc-mode/in
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: in
|
||||||
|
# key: in
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
#include <$0>
|
||||||
6
home/develop/emacs/snippets/cc-mode/inc
Normal file
6
home/develop/emacs/snippets/cc-mode/inc
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: inc
|
||||||
|
# key: inc
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
#include "$0"
|
||||||
9
home/develop/emacs/snippets/cc-mode/main
Normal file
9
home/develop/emacs/snippets/cc-mode/main
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: main
|
||||||
|
# key: main
|
||||||
|
# --
|
||||||
|
int main(${1:int argc, char *argv[]})
|
||||||
|
{
|
||||||
|
$0
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
5
home/develop/emacs/snippets/cc-mode/packed
Normal file
5
home/develop/emacs/snippets/cc-mode/packed
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: packed
|
||||||
|
# key: packed
|
||||||
|
# --
|
||||||
|
__attribute__((__packed__))$0
|
||||||
11
home/develop/emacs/snippets/cc-mode/switch
Normal file
11
home/develop/emacs/snippets/cc-mode/switch
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: switch
|
||||||
|
# key: case
|
||||||
|
# --
|
||||||
|
switch (${1:ch}) {
|
||||||
|
case ${2:const}:
|
||||||
|
${3:a = b};
|
||||||
|
break;
|
||||||
|
${4:default:
|
||||||
|
${5:action}}
|
||||||
|
}
|
||||||
1
home/develop/emacs/snippets/cmake-mode/.yas-parents
Normal file
1
home/develop/emacs/snippets/cmake-mode/.yas-parents
Normal file
@@ -0,0 +1 @@
|
|||||||
|
text-mode
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: cmake_minimum_required
|
||||||
|
# key: min
|
||||||
|
# --
|
||||||
|
cmake_minimum_required(VERSION ${1:2.6})
|
||||||
7
home/develop/emacs/snippets/cmake-mode/foreach
Normal file
7
home/develop/emacs/snippets/cmake-mode/foreach
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: foreach
|
||||||
|
# key: for
|
||||||
|
# --
|
||||||
|
foreach(${1:item} \${${2:array}})
|
||||||
|
$0
|
||||||
|
endforeach()
|
||||||
7
home/develop/emacs/snippets/cmake-mode/function
Normal file
7
home/develop/emacs/snippets/cmake-mode/function
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: function
|
||||||
|
# key: fun
|
||||||
|
# --
|
||||||
|
function (${1:name})
|
||||||
|
$0
|
||||||
|
endfunction()
|
||||||
6
home/develop/emacs/snippets/cmake-mode/hr
Normal file
6
home/develop/emacs/snippets/cmake-mode/hr
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: hr
|
||||||
|
# key: hr
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
`(make-string (- 80 (current-column)) ?#)`
|
||||||
7
home/develop/emacs/snippets/cmake-mode/if
Normal file
7
home/develop/emacs/snippets/cmake-mode/if
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: if
|
||||||
|
# key: if
|
||||||
|
# --
|
||||||
|
if(${1:cond})
|
||||||
|
$0
|
||||||
|
endif()
|
||||||
9
home/develop/emacs/snippets/cmake-mode/ifelse
Normal file
9
home/develop/emacs/snippets/cmake-mode/ifelse
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: ifelse
|
||||||
|
# key: if
|
||||||
|
# --
|
||||||
|
if(${1:cond})
|
||||||
|
$2
|
||||||
|
else(${3:cond})
|
||||||
|
$0
|
||||||
|
endif()
|
||||||
5
home/develop/emacs/snippets/cmake-mode/include
Normal file
5
home/develop/emacs/snippets/cmake-mode/include
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# type: command
|
||||||
|
# key: inc
|
||||||
|
# name: include
|
||||||
|
# --
|
||||||
|
include ($0)
|
||||||
7
home/develop/emacs/snippets/cmake-mode/macro
Normal file
7
home/develop/emacs/snippets/cmake-mode/macro
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: macro
|
||||||
|
# key: macro
|
||||||
|
# --
|
||||||
|
macro(${1:name}${2: args})
|
||||||
|
|
||||||
|
endmacro()
|
||||||
5
home/develop/emacs/snippets/cmake-mode/message
Normal file
5
home/develop/emacs/snippets/cmake-mode/message
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: message
|
||||||
|
# key: msg
|
||||||
|
# --
|
||||||
|
message(${1:STATUS }"$0")
|
||||||
5
home/develop/emacs/snippets/cmake-mode/option
Normal file
5
home/develop/emacs/snippets/cmake-mode/option
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: option
|
||||||
|
# key: opt
|
||||||
|
# --
|
||||||
|
option (${1:OPT} "${2:docstring}" ${3:value})
|
||||||
5
home/develop/emacs/snippets/cmake-mode/project
Normal file
5
home/develop/emacs/snippets/cmake-mode/project
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: project
|
||||||
|
# key: proj
|
||||||
|
# --
|
||||||
|
project ($0)
|
||||||
5
home/develop/emacs/snippets/cmake-mode/set
Normal file
5
home/develop/emacs/snippets/cmake-mode/set
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: set
|
||||||
|
# key: set
|
||||||
|
# --
|
||||||
|
set(${1:var} ${2:value})
|
||||||
1
home/develop/emacs/snippets/cperl-mode/.yas-parents
Normal file
1
home/develop/emacs/snippets/cperl-mode/.yas-parents
Normal file
@@ -0,0 +1 @@
|
|||||||
|
text-mode
|
||||||
21
home/develop/emacs/snippets/cperl-mode/package
Normal file
21
home/develop/emacs/snippets/cperl-mode/package
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: package
|
||||||
|
# key: package
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
#!/usr/bin/perl -w
|
||||||
|
|
||||||
|
package ${1:package};
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use diagnostics;
|
||||||
|
use utf8;
|
||||||
|
|
||||||
|
use Exporter;
|
||||||
|
|
||||||
|
our @ISA = qw(Exporter);
|
||||||
|
our @EXPORT = qw();
|
||||||
|
our @EXPORT_OK = qw();
|
||||||
|
|
||||||
|
1;
|
||||||
8
home/develop/emacs/snippets/cperl-mode/perl
Normal file
8
home/develop/emacs/snippets/cperl-mode/perl
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: perl
|
||||||
|
# key: perl
|
||||||
|
# --
|
||||||
|
#!/usr/bin/env perl
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
6
home/develop/emacs/snippets/css-mode/doc
Normal file
6
home/develop/emacs/snippets/css-mode/doc
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: doc
|
||||||
|
# key: doc
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
/* $1 */
|
||||||
5
home/develop/emacs/snippets/dockerfile-mode/hr
Normal file
5
home/develop/emacs/snippets/dockerfile-mode/hr
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: hr
|
||||||
|
# key: hr
|
||||||
|
# --
|
||||||
|
################################################################################
|
||||||
5
home/develop/emacs/snippets/ess-r-mode/hr
Normal file
5
home/develop/emacs/snippets/ess-r-mode/hr
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: hr
|
||||||
|
# key: hr
|
||||||
|
# --
|
||||||
|
################################################################################
|
||||||
2
home/develop/emacs/snippets/java-mode/.yas-parents
Normal file
2
home/develop/emacs/snippets/java-mode/.yas-parents
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cc-mode
|
||||||
|
text-mode
|
||||||
5
home/develop/emacs/snippets/java-mode/hr
Normal file
5
home/develop/emacs/snippets/java-mode/hr
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: hr
|
||||||
|
# key: hr
|
||||||
|
# --
|
||||||
|
/*`(make-string (- 78 (current-column)) ?*)`*/
|
||||||
1
home/develop/emacs/snippets/latex-mode/.yas-parents
Normal file
1
home/develop/emacs/snippets/latex-mode/.yas-parents
Normal file
@@ -0,0 +1 @@
|
|||||||
|
text-mode
|
||||||
8
home/develop/emacs/snippets/latex-mode/begin
Normal file
8
home/develop/emacs/snippets/latex-mode/begin
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: begin
|
||||||
|
# key: begin
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
\begin{${1:environment}}
|
||||||
|
$0
|
||||||
|
\end{$1}
|
||||||
12
home/develop/emacs/snippets/latex-mode/cols
Normal file
12
home/develop/emacs/snippets/latex-mode/cols
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: cols
|
||||||
|
# key: cols
|
||||||
|
# --
|
||||||
|
\begin{columns}
|
||||||
|
\begin{column}{${1:.5}\linewidth}
|
||||||
|
column 1
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{${2:.5}\linewidth}
|
||||||
|
column 2
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
8
home/develop/emacs/snippets/latex-mode/enumerate
Normal file
8
home/develop/emacs/snippets/latex-mode/enumerate
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: enumerate
|
||||||
|
# key: enumerate
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
\begin{enumerate}
|
||||||
|
\item $0
|
||||||
|
\end{enumerate}
|
||||||
9
home/develop/emacs/snippets/latex-mode/figure
Normal file
9
home/develop/emacs/snippets/latex-mode/figure
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: figure
|
||||||
|
# key: figure
|
||||||
|
# --
|
||||||
|
\begin{figure}[ht]
|
||||||
|
\centering
|
||||||
|
\includegraphics[${1:options}]{figures/${2:path.pdf}}
|
||||||
|
\caption{\label{fig:${3:label}} $0}
|
||||||
|
\end{figure}
|
||||||
10
home/develop/emacs/snippets/latex-mode/frame
Normal file
10
home/develop/emacs/snippets/latex-mode/frame
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: frame
|
||||||
|
# key: frame
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
% ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
\begin{frame}{${1:title}}
|
||||||
|
|
||||||
|
\end{frame}
|
||||||
5
home/develop/emacs/snippets/latex-mode/ho
Normal file
5
home/develop/emacs/snippets/latex-mode/ho
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: ho
|
||||||
|
# key: ho
|
||||||
|
# --
|
||||||
|
% ---[ $1 ]-------------------------------------------------
|
||||||
6
home/develop/emacs/snippets/latex-mode/hr
Normal file
6
home/develop/emacs/snippets/latex-mode/hr
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: hr
|
||||||
|
# key: hr
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
% `(make-string (- 80 (current-column)) ?-)`
|
||||||
6
home/develop/emacs/snippets/latex-mode/hrr
Normal file
6
home/develop/emacs/snippets/latex-mode/hrr
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: hrr
|
||||||
|
# key: hrr
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
% ==============================================================================
|
||||||
9
home/develop/emacs/snippets/latex-mode/hrx
Normal file
9
home/develop/emacs/snippets/latex-mode/hrx
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: hrx
|
||||||
|
# key: hrx
|
||||||
|
# --
|
||||||
|
% %
|
||||||
|
%% %%
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% %%
|
||||||
|
% %
|
||||||
5
home/develop/emacs/snippets/latex-mode/hx
Normal file
5
home/develop/emacs/snippets/latex-mode/hx
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: hx
|
||||||
|
# key: hx
|
||||||
|
# --
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
8
home/develop/emacs/snippets/latex-mode/itemize
Normal file
8
home/develop/emacs/snippets/latex-mode/itemize
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: itemize
|
||||||
|
# key: itemize
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
\begin{itemize}
|
||||||
|
\item $0
|
||||||
|
\end{itemize}
|
||||||
5
home/develop/emacs/snippets/latex-mode/modeline-de_DE
Normal file
5
home/develop/emacs/snippets/latex-mode/modeline-de_DE
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: emacs modeline de_DE dictionary
|
||||||
|
# key: modeline
|
||||||
|
# --
|
||||||
|
% -*- mode: latex; mode: flyspell; ispell-local-dictionary: "de_DE"; coding: utf-8 -*-
|
||||||
5
home/develop/emacs/snippets/latex-mode/noex
Normal file
5
home/develop/emacs/snippets/latex-mode/noex
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: noex
|
||||||
|
# key: noex
|
||||||
|
# --
|
||||||
|
\tikzset{external/export=false}
|
||||||
6
home/develop/emacs/snippets/latex-mode/noexternal
Normal file
6
home/develop/emacs/snippets/latex-mode/noexternal
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: noexternal
|
||||||
|
# key: noexternal
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
\tikzset{external/export=false}
|
||||||
73
home/develop/emacs/snippets/latex-mode/template
Normal file
73
home/develop/emacs/snippets/latex-mode/template
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: template
|
||||||
|
# key: template
|
||||||
|
# binding: direct-keybinding
|
||||||
|
# --
|
||||||
|
% -*- mode: latex; mode: flyspell; ispell-local-dictionary: "en_US"; coding: utf-8 -*-
|
||||||
|
|
||||||
|
\documentclass[a4paper,12pt,twoside]{scrartcl}
|
||||||
|
|
||||||
|
\setlength\overfullrule{14pt} % this enables big black bars on overlong lines.
|
||||||
|
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
|
||||||
|
\usepackage{lmodern}
|
||||||
|
\usepackage[english]{babel}
|
||||||
|
|
||||||
|
\title{${1:title}}
|
||||||
|
\author{${2:Timo Bingmann}}
|
||||||
|
|
||||||
|
% small margin
|
||||||
|
\usepackage[tmargin=20mm,bmargin=20mm,lmargin=20mm,rmargin=20mm]{geometry}
|
||||||
|
|
||||||
|
% set default paragraph skip and indention
|
||||||
|
\setlength\parskip{\smallskipamount}
|
||||||
|
\setlength\parindent{0pt}
|
||||||
|
|
||||||
|
% math support
|
||||||
|
\usepackage{amsmath,amssymb,array,mathtools}
|
||||||
|
|
||||||
|
% smaller enumerations
|
||||||
|
\usepackage{enumitem}
|
||||||
|
\setlist[enumerate]{topsep=\smallskipamount,parsep=0pt}
|
||||||
|
\setlist[itemize]{topsep=\smallskipamount,parsep=0pt}
|
||||||
|
\setlist[enumerate,1]{topsep=\smallskipamount,parsep=0pt,label=(\roman*)}
|
||||||
|
|
||||||
|
% for graphics
|
||||||
|
\usepackage{graphicx}
|
||||||
|
|
||||||
|
% for nice graphics
|
||||||
|
\usepackage{tikz}
|
||||||
|
\usetikzlibrary{calc}
|
||||||
|
|
||||||
|
% Hyperref
|
||||||
|
\usepackage{xcolor,hyperref}
|
||||||
|
|
||||||
|
\hypersetup{
|
||||||
|
colorlinks=true,
|
||||||
|
pdfborder={0 0 0},
|
||||||
|
bookmarksopen=true,
|
||||||
|
bookmarksopenlevel=1,
|
||||||
|
bookmarksnumbered=true,
|
||||||
|
linkcolor=blue!60!black,
|
||||||
|
%linkcolor=black,
|
||||||
|
urlcolor=blue!60!black,
|
||||||
|
filecolor=green!60!black,
|
||||||
|
citecolor=blue!60!black,
|
||||||
|
pdfpagemode=UseNone,
|
||||||
|
unicode=true,
|
||||||
|
setpagesize=false,
|
||||||
|
bookmarksdepth=subsection,
|
||||||
|
pdftitle={$1},
|
||||||
|
pdfauthor={$2},
|
||||||
|
pdfsubject={},
|
||||||
|
}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
$0
|
||||||
|
|
||||||
|
\end{document}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user