Compare commits
39 Commits
2cbaea2554
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| e81f3efde8 | |||
| 8d95b381da | |||
| a0b0357466 | |||
|
|
3d098013a9 | ||
| 41febdadfc | |||
|
|
1000663cb5 | ||
| 03b50ccb9f | |||
| d28a6049ca | |||
| 78c2a41c55 | |||
| c9269c6644 | |||
| 6416611abe | |||
| 36a2d10cb1 | |||
| 0c5a54499d | |||
|
|
192f09e86f | ||
| 7f1f44174a | |||
| 78a52810d0 | |||
| 0de3ffd6b3 | |||
| b0a0d1efcd | |||
|
|
e823d9af7a | ||
|
|
dbd6913638 | ||
|
|
6a20426279 | ||
| ccdfedeaed | |||
| 1a5009f4af | |||
| abe5a405d0 | |||
| ba45fb66ab | |||
| 05d4fd7ed2 | |||
| b699896f68 | |||
| a204bbcf72 | |||
| d93557d7bf | |||
| 84ec7b5318 | |||
| 91a1aa83f7 | |||
| 86e02b4e3b | |||
| 32df76566c | |||
| cf21b98a9d | |||
| f36c140300 | |||
| 9f57a00ffe | |||
| 6cc3a633e6 | |||
| 6d64e1f074 | |||
| cb5ddb15a6 |
6
flake.lock
generated
6
flake.lock
generated
@@ -2,11 +2,11 @@
|
|||||||
"nodes": {
|
"nodes": {
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750506804,
|
"lastModified": 1755615617,
|
||||||
"narHash": "sha256-VLFNc4egNjovYVxDGyBYTrvVCgDYgENp5bVi9fPTDYc=",
|
"narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "4206c4cb56751df534751b058295ea61357bbbaa",
|
"rev": "20075955deac2583bb12f07151c2df830ef346b4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
123
flake.nix
123
flake.nix
@@ -2,47 +2,92 @@
|
|||||||
description = "Timo's Shared Nix Modules";
|
description = "Timo's Shared Nix Modules";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, ... }:
|
outputs = { self, nixpkgs, ... }: {
|
||||||
{
|
# Set up formatter.
|
||||||
# System Modules
|
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt;
|
||||||
nixosModules.default = { ... }: {
|
|
||||||
imports = [
|
|
||||||
./system/default/editor.nix
|
|
||||||
./system/default/nix.nix
|
|
||||||
./system/default/packages.nix
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
nixosModules.linux = { ... }: {
|
# Global all-hosts configuration
|
||||||
imports = [
|
nixosModules.default = { ... }: {
|
||||||
./system/linux/system.nix
|
imports = [
|
||||||
];
|
./system/default/editor.nix
|
||||||
};
|
./system/default/nix.nix
|
||||||
|
./system/default/packages.nix
|
||||||
nixosModules.macos = { ... }: {
|
./system/default/prompt.nix
|
||||||
imports = [
|
./system/default/scripts.nix
|
||||||
./system/macos/system.nix
|
./system/default/ssh-authorized-keys.nix
|
||||||
./system/macos/fonts.nix
|
];
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Home Manager Modules
|
|
||||||
homeManagerModules.default = { ... }: {
|
|
||||||
imports = [
|
|
||||||
./home/default/bash.nix
|
|
||||||
./home/default/basic.nix
|
|
||||||
./home/default/direnv.nix
|
|
||||||
./home/default/git.nix
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
homeManagerModules.develop = { ... }: {
|
|
||||||
imports = [
|
|
||||||
./home/develop/emacs.nix
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Linux specific system configuration
|
||||||
|
nixosModules.linux = { ... }: {
|
||||||
|
imports = [
|
||||||
|
./system/linux/i18n.nix
|
||||||
|
./system/linux/openssh.nix
|
||||||
|
./system/linux/system.nix
|
||||||
|
./system/linux/user-tb.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# MacOS specific system configuration
|
||||||
|
nixosModules.macos = { ... }: {
|
||||||
|
imports = [
|
||||||
|
./system/macos/environment.nix
|
||||||
|
./system/macos/fonts.nix
|
||||||
|
./system/macos/hotkeys.nix
|
||||||
|
./system/macos/nix.nix
|
||||||
|
./system/macos/system.nix
|
||||||
|
./system/macos/yabai.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Tools on all development machines
|
||||||
|
nixosModules.develop = { ... }: {
|
||||||
|
imports = [
|
||||||
|
./system/develop/packages.nix
|
||||||
|
./system/develop/scripts.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Home Manager Modules
|
||||||
|
homeManagerModules.default = { ... }: {
|
||||||
|
imports = [
|
||||||
|
./home/default/bash.nix
|
||||||
|
./home/default/basic.nix
|
||||||
|
./home/default/direnv.nix
|
||||||
|
./home/default/git.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Add private homelab and cloud host aliases
|
||||||
|
homeManagerModules.private = { ... }: {
|
||||||
|
imports = [
|
||||||
|
./home/private/git.nix
|
||||||
|
./home/private/ssh-hosts.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# MacOS specific home configuration
|
||||||
|
homeManagerModules.macos = { ... }: {
|
||||||
|
imports = [
|
||||||
|
./home/macos/home.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Emacs Configuration
|
||||||
|
homeManagerModules.develop = { ... }: {
|
||||||
|
imports = [
|
||||||
|
./home/develop/emacs.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Claude Code configuration
|
||||||
|
homeManagerModules.claude = { ... }: {
|
||||||
|
imports = [
|
||||||
|
./home/claude/config.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
11
home/claude/config.nix
Normal file
11
home/claude/config.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{ lib, ... }:
|
||||||
|
{
|
||||||
|
# Copy Claude Code configuration files to ~/.claude/
|
||||||
|
# Using activation script instead of home.file to copy (not symlink) files
|
||||||
|
home.activation.copyClaudeCommands = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||||
|
$DRY_RUN_CMD mkdir -p $VERBOSE_ARG $HOME/.claude/commands
|
||||||
|
$DRY_RUN_CMD cp $VERBOSE_ARG ${./config/commands/commit.md} $HOME/.claude/commands/commit.md
|
||||||
|
$DRY_RUN_CMD cp $VERBOSE_ARG ${./config/commands/go-plan.md} $HOME/.claude/commands/go-plan.md
|
||||||
|
$DRY_RUN_CMD chmod $VERBOSE_ARG 644 $HOME/.claude/commands/*.md
|
||||||
|
'';
|
||||||
|
}
|
||||||
1
home/claude/config/commands/commit.md
Normal file
1
home/claude/config/commands/commit.md
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Make another git commit -- read the git diff of staged files and write a good long description
|
||||||
1
home/claude/config/commands/go-plan.md
Normal file
1
home/claude/config/commands/go-plan.md
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Write the detailed plan to PLAN.md and start.
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
lfs.enable = true;
|
lfs.enable = true;
|
||||||
|
|
||||||
extraConfig = {
|
settings = {
|
||||||
pull.ff = "only";
|
pull.ff = "only";
|
||||||
|
|
||||||
merge.conflictstyle = "zdiff3";
|
merge.conflictstyle = "zdiff3";
|
||||||
|
|||||||
@@ -1,125 +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
|
|
||||||
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)
|
|
||||||
whitespace-cleanup-mode # 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
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,14 @@
|
|||||||
;; Disable annoying bell
|
;; Disable annoying bell
|
||||||
(setq ring-bell-function 'ignore)
|
(setq ring-bell-function 'ignore)
|
||||||
|
|
||||||
|
;; Skip package.el entirely when using Nix
|
||||||
|
(setq package-enable-at-startup nil)
|
||||||
|
(setq package-archives nil)
|
||||||
|
(when (and (boundp 'use-package-ensure-function)
|
||||||
|
(getenv "NIX_PROFILES"))
|
||||||
|
(setq use-package-ensure-function 'ignore)
|
||||||
|
(setq use-package-always-ensure nil))
|
||||||
|
|
||||||
;; -----------------------------------------------------------------------------
|
;; -----------------------------------------------------------------------------
|
||||||
;; --- Editor Defaults
|
;; --- Editor Defaults
|
||||||
;; -----------------------------------------------------------------------------
|
;; -----------------------------------------------------------------------------
|
||||||
@@ -378,20 +386,16 @@ 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 whitespace-cleanup-mode
|
(use-package ethan-wspace
|
||||||
:diminish
|
:ensure t
|
||||||
|
:diminish ethan-wspace-mode
|
||||||
:config
|
:config
|
||||||
(setq whitespace-cleanup-mode-only-if-initially-clean nil)
|
;; Enable globally
|
||||||
(global-whitespace-cleanup-mode))
|
(global-ethan-wspace-mode 1)
|
||||||
|
|
||||||
|
;; Customize what to clean
|
||||||
|
(setq mode-require-final-newline nil)) ; ethan-wspace handles this
|
||||||
|
|
||||||
;; Rainbow delimiters
|
;; Rainbow delimiters
|
||||||
(use-package rainbow-delimiters)
|
(use-package rainbow-delimiters)
|
||||||
|
|||||||
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
|
||||||
|
# --
|
||||||
|
% %
|
||||||
|
%% %%
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%% %%
|
||||||
|
% %
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user