Compare commits
11 Commits
wsl2
...
2e14989a23
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2e14989a23 | ||
|
|
1839f9e875 | ||
|
|
c80216989c | ||
|
|
7c620dba19 | ||
|
|
d1ee31378d | ||
|
|
bf33a8bbd7 | ||
|
|
42deab7c3e | ||
|
|
ed2c9d2b6a | ||
|
|
3e4baa2b63 | ||
|
|
1d937b9316 | ||
|
|
75de8dcadb |
35
bash/.bashrc
35
bash/.bashrc
@@ -1,7 +1,7 @@
|
|||||||
# Enable the subsequent settings only in interactive sessions
|
# Enable the subsequent settings only in interactive sessions
|
||||||
case $- in
|
case $- in
|
||||||
*i*) ;;
|
*i*) ;;
|
||||||
*) return ;;
|
*) return;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Path to your oh-my-bash installation.
|
# Path to your oh-my-bash installation.
|
||||||
@@ -91,27 +91,18 @@ OMB_USE_SUDO=true
|
|||||||
# Add wisely, as too many completions slow down shell startup.
|
# Add wisely, as too many completions slow down shell startup.
|
||||||
completions=(
|
completions=(
|
||||||
asdf
|
asdf
|
||||||
brew
|
|
||||||
docker
|
docker
|
||||||
docker-compose
|
docker-compose
|
||||||
gh
|
gh
|
||||||
git
|
git
|
||||||
go
|
go
|
||||||
helm
|
|
||||||
kubectl
|
|
||||||
makefile
|
makefile
|
||||||
maven
|
|
||||||
minikube
|
|
||||||
npm
|
npm
|
||||||
nvm
|
|
||||||
oc
|
|
||||||
pip3
|
pip3
|
||||||
pip
|
|
||||||
sdkman
|
|
||||||
ssh
|
|
||||||
system
|
system
|
||||||
tmux
|
tmux
|
||||||
vagrant
|
composer
|
||||||
|
ssh
|
||||||
)
|
)
|
||||||
|
|
||||||
# Which aliases would you like to load? (aliases can be found in ~/.oh-my-bash/aliases/*)
|
# Which aliases would you like to load? (aliases can be found in ~/.oh-my-bash/aliases/*)
|
||||||
@@ -127,8 +118,12 @@ aliases=(
|
|||||||
# Example format: plugins=(rails git textmate ruby lighthouse)
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||||
# Add wisely, as too many plugins slow down shell startup.
|
# Add wisely, as too many plugins slow down shell startup.
|
||||||
plugins=(
|
plugins=(
|
||||||
|
bashmarks
|
||||||
bash-preexec
|
bash-preexec
|
||||||
|
cargo
|
||||||
colored-man-pages
|
colored-man-pages
|
||||||
|
git
|
||||||
|
zoxide
|
||||||
)
|
)
|
||||||
|
|
||||||
# Which plugins would you like to conditionally load? (plugins can be found in ~/.oh-my-bash/plugins/*)
|
# Which plugins would you like to conditionally load? (plugins can be found in ~/.oh-my-bash/plugins/*)
|
||||||
@@ -171,11 +166,7 @@ source "$OSH"/oh-my-bash.sh
|
|||||||
# users are encouraged to define aliases within the OSH_CUSTOM folder.
|
# users are encouraged to define aliases within the OSH_CUSTOM folder.
|
||||||
# For a full list of active aliases, run `
|
# For a full list of active aliases, run `
|
||||||
|
|
||||||
# export EDITOR="emacs -nw"
|
|
||||||
# export VISUAL="emacs"
|
|
||||||
|
|
||||||
alias ls='ls --color=auto --group-directories-first'
|
alias ls='ls --color=auto --group-directories-first'
|
||||||
alias lsx='ls -AXF'
|
|
||||||
|
|
||||||
# Replace grep command tool
|
# Replace grep command tool
|
||||||
alias grep='grep --color=auto'
|
alias grep='grep --color=auto'
|
||||||
@@ -187,14 +178,8 @@ alias paths='echo -e ${PATH//:/\\n}' # path: Echo all executable Paths
|
|||||||
alias userlist="cut -d: -f1 /etc/passwd | sort"
|
alias userlist="cut -d: -f1 /etc/passwd | sort"
|
||||||
alias ip='ip -color'
|
alias ip='ip -color'
|
||||||
alias stow='stow -d $DOTFILES '
|
alias stow='stow -d $DOTFILES '
|
||||||
alias em='emacsclient -t'
|
|
||||||
|
|
||||||
# User specific aliases and functions
|
# Starship prompt
|
||||||
if [ -d ~/.bashrc.d ]; then
|
if command -v starship > /dev/null 2>&1; then
|
||||||
for rc in ~/.bashrc.d/*; do
|
eval "$(starship init bash)"
|
||||||
if [ -f "$rc" ]; then
|
|
||||||
. "$rc"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
fi
|
||||||
unset rc
|
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
if command -v /home/linuxbrew/.linuxbrew/bin/brew >/dev/null 2>&1; then
|
|
||||||
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
|
||||||
fi
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Starship prompt
|
|
||||||
if command -v starship >/dev/null 2>&1; then
|
|
||||||
eval "$(starship init bash)"
|
|
||||||
fi
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
if command -v zoxide >/dev/null 2>&1; then
|
|
||||||
eval "$(zoxide init bash)"
|
|
||||||
fi
|
|
||||||
791
bash/.dircolors
791
bash/.dircolors
@@ -1,791 +0,0 @@
|
|||||||
# LS_COLORS ($Source: /my/shell/setup/.dircolors$)
|
|
||||||
# for ANSI color code see also [*](https://en.wikipedia.org/wiki/ANSI_escape_code)
|
|
||||||
#
|
|
||||||
# Maintainers: Magnus Woldrich <m@japh.se>,
|
|
||||||
# Ryan Delaney <ryan.delaney@gmail.com> OpenGPG: 0D98863B4E1D07B6
|
|
||||||
# Michel G. Combes <michelc@gc-bank.org> OpenGPG:
|
|
||||||
# URL: https://github.com/trapd00r/LS_COLORS
|
|
||||||
# Version: 0.254
|
|
||||||
# Updated: Tue Mar 29 21:25:30 AEST 2016
|
|
||||||
#
|
|
||||||
# This is a collection of extension:color mappings, suitable to use as your
|
|
||||||
# LS_COLORS environment variable. Most of them use the extended color map,
|
|
||||||
# described in the ECMA-48 document; in other words, you'll need a terminal
|
|
||||||
# with capabilities of displaying 256 colors.
|
|
||||||
#
|
|
||||||
# As of this writing, around 300 different filetypes/extensions is supported.
|
|
||||||
# That's indeed a lot of extensions, but there's a lot more! Therefore I need
|
|
||||||
# your help.
|
|
||||||
#
|
|
||||||
# Fork this project on github, add the extensions you are missing, and send me
|
|
||||||
# a pull request.
|
|
||||||
#
|
|
||||||
# For files that usually ends up next to each other, like html, css and js,
|
|
||||||
# try to pick colors that fit nicely together. Filetypes with multiple
|
|
||||||
# possible extensions, like htm and html, should have the same color.
|
|
||||||
|
|
||||||
# This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
||||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
# PARTICULAR PURPOSE. See the Perl Artistic License for more details.
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify it under
|
|
||||||
# the terms of the Perl Artistic License as published by the Perl Foundation,
|
|
||||||
# either version 1.0 of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the Perl Artistic License along
|
|
||||||
# with this program. If not, see <http://www.perlfoundation.org/artistic_license_1_0>.
|
|
||||||
|
|
||||||
# core {{{1
|
|
||||||
BLK 38;5;68
|
|
||||||
CAPABILITY 38;5;17
|
|
||||||
CHR 38;5;113;1
|
|
||||||
DIR 38;1;35
|
|
||||||
#DIR 04;38;5;223
|
|
||||||
DOOR 38;5;127
|
|
||||||
#EXEC 38;5;222;48;2;1;16;32;1
|
|
||||||
EXEC 00;48;2;1;16;32;1
|
|
||||||
#EXEC 38;5;208;1
|
|
||||||
FIFO 38;5;126
|
|
||||||
FILE 0
|
|
||||||
LINK target
|
|
||||||
MULTIHARDLINK 38;5;222;1
|
|
||||||
# "NORMAL don't reset the bold attribute -
|
|
||||||
# https://github.com/trapd00r/LS_COLORS/issues/11
|
|
||||||
#NORMAL 38;5;254
|
|
||||||
NORMAL 0
|
|
||||||
ORPHAN 48;5;196;38;5;232;1
|
|
||||||
OTHER_WRITABLE 04;1;38;5;153;48;2;10;40;2
|
|
||||||
SETGID 48;5;3;38;5;0
|
|
||||||
SETUID 38;5;220;1;3;100;1
|
|
||||||
SOCK 38;5;197
|
|
||||||
STICKY 38;5;86;48;5;234
|
|
||||||
STICKY_OTHER_WRITABLE 48;5;235;38;5;139;3
|
|
||||||
|
|
||||||
*LS_COLORS 48;5;89;38;5;197;1;3;4;7 # :-)
|
|
||||||
# }}}
|
|
||||||
# documents {{{1
|
|
||||||
*README 38;5;220;1
|
|
||||||
*README.rst 38;5;220;1
|
|
||||||
*README.md 38;5;220;1
|
|
||||||
*LICENSE 38;5;220;1
|
|
||||||
*COPYING 38;5;220;1
|
|
||||||
*INSTALL 38;5;220;1
|
|
||||||
*COPYRIGHT 38;5;220;1
|
|
||||||
*AUTHORS 38;5;220;1
|
|
||||||
*HISTORY 38;5;220;1
|
|
||||||
*CONTRIBUTORS 38;5;220;1
|
|
||||||
*PATENTS 38;5;220;1
|
|
||||||
*VERSION 38;5;220;1
|
|
||||||
*NOTICE 38;5;220;1
|
|
||||||
*CHANGES 38;5;220;1
|
|
||||||
#.log 38;5;190
|
|
||||||
.log 38;5;70
|
|
||||||
# plain-text {{{2
|
|
||||||
.txt 38;5;253
|
|
||||||
# markup {{{2
|
|
||||||
.etx 38;5;184
|
|
||||||
.info 38;5;184
|
|
||||||
.markdown 38;5;184
|
|
||||||
.md 38;5;184
|
|
||||||
.mkd 38;5;184
|
|
||||||
.nfo 38;5;184
|
|
||||||
.pod 38;5;184
|
|
||||||
.rst 38;5;184
|
|
||||||
.tex 38;5;184
|
|
||||||
.textile 38;5;184
|
|
||||||
# key-value, non-relational data {{{2
|
|
||||||
.bib 38;5;178
|
|
||||||
.json 38;5;178
|
|
||||||
.jsonl 38;5;178
|
|
||||||
.msg 38;5;178
|
|
||||||
.pgn 38;5;178
|
|
||||||
.rss 38;5;178
|
|
||||||
.xml 38;5;178
|
|
||||||
.toml 38;5;178
|
|
||||||
.yaml 38;5;178
|
|
||||||
.yml 38;5;178
|
|
||||||
.RData 38;5;178
|
|
||||||
.rdata 38;5;178
|
|
||||||
# }}}
|
|
||||||
# binary {{{2
|
|
||||||
.cbr 38;5;141
|
|
||||||
.cbz 38;5;141
|
|
||||||
.chm 38;5;141
|
|
||||||
.djvu 38;5;141
|
|
||||||
.pdf 38;5;141
|
|
||||||
.PDF 38;5;141
|
|
||||||
.mobi 38;5;141
|
|
||||||
.epub 38;5;141
|
|
||||||
# words {{{3
|
|
||||||
.docm 38;5;111;4
|
|
||||||
.doc 38;5;111
|
|
||||||
.docx 38;5;111
|
|
||||||
.eps 38;5;111
|
|
||||||
.ps 38;5;111
|
|
||||||
.odb 38;5;111
|
|
||||||
.odt 38;5;111
|
|
||||||
.rtf 38;5;111
|
|
||||||
# presentation {{{3
|
|
||||||
.odp 38;5;166
|
|
||||||
.pps 38;5;166
|
|
||||||
.ppt 38;5;166
|
|
||||||
.pptx 38;5;166
|
|
||||||
# Powerpoint show
|
|
||||||
.ppts 38;5;166
|
|
||||||
# Powerpoint with enabled macros
|
|
||||||
.pptxm 38;5;166;4
|
|
||||||
# Powerpoint show with enabled macros
|
|
||||||
.pptsm 38;5;166;4
|
|
||||||
# spreadsheet {{{3
|
|
||||||
.csv 38;5;78
|
|
||||||
# Open document spreadsheet
|
|
||||||
.ods 38;5;112
|
|
||||||
.xla 38;5;76
|
|
||||||
# Excel spreadsheet
|
|
||||||
.xls 38;5;112
|
|
||||||
.xlsx 38;5;112
|
|
||||||
# Excel spreadsheet with macros
|
|
||||||
.xlsxm 38;5;112;4
|
|
||||||
# Excel module
|
|
||||||
.xltm 38;5;73;4
|
|
||||||
.xltx 38;5;73
|
|
||||||
# }}}
|
|
||||||
# }}}
|
|
||||||
# configs {{{2
|
|
||||||
*config 1
|
|
||||||
*cfg 1
|
|
||||||
*conf 1
|
|
||||||
*rc 1
|
|
||||||
*authorized_keys 1
|
|
||||||
*known_hosts 1
|
|
||||||
.ini 1
|
|
||||||
.plist 1
|
|
||||||
# vim
|
|
||||||
.viminfo 1
|
|
||||||
# cisco VPN client configuration
|
|
||||||
.pcf 1
|
|
||||||
# adobe photoshop proof settings file
|
|
||||||
.psf 1
|
|
||||||
# }}}
|
|
||||||
# }}}
|
|
||||||
# code {{{1
|
|
||||||
# version control {{{2
|
|
||||||
.git 38;5;197
|
|
||||||
.gitignore 38;5;240
|
|
||||||
.gitattributes 38;5;240
|
|
||||||
.gitmodules 38;5;240
|
|
||||||
|
|
||||||
# shell {{{2
|
|
||||||
.awk 38;5;172
|
|
||||||
.bash 38;5;172
|
|
||||||
.bat 38;5;172
|
|
||||||
.BAT 38;5;172
|
|
||||||
.sed 38;5;172
|
|
||||||
.sh 38;5;172
|
|
||||||
.zsh 38;5;172
|
|
||||||
.vim 38;5;172
|
|
||||||
|
|
||||||
# interpreted {{{2
|
|
||||||
.ahk 38;5;41
|
|
||||||
# python
|
|
||||||
.py 38;5;41
|
|
||||||
.ipynb 38;5;41
|
|
||||||
# ruby
|
|
||||||
.rb 38;5;41
|
|
||||||
.gemspec 38;5;41
|
|
||||||
# perl
|
|
||||||
.pl 38;5;107
|
|
||||||
.pm 38;5;77
|
|
||||||
.PL 38;5;160
|
|
||||||
.t 38;5;114
|
|
||||||
# sql
|
|
||||||
.msql 38;5;222
|
|
||||||
.mysql 38;5;222
|
|
||||||
.pgsql 38;5;222
|
|
||||||
.sql 38;5;222
|
|
||||||
# Tool Command Language
|
|
||||||
.tcl 38;5;64;1
|
|
||||||
# R language
|
|
||||||
.r 38;5;49
|
|
||||||
.R 38;5;49
|
|
||||||
# GrADS script
|
|
||||||
.gs 38;5;81
|
|
||||||
# Clojure
|
|
||||||
.clj 38;5;41
|
|
||||||
.cljs 38;5;41
|
|
||||||
.cljc 38;5;41
|
|
||||||
# Clojure gorilla REPL worksheet
|
|
||||||
.cljw 38;5;41
|
|
||||||
# Scala
|
|
||||||
.scala 38;5;41
|
|
||||||
# Dart
|
|
||||||
.dart 38;5;51
|
|
||||||
|
|
||||||
# compiled {{{2
|
|
||||||
#
|
|
||||||
# assembly language
|
|
||||||
.asm 38;5;81
|
|
||||||
# LISP
|
|
||||||
.cl 38;5;81
|
|
||||||
.lisp 38;5;81
|
|
||||||
# lua
|
|
||||||
.lua 38;5;81
|
|
||||||
# Moonscript
|
|
||||||
.moon 38;5;81
|
|
||||||
# C
|
|
||||||
.c 38;5;81
|
|
||||||
.C 38;5;81
|
|
||||||
.h 38;5;110
|
|
||||||
.H 38;5;110
|
|
||||||
.tcc 38;5;110
|
|
||||||
# C++
|
|
||||||
.c++ 38;5;81
|
|
||||||
.h++ 38;5;110
|
|
||||||
.hpp 38;5;110
|
|
||||||
.hxx 38;5;110
|
|
||||||
.ii 38;5;110
|
|
||||||
# method file for Objective C
|
|
||||||
.M 38;5;110
|
|
||||||
.m 38;5;110
|
|
||||||
# Csharp
|
|
||||||
.cc 38;5;81
|
|
||||||
.cs 38;5;81
|
|
||||||
.cp 38;5;81
|
|
||||||
.cpp 38;5;81
|
|
||||||
.cxx 38;5;81
|
|
||||||
# Crystal
|
|
||||||
.cr 38;5;81
|
|
||||||
# Google golang
|
|
||||||
.go 38;5;81
|
|
||||||
# fortran
|
|
||||||
.f 38;5;81
|
|
||||||
.F 38;5;81
|
|
||||||
.for 38;5;81
|
|
||||||
.ftn 38;5;81
|
|
||||||
.f90 38;5;81
|
|
||||||
.F90 38;5;81
|
|
||||||
.f95 38;5;81
|
|
||||||
.F95 38;5;81
|
|
||||||
.f03 38;5;81
|
|
||||||
.F03 38;5;81
|
|
||||||
.f08 38;5;81
|
|
||||||
.F08 38;5;81
|
|
||||||
# Nim
|
|
||||||
.nim 38;5;81
|
|
||||||
.nimble 38;5;81
|
|
||||||
# pascal
|
|
||||||
.s 38;5;110
|
|
||||||
.S 38;5;110
|
|
||||||
# Rust
|
|
||||||
.rs 38;5;81
|
|
||||||
# Swift
|
|
||||||
.swift 38;5;219
|
|
||||||
# ?
|
|
||||||
.sx 38;5;81
|
|
||||||
# Vala
|
|
||||||
.vala 38;5;81
|
|
||||||
.vapi 38;5;81
|
|
||||||
# interface file in GHC - https://github.com/trapd00r/LS_COLORS/pull/9
|
|
||||||
.hi 38;5;110
|
|
||||||
# haskell
|
|
||||||
.hs 38;5;81
|
|
||||||
.lhs 38;5;81
|
|
||||||
# agda
|
|
||||||
.agda 38;5;81
|
|
||||||
.lagda 38;5;81
|
|
||||||
.lagda.tex 38;5;81
|
|
||||||
.lagda.rst 38;5;81
|
|
||||||
.lagda.md 38;5;81
|
|
||||||
.agdai 38;5;110
|
|
||||||
|
|
||||||
# binaries {{{2
|
|
||||||
# compiled apps for interpreted languages
|
|
||||||
.pyc 38;5;240
|
|
||||||
# }}}
|
|
||||||
# orchestration {{{2
|
|
||||||
.tf 38;5;168
|
|
||||||
.tfstate 38;5;168
|
|
||||||
.tfvars 38;5;168
|
|
||||||
# orchestration 2}}}
|
|
||||||
# html {{{2
|
|
||||||
.css 38;5;125;1
|
|
||||||
.less 38;5;125;1
|
|
||||||
.sass 38;5;125;1
|
|
||||||
.scss 38;5;125;1
|
|
||||||
.htm 38;5;125;1
|
|
||||||
.html 38;5;125;1
|
|
||||||
.jhtm 38;5;125;1
|
|
||||||
.mht 38;5;125;1
|
|
||||||
.eml 38;5;125;1
|
|
||||||
.mustache 38;5;125;1
|
|
||||||
.httt 38;5;125;1
|
|
||||||
# }}}
|
|
||||||
# java {{{2
|
|
||||||
.coffee 38;5;074;1
|
|
||||||
.java 38;5;074;1
|
|
||||||
.js 38;5;074;1
|
|
||||||
.mjs 38;5;074;1
|
|
||||||
.jsm 38;5;074;1
|
|
||||||
.jsm 38;5;074;1
|
|
||||||
.jsp 38;5;074;1
|
|
||||||
# }}}
|
|
||||||
# php {{{2
|
|
||||||
.php 38;5;81
|
|
||||||
# CakePHP view scripts and helpers
|
|
||||||
.ctp 38;5;81
|
|
||||||
# Twig template engine
|
|
||||||
.twig 38;5;81
|
|
||||||
# }}}
|
|
||||||
# vb/a {{{2
|
|
||||||
.vb 38;5;81
|
|
||||||
.vba 38;5;81
|
|
||||||
.vbs 38;5;81
|
|
||||||
# 2}}}
|
|
||||||
# Build stuff {{{2
|
|
||||||
*Dockerfile 38;5;155
|
|
||||||
.dockerignore 38;5;240
|
|
||||||
*Makefile 38;5;155
|
|
||||||
*MANIFEST 38;5;243
|
|
||||||
*pm_to_blib 38;5;240
|
|
||||||
# Functional Configuration
|
|
||||||
.nix 38;5;155
|
|
||||||
.dhall 38;5;178
|
|
||||||
# ruby rake
|
|
||||||
.rake 38;5;155
|
|
||||||
# automake
|
|
||||||
.am 38;5;242
|
|
||||||
.in 38;5;242
|
|
||||||
.hin 38;5;242
|
|
||||||
.scan 38;5;242
|
|
||||||
.m4 38;5;242
|
|
||||||
.old 38;5;242
|
|
||||||
.out 38;5;242
|
|
||||||
.SKIP 38;5;244
|
|
||||||
# }}}
|
|
||||||
# patch files {{{2
|
|
||||||
.diff 48;5;197;38;5;232
|
|
||||||
.patch 48;5;197;38;5;232;1
|
|
||||||
#}}}
|
|
||||||
# graphics {{{1
|
|
||||||
.bmp 38;5;97
|
|
||||||
.dicom 38;5;97
|
|
||||||
.tiff 38;5;97
|
|
||||||
.tif 38;5;97
|
|
||||||
.TIFF 38;5;97
|
|
||||||
.cdr 38;5;97
|
|
||||||
.flif 38;5;97
|
|
||||||
.gif 38;5;97
|
|
||||||
.ico 38;5;97
|
|
||||||
.jpeg 38;5;97
|
|
||||||
.JPG 38;5;97
|
|
||||||
.jpg 38;5;97
|
|
||||||
.nth 38;5;97
|
|
||||||
.png 38;5;97
|
|
||||||
.psd 38;5;97
|
|
||||||
.xpm 38;5;97
|
|
||||||
.webp 38;5;97
|
|
||||||
# }}}
|
|
||||||
# vector {{{1
|
|
||||||
.ai 38;5;99
|
|
||||||
.eps 38;5;99
|
|
||||||
.epsf 38;5;99
|
|
||||||
.drw 38;5;99
|
|
||||||
.ps 38;5;99
|
|
||||||
.svg 38;5;99
|
|
||||||
# }}}
|
|
||||||
# video {{{1
|
|
||||||
.avi 38;5;114
|
|
||||||
.divx 38;5;114
|
|
||||||
.IFO 38;5;114
|
|
||||||
.m2v 38;5;114
|
|
||||||
.m4v 38;5;114
|
|
||||||
.mkv 38;5;114
|
|
||||||
.MOV 38;5;114
|
|
||||||
.mov 38;5;114
|
|
||||||
.mp4 38;5;114
|
|
||||||
.mpeg 38;5;114
|
|
||||||
.mpg 38;5;114
|
|
||||||
.ogm 38;5;114
|
|
||||||
.rmvb 38;5;114
|
|
||||||
.sample 38;5;114
|
|
||||||
.wmv 38;5;114
|
|
||||||
# mobile/streaming {{{2
|
|
||||||
.3g2 38;5;115
|
|
||||||
.3gp 38;5;115
|
|
||||||
.gp3 38;5;115
|
|
||||||
.webm 38;5;115
|
|
||||||
.gp4 38;5;115
|
|
||||||
.asf 38;5;115
|
|
||||||
.flv 38;5;115
|
|
||||||
.ts 38;5;115
|
|
||||||
.ogv 38;5;115
|
|
||||||
.f4v 38;5;115
|
|
||||||
# }}}
|
|
||||||
# lossless {{{2
|
|
||||||
.VOB 38;5;115;1
|
|
||||||
.vob 38;5;115;1
|
|
||||||
# }}}
|
|
||||||
# audio {{{1
|
|
||||||
.3ga 38;5;137;1
|
|
||||||
.S3M 38;5;137;1
|
|
||||||
.aac 38;5;137;1
|
|
||||||
.au 38;5;137;1
|
|
||||||
.dat 38;5;137;1
|
|
||||||
.dts 38;5;137;1
|
|
||||||
.fcm 38;5;137;1
|
|
||||||
.m4a 38;5;137;1
|
|
||||||
.mid 38;5;137;1
|
|
||||||
.midi 38;5;137;1
|
|
||||||
.mod 38;5;137;1
|
|
||||||
.mp3 38;5;137;1
|
|
||||||
.mp4a 38;5;137;1
|
|
||||||
.oga 38;5;137;1
|
|
||||||
.ogg 38;5;137;1
|
|
||||||
.opus 38;5;137;1
|
|
||||||
.s3m 38;5;137;1
|
|
||||||
.sid 38;5;137;1
|
|
||||||
.wma 38;5;137;1
|
|
||||||
# lossless
|
|
||||||
.ape 38;5;136;1
|
|
||||||
.aiff 38;5;136;1
|
|
||||||
.cda 38;5;136;1
|
|
||||||
.flac 38;5;136;1
|
|
||||||
.alac 38;5;136;1
|
|
||||||
.midi 38;5;136;1
|
|
||||||
.pcm 38;5;136;1
|
|
||||||
.wav 38;5;136;1
|
|
||||||
.wv 38;5;136;1
|
|
||||||
.wvc 38;5;136;1
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
# fonts {{{1
|
|
||||||
.afm 38;5;66
|
|
||||||
.fon 38;5;66
|
|
||||||
.fnt 38;5;66
|
|
||||||
.pfb 38;5;66
|
|
||||||
.pfm 38;5;66
|
|
||||||
.ttf 38;5;66
|
|
||||||
.otf 38;5;66
|
|
||||||
# postscript fonts
|
|
||||||
.PFA 38;5;66
|
|
||||||
.pfa 38;5;66
|
|
||||||
# }}}
|
|
||||||
# archives {{{1
|
|
||||||
.7z 38;5;40
|
|
||||||
.a 38;5;40
|
|
||||||
.arj 38;5;40
|
|
||||||
.bz2 38;5;40
|
|
||||||
.cpio 38;5;40
|
|
||||||
.gz 38;5;40
|
|
||||||
.lrz 38;5;40
|
|
||||||
.lz 38;5;40
|
|
||||||
.lzma 38;5;40
|
|
||||||
.lzo 38;5;40
|
|
||||||
.rar 38;5;40
|
|
||||||
.s7z 38;5;40
|
|
||||||
.sz 38;5;40
|
|
||||||
.tar 38;5;40
|
|
||||||
.tgz 38;5;40
|
|
||||||
.xz 38;5;40
|
|
||||||
.z 38;5;40
|
|
||||||
.Z 38;5;40
|
|
||||||
.zip 38;5;40
|
|
||||||
.zipx 38;5;40
|
|
||||||
.zoo 38;5;40
|
|
||||||
.zpaq 38;5;40
|
|
||||||
.zz 38;5;40
|
|
||||||
# packaged apps {{{2
|
|
||||||
.apk 38;5;215
|
|
||||||
.deb 38;5;215
|
|
||||||
.rpm 38;5;215
|
|
||||||
.jad 38;5;215
|
|
||||||
.jar 38;5;215
|
|
||||||
.cab 38;5;215
|
|
||||||
.pak 38;5;215
|
|
||||||
.pk3 38;5;215
|
|
||||||
.vdf 38;5;215
|
|
||||||
.vpk 38;5;215
|
|
||||||
.bsp 38;5;215
|
|
||||||
.dmg 38;5;215
|
|
||||||
# }}}
|
|
||||||
# segments from 0 to three digits after first extension letter {{{2
|
|
||||||
.r[0-9]{0,2} 38;5;239
|
|
||||||
.zx[0-9]{0,2} 38;5;239
|
|
||||||
.z[0-9]{0,2} 38;5;239
|
|
||||||
# partial files
|
|
||||||
.part 38;5;239
|
|
||||||
# }}}
|
|
||||||
# partition images {{{2
|
|
||||||
.dmg 38;5;124
|
|
||||||
.iso 38;5;124
|
|
||||||
.bin 38;5;124
|
|
||||||
.nrg 38;5;124
|
|
||||||
.qcow 38;5;124
|
|
||||||
.sparseimage 38;5;124
|
|
||||||
.toast 38;5;124
|
|
||||||
.vcd 38;5;124
|
|
||||||
.vmdk 38;5;124
|
|
||||||
# }}}
|
|
||||||
# databases {{{2
|
|
||||||
.accdb 38;5;60
|
|
||||||
.accde 38;5;60
|
|
||||||
.accdr 38;5;60
|
|
||||||
.accdt 38;5;60
|
|
||||||
.db 38;5;60
|
|
||||||
.fmp12 38;5;60
|
|
||||||
.fp7 38;5;60
|
|
||||||
.localstorage 38;5;60
|
|
||||||
.mdb 38;5;60
|
|
||||||
.mde 38;5;60
|
|
||||||
.sqlite 38;5;60
|
|
||||||
.typelib 38;5;60
|
|
||||||
# NetCDF database
|
|
||||||
.nc 38;5;60
|
|
||||||
# }}}
|
|
||||||
# tempfiles {{{1
|
|
||||||
# undo files
|
|
||||||
.pacnew 38;5;33
|
|
||||||
.un~ 38;5;241
|
|
||||||
.orig 38;5;241
|
|
||||||
# backups
|
|
||||||
.BUP 38;5;241
|
|
||||||
.bak 38;5;241
|
|
||||||
.o 38;5;241 # *nix Object file (shared libraries, core dumps etc)
|
|
||||||
*core 38;5;241 # Linux user core dump file (from /proc/sys/kernel/core_pattern)
|
|
||||||
.rlib 38;5;241 # Static rust library
|
|
||||||
# temporary files
|
|
||||||
.swp 38;5;244
|
|
||||||
.swo 38;5;244
|
|
||||||
.tmp 38;5;244
|
|
||||||
.sassc 38;5;244
|
|
||||||
# state files
|
|
||||||
.pid 38;5;248
|
|
||||||
.state 38;5;248
|
|
||||||
*lockfile 38;5;248
|
|
||||||
*lock 38;5;248
|
|
||||||
# error logs
|
|
||||||
.err 38;5;160;1
|
|
||||||
.error 38;5;160;1
|
|
||||||
.stderr 38;5;160;1
|
|
||||||
# state dumps
|
|
||||||
.aria2 38;5;241
|
|
||||||
.dump 38;5;241
|
|
||||||
.stackdump 38;5;241
|
|
||||||
.zcompdump 38;5;241
|
|
||||||
.zwc 38;5;241
|
|
||||||
# tcpdump, network traffic capture
|
|
||||||
.pcap 38;5;29
|
|
||||||
.cap 38;5;29
|
|
||||||
.dmp 38;5;29
|
|
||||||
# macOS
|
|
||||||
.DS_Store 38;5;239
|
|
||||||
.localized 38;5;239
|
|
||||||
.CFUserTextEncoding 38;5;239
|
|
||||||
# }}}
|
|
||||||
# hosts {{{1
|
|
||||||
# /etc/hosts.{deny,allow}
|
|
||||||
.allow 38;5;112
|
|
||||||
.deny 38;5;196
|
|
||||||
# }}}
|
|
||||||
# systemd {{{1
|
|
||||||
# http://www.freedesktop.org/software/systemd/man/systemd.unit.html
|
|
||||||
.service 38;5;45
|
|
||||||
*@.service 38;5;45
|
|
||||||
.socket 38;5;45
|
|
||||||
.swap 38;5;45
|
|
||||||
.device 38;5;45
|
|
||||||
.mount 38;5;45
|
|
||||||
.automount 38;5;45
|
|
||||||
.target 38;5;45
|
|
||||||
.path 38;5;45
|
|
||||||
.timer 38;5;45
|
|
||||||
.snapshot 38;5;45
|
|
||||||
# }}}
|
|
||||||
# metadata {{{1
|
|
||||||
.application 38;5;116
|
|
||||||
.cue 38;5;116
|
|
||||||
.description 38;5;116
|
|
||||||
.directory 38;5;116
|
|
||||||
.m3u 38;5;116
|
|
||||||
.m3u8 38;5;116
|
|
||||||
.md5 38;5;116
|
|
||||||
.properties 38;5;116
|
|
||||||
.sfv 38;5;116
|
|
||||||
.srt 38;5;116
|
|
||||||
.sub 38;5;116
|
|
||||||
.theme 38;5;116
|
|
||||||
.torrent 38;5;116
|
|
||||||
.urlview 38;5;116
|
|
||||||
# }}}
|
|
||||||
# encrypted data {{{1
|
|
||||||
.sec 38;5;160;3;8
|
|
||||||
.pub 38;5;42;3
|
|
||||||
.priv 38;5;161;3
|
|
||||||
.key 38;5;162;3
|
|
||||||
.kbx 38;5;72;3
|
|
||||||
|
|
||||||
.asc 38;5;72;3;28
|
|
||||||
.bfe 38;5;72;3
|
|
||||||
.enc 38;5;72;3
|
|
||||||
.gpg 38;5;72;3
|
|
||||||
.signature 38;5;72;3
|
|
||||||
.sig 38;5;72;3
|
|
||||||
.p12 38;5;72;3
|
|
||||||
.pem 38;5;72;3
|
|
||||||
.pgp 38;5;72;3
|
|
||||||
.asc 38;5;72;3
|
|
||||||
.enc 38;5;72;3
|
|
||||||
.sig 38;5;72;3
|
|
||||||
.p7s 38;5;72;3
|
|
||||||
.ppk 38;5;72;3
|
|
||||||
*id_dsa 38;5;72;3
|
|
||||||
*id_rsa 38;5;72;3
|
|
||||||
*id_ecdsa 38;5;72;3
|
|
||||||
*id_ed25519 38;5;72;3
|
|
||||||
# 1}}}
|
|
||||||
# emulators {{{1
|
|
||||||
.32x 38;5;213
|
|
||||||
.cdi 38;5;213
|
|
||||||
.fm2 38;5;213
|
|
||||||
.rom 38;5;213
|
|
||||||
.sav 38;5;213
|
|
||||||
.st 38;5;213
|
|
||||||
# atari
|
|
||||||
.a00 38;5;213
|
|
||||||
.a52 38;5;213
|
|
||||||
.A64 38;5;213
|
|
||||||
.a64 38;5;213
|
|
||||||
.a78 38;5;213
|
|
||||||
.adf 38;5;213
|
|
||||||
.atr 38;5;213
|
|
||||||
# nintendo
|
|
||||||
.gb 38;5;213
|
|
||||||
.gba 38;5;213
|
|
||||||
.gbc 38;5;213
|
|
||||||
.gel 38;5;213
|
|
||||||
.gg 38;5;213
|
|
||||||
.ggl 38;5;213
|
|
||||||
.ipk 38;5;213 # Nintendo (DS Packed Images)
|
|
||||||
.j64 38;5;213
|
|
||||||
.nds 38;5;213
|
|
||||||
.nes 38;5;213
|
|
||||||
# Sega
|
|
||||||
.sms 38;5;213
|
|
||||||
# }}}
|
|
||||||
# unsorted {{{1
|
|
||||||
#
|
|
||||||
# Portable Object Translation for GNU Gettext
|
|
||||||
.pot 38;5;7
|
|
||||||
# CAD files for printed circuit boards
|
|
||||||
.pcb 38;5;7
|
|
||||||
# groff (rendering app for texinfo)
|
|
||||||
.mm 38;5;7
|
|
||||||
# perldoc
|
|
||||||
.pod 38;5;7
|
|
||||||
# GIMP files
|
|
||||||
.gbr 38;5;7
|
|
||||||
.scm 38;5;7
|
|
||||||
.xcf 38;5;7
|
|
||||||
# printer spool file
|
|
||||||
.spl 38;5;7
|
|
||||||
# RStudio project file
|
|
||||||
.Rproj 38;5;11
|
|
||||||
# Nokia Symbian OS files
|
|
||||||
.sis 38;5;7
|
|
||||||
|
|
||||||
.1p 38;5;7
|
|
||||||
.3p 38;5;7
|
|
||||||
.cnc 38;5;7
|
|
||||||
.def 38;5;7
|
|
||||||
.ex 38;5;7
|
|
||||||
.example 38;5;7
|
|
||||||
.feature 38;5;7
|
|
||||||
.ger 38;5;7
|
|
||||||
.map 38;5;7
|
|
||||||
.mf 38;5;7
|
|
||||||
.mfasl 38;5;7
|
|
||||||
.mi 38;5;7
|
|
||||||
.mtx 38;5;7
|
|
||||||
.pc 38;5;7
|
|
||||||
.pi 38;5;7
|
|
||||||
.plt 38;5;7
|
|
||||||
#.pm 38;5;7
|
|
||||||
.rdf 38;5;7
|
|
||||||
.ru 38;5;7
|
|
||||||
.sch 38;5;7
|
|
||||||
.sty 38;5;7
|
|
||||||
.sug 38;5;7
|
|
||||||
.t 38;5;7
|
|
||||||
.tdy 38;5;7
|
|
||||||
.tfm 38;5;7
|
|
||||||
.tfnt 38;5;7
|
|
||||||
.tg 38;5;7
|
|
||||||
.vcard 38;5;7
|
|
||||||
.vcf 38;5;7
|
|
||||||
.xln 38;5;7
|
|
||||||
# AppCode files
|
|
||||||
.iml 38;5;166
|
|
||||||
# Xcode files
|
|
||||||
.xcconfig 1
|
|
||||||
.entitlements 1
|
|
||||||
.strings 1
|
|
||||||
.storyboard 38;5;196
|
|
||||||
.xcsettings 1
|
|
||||||
.xib 38;5;208
|
|
||||||
# }}}
|
|
||||||
# termcap {{{1
|
|
||||||
TERM ansi
|
|
||||||
TERM color-xterm
|
|
||||||
TERM con132x25
|
|
||||||
TERM con132x30
|
|
||||||
TERM con132x43
|
|
||||||
TERM con132x60
|
|
||||||
TERM con80x25
|
|
||||||
TERM con80x28
|
|
||||||
TERM con80x30
|
|
||||||
TERM con80x43
|
|
||||||
TERM con80x50
|
|
||||||
TERM con80x60
|
|
||||||
TERM cons25
|
|
||||||
TERM console
|
|
||||||
TERM cygwin
|
|
||||||
TERM dtterm
|
|
||||||
TERM Eterm
|
|
||||||
TERM eterm-color
|
|
||||||
TERM gnome
|
|
||||||
TERM gnome-256color
|
|
||||||
TERM jfbterm
|
|
||||||
TERM konsole
|
|
||||||
TERM kterm
|
|
||||||
TERM linux
|
|
||||||
TERM linux-c
|
|
||||||
TERM mach-color
|
|
||||||
TERM mlterm
|
|
||||||
TERM putty
|
|
||||||
TERM rxvt
|
|
||||||
TERM rxvt-256color
|
|
||||||
TERM rxvt-cygwin
|
|
||||||
TERM rxvt-cygwin-native
|
|
||||||
TERM rxvt-unicode
|
|
||||||
TERM rxvt-unicode-256color
|
|
||||||
TERM rxvt-unicode256
|
|
||||||
TERM screen
|
|
||||||
TERM screen-256color
|
|
||||||
TERM screen-256color-bce
|
|
||||||
TERM screen-bce
|
|
||||||
TERM screen-w
|
|
||||||
TERM screen.linux
|
|
||||||
TERM screen.rxvt
|
|
||||||
TERM terminator
|
|
||||||
TERM vt100
|
|
||||||
TERM xterm
|
|
||||||
TERM xterm-16color
|
|
||||||
TERM xterm-256color
|
|
||||||
TERM xterm-88color
|
|
||||||
TERM xterm-color
|
|
||||||
TERM xterm-debian
|
|
||||||
TERM xterm-kitty
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
|
|
||||||
# vim: ft=dircolors:fdm=marker:et:sw=2:
|
|
||||||
@@ -15,8 +15,7 @@ export QT_STYLE_OVERRIDE=kvantum
|
|||||||
export QT_AUTO_SCREEN_SCALE_FACTOR=1
|
export QT_AUTO_SCREEN_SCALE_FACTOR=1
|
||||||
|
|
||||||
export DOTFILES="$HOME/.dotfiles"
|
export DOTFILES="$HOME/.dotfiles"
|
||||||
export EDITOR="emacs -nw"
|
export EDITOR=nano
|
||||||
export VISUAL="emacs"
|
|
||||||
|
|
||||||
# SSH socket
|
# SSH socket
|
||||||
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gcr/ssh"
|
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gcr/ssh"
|
||||||
@@ -49,4 +48,11 @@ appendpath() {
|
|||||||
|
|
||||||
appendpath "$HOME/.local/bin"
|
appendpath "$HOME/.local/bin"
|
||||||
appendpath "$GOBIN"
|
appendpath "$GOBIN"
|
||||||
|
appendpath "$HOME/.cargo/bin"
|
||||||
|
appendpath "/home/linuxbrew/.linuxbrew/bin"
|
||||||
|
appendpath "$HOME/.config/emacs/bin"
|
||||||
unset appendpath
|
unset appendpath
|
||||||
|
|
||||||
|
source "$HOME/.profile.d/homebrew.sh"
|
||||||
|
source "$HOME/.profile.d/mise.sh"
|
||||||
|
source "$HOME/.profile.d/java.sh"
|
||||||
|
|||||||
5
bash/.profile.d/homebrew.sh
Executable file
5
bash/.profile.d/homebrew.sh
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if command -v brew > /dev/null 2>&1; then
|
||||||
|
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
||||||
|
fi
|
||||||
5
bash/.profile.d/tmux.sh
Executable file
5
bash/.profile.d/tmux.sh
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then
|
||||||
|
tmux attach-session -t default || tmux new-session -s default
|
||||||
|
fi
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
# for a list of all available themes
|
# for a list of all available themes
|
||||||
|
|
||||||
# Theme
|
# Theme
|
||||||
--theme="Coldark-Dark"
|
--theme="Catppuccin Mocha"
|
||||||
|
|
||||||
# Style
|
# Style
|
||||||
--style="header,changes,numbers"
|
--style="header,changes,numbers"
|
||||||
|
|||||||
7
emacs/.emacs.d/.gitignore
vendored
7
emacs/.emacs.d/.gitignore
vendored
@@ -14,12 +14,6 @@ tramp
|
|||||||
eln-cache
|
eln-cache
|
||||||
projects
|
projects
|
||||||
transient/
|
transient/
|
||||||
.dap-breakpoints
|
|
||||||
.lsp-session-v1
|
|
||||||
/.extension/**
|
|
||||||
url/**
|
|
||||||
**/*.bak
|
|
||||||
**/recentf
|
|
||||||
|
|
||||||
# Org-mode
|
# Org-mode
|
||||||
.org-id-locations
|
.org-id-locations
|
||||||
@@ -53,7 +47,6 @@ flycheck_*.el
|
|||||||
|
|
||||||
# projectiles files
|
# projectiles files
|
||||||
.projectile
|
.projectile
|
||||||
/projectile-bookmarks.eld
|
|
||||||
|
|
||||||
# directory configuration
|
# directory configuration
|
||||||
.dir-locals.el
|
.dir-locals.el
|
||||||
|
|||||||
1
emacs/.emacs.d/.lsp-session-v1
Normal file
1
emacs/.emacs.d/.lsp-session-v1
Normal file
@@ -0,0 +1 @@
|
|||||||
|
#s(lsp-session ("/var/home/fscotto/Projects/toyforth") nil #s(hash-table test equal) #s(hash-table test equal) #s(hash-table test equal))
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
;;=====================================================================================
|
|
||||||
;; Define loader functions
|
|
||||||
;;=====================================================================================
|
|
||||||
(defconst fscotto/modules-dir
|
|
||||||
(expand-file-name "lisp" user-emacs-directory))
|
|
||||||
|
|
||||||
(defun fscotto/load-module (module)
|
|
||||||
"Load a MODULE from symbol."
|
|
||||||
(let* ((module-name (symbol-name module))
|
|
||||||
(path (expand-file-name
|
|
||||||
(concat (replace-regexp-in-string "/" "/" module-name)
|
|
||||||
".el")
|
|
||||||
fscotto/modules-dir)))
|
|
||||||
(unless (file-exists-p path)
|
|
||||||
(error "Module not found: %s" path))
|
|
||||||
(load path nil 'nomessage)))
|
|
||||||
|
|
||||||
(defun fscotto/load-modules (&rest modules)
|
|
||||||
"Load MODULES."
|
|
||||||
(mapc #'fscotto/load-module modules))
|
|
||||||
|
|
||||||
(defvar fscotto/emacs-profile
|
|
||||||
(or (getenv "EMACS_PROFILE") "full"))
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
#+TITLE: RSS Urls
|
|
||||||
#+AUTHOR: Fabio Scotto di Santolo
|
|
||||||
#+DATE: <2025-10-25 Sat>
|
|
||||||
|
|
||||||
* root :elfeed:
|
|
||||||
** Programming :programming:
|
|
||||||
*** [[https://feeds.feedburner.com/TheHackersNews][Hacker News]] :news: :security:
|
|
||||||
** FOSS News :news:
|
|
||||||
*** [[https://blog.linuxmint.com/?feed=rss2][Linux Mint Blog]] :blog: :linux: :linuxmint:
|
|
||||||
** Youtube :youtube:
|
|
||||||
*** [[https://www.youtube.com/feeds/videos.xml?channel_id=UCVls1GmFKf6WlTraIb_IaJg][DistroTube]] :emacs: :foss: :linux:
|
|
||||||
*** [[https://www.youtube.com/feeds/videos.xml?channel_id=UCABhVAlCkcEG9a2UVruq9vw][Douglas Mortimer]] :fashion:
|
|
||||||
*** [[https://www.youtube.com/feeds/videos.xml?channel_id=UCqZe2cxQNCvgkQxUuqsIaig][Esadecimale]] :emacs: :programming:
|
|
||||||
*** [[https://www.youtube.com/feeds/videos.xml?channel_id=UCnDDucQDLncrauOCmanCIgw][MorroLinux]] :linux: :foss:
|
|
||||||
*** [[https://www.youtube.com/feeds/videos.xml?channel_id=UCDDG9vOcmgwlslJJpCWjqOg][Salvatore Sanfilippo]] :programming:
|
|
||||||
*** [[https://www.youtube.com/feeds/videos.xml?channel_id=UCrqM0Ym_NbK1fqeQG2VIohg][Tsoding Daily]] :emacs: :programming:
|
|
||||||
@@ -1,48 +1,290 @@
|
|||||||
|
;; Initial greeting for debugging
|
||||||
(message "Welcome to Emacs")
|
(message "Welcome to Emacs")
|
||||||
(message "Loading user configuration...")
|
(message "Loading user configuration...")
|
||||||
(message "Emacs profile: %s" fscotto/emacs-profile)
|
|
||||||
|
|
||||||
;;=====================================================================================
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; Load modules
|
;; LOOK AND FEEL ;;
|
||||||
;;=====================================================================================
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
(fscotto/load-modules
|
|
||||||
;; Core
|
|
||||||
'core/packages
|
|
||||||
'core/ui
|
|
||||||
'core/performance
|
|
||||||
'core/editor
|
|
||||||
'core/keybindings
|
|
||||||
'core/buffer
|
|
||||||
|
|
||||||
;; Tools
|
;; Load default theme
|
||||||
'tools/completion
|
(load-theme 'wombat)
|
||||||
'tools/project
|
|
||||||
'tools/lsp
|
|
||||||
'tools/dap
|
|
||||||
;; 'tools/treesitter
|
|
||||||
|
|
||||||
;; Languages
|
;; Setting default font
|
||||||
'lang/c
|
(set-frame-font "Iosevka Nerd Font 14" nil t)
|
||||||
'lang/docker
|
|
||||||
'lang/golang
|
|
||||||
'lang/json
|
|
||||||
'lang/markdown
|
|
||||||
'lang/org
|
|
||||||
'lang/shell
|
|
||||||
'lang/yaml
|
|
||||||
|
|
||||||
;; Misc
|
;; Remove toolbar
|
||||||
'misc/dashboard
|
(tool-bar-mode -1)
|
||||||
'misc/custom-functions
|
|
||||||
'misc/doom-modeline
|
;; Remove menu
|
||||||
'misc/which-key
|
(menu-bar-mode -1)
|
||||||
'misc/email
|
|
||||||
'misc/rss
|
;; Disable startup screen
|
||||||
'misc/terminal
|
(setq inhibit-startup-screen t)
|
||||||
'misc/vcs
|
|
||||||
;; FIXME PDF viewer with annotations
|
;; Disable splash screen
|
||||||
;; 'misc/pdf
|
(setq inhibit-splash-screen t)
|
||||||
'misc/epub
|
|
||||||
'misc/i3-config)
|
;; Start all frames maximized
|
||||||
|
(add-to-list 'default-frame-alist '(fullscreen . maximized))
|
||||||
|
|
||||||
|
;; Remove scrollbar
|
||||||
|
(scroll-bar-mode -1)
|
||||||
|
|
||||||
|
;; Simple 'y' for 'yes' and 'n' for 'no'
|
||||||
|
(defalias 'yes-or-no-p 'y-or-n-p)
|
||||||
|
|
||||||
|
;; Set global value for paragraph witdh
|
||||||
|
(setq-default fill-column 120)
|
||||||
|
|
||||||
|
;; Stop Emacs from losing informations
|
||||||
|
(setq undo-limit 2000000)
|
||||||
|
(setq undo-strong-limit 4000000000)
|
||||||
|
|
||||||
|
;; Smooth scroll
|
||||||
|
(setq scroll-step 3)
|
||||||
|
(setq ring-bell-function 'ignore)
|
||||||
|
|
||||||
|
;; Add column number in the status line
|
||||||
|
(column-number-mode)
|
||||||
|
|
||||||
|
;; View clock in the status line
|
||||||
|
(display-time)
|
||||||
|
|
||||||
|
;; Enable line numbers in the programming mode only
|
||||||
|
(add-hook 'prog-mode-hook 'display-line-numbers-mode)
|
||||||
|
|
||||||
|
;; Enable line numbers in the configuration mode only
|
||||||
|
(add-hook 'conf-mode-hook 'display-line-numbers-mode)
|
||||||
|
|
||||||
|
;; Setting default directory for Org files
|
||||||
|
(setq org-directory "~/Remotes/pCloud/Org")
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; EDITOR OPTIONS ;;
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
(setq standard-indent 4)
|
||||||
|
(setq tab-stop-list nil)
|
||||||
|
(setq indent-tabs-mode nil)
|
||||||
|
|
||||||
|
;; Setting variables
|
||||||
|
(setq vc-follow-symlinks 't)
|
||||||
|
(prefer-coding-system 'utf-8-unix)
|
||||||
|
(setq custom-file (null-device))
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; PACKAGES ;;
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
;; Initialize package system via use-package
|
||||||
|
(package-initialize)
|
||||||
|
(require 'use-package)
|
||||||
|
|
||||||
|
(use-package package
|
||||||
|
:config
|
||||||
|
;; Setting repo priorities
|
||||||
|
(setq package-archive-priorities
|
||||||
|
'(("melpa-stable" . 2)
|
||||||
|
("MELPA" . 1)
|
||||||
|
("gnu" . 0)))
|
||||||
|
;; Setting repo URL
|
||||||
|
(setq package-archives
|
||||||
|
'(("melpa-stable" . "https://stable.melpa.org/packages/")
|
||||||
|
("MELPA" . "https://melpa.org/packages/")
|
||||||
|
("gnu" . "https://elpa.gnu.org/packages/"))))
|
||||||
|
|
||||||
|
;; (use-package catppuccin-theme
|
||||||
|
;; :ensure t
|
||||||
|
;; :config
|
||||||
|
;; (load-theme 'catppuccin :no-confirm)
|
||||||
|
;; (setq catppuccin-flavor 'mocha))
|
||||||
|
|
||||||
|
;; Status line like Doom Emacs
|
||||||
|
(use-package doom-modeline
|
||||||
|
:ensure t
|
||||||
|
:init (doom-modeline-mode 1))
|
||||||
|
|
||||||
|
;; Help to remember or discover keybindings
|
||||||
|
(use-package which-key
|
||||||
|
:ensure t
|
||||||
|
:commands (which-key-mode)
|
||||||
|
:init (which-key-mode))
|
||||||
|
|
||||||
|
;; Configuration for mu4e, an interface for mu email index, running inside Emacs
|
||||||
|
;; (use-package mu4e
|
||||||
|
;; :ensure nil
|
||||||
|
;; ;; :load-path "/usr/share/emacs/site-lisp/mu4e/"
|
||||||
|
;; :defer 20 ; Wait until 20 seconds after startup
|
||||||
|
;; :bind (:map global-map ("C-c e" . mu4e))
|
||||||
|
;; :config
|
||||||
|
|
||||||
|
;; ;; This is set to 't' to avoid mail syncing issues when using mbsync
|
||||||
|
;; (setq mu4e-change-filenames-when-moving t)
|
||||||
|
|
||||||
|
;; ;; Refresh mail using isync every 10 minutes
|
||||||
|
;; (setq mu4e-update-interval (* 10 60))
|
||||||
|
;; (setq mu4e-get-mail-command "~/.emacs.d/scripts/email_sync.sh")
|
||||||
|
;; (setq mu4e-maildir "~/Maildir")
|
||||||
|
|
||||||
|
;; ;; Configure email accounts
|
||||||
|
;; (setq mu4e-contexts
|
||||||
|
;; (list
|
||||||
|
;; ;; Protonmail Account
|
||||||
|
;; (make-mu4e-context
|
||||||
|
;; :name "Protonmail"
|
||||||
|
;; :match-func
|
||||||
|
;; (lambda (msg)
|
||||||
|
;; (when msg
|
||||||
|
;; (string-prefix-p "/ProtonMailAccount" (mu4e-message-field msg :maildir))))
|
||||||
|
;; :vars '((user-mail-address . "fscottodisantolo@protonmail.com")
|
||||||
|
;; (user-full-name . "Fabio Scotto di Santolo")
|
||||||
|
;; (mu4e-drafts-folder . "/ProtonMailAccount/Drafts")
|
||||||
|
;; (mu4e-sent-folder . "/ProtonMailAccount/Sent")
|
||||||
|
;; (mu4e-refile-folder . "/ProtonMailAccount/All Mail")
|
||||||
|
;; (mu4e-trash-folder . "/ProtonMailAccount/Trash")))
|
||||||
|
|
||||||
|
;; ;; iCloud Account
|
||||||
|
;; (make-mu4e-context
|
||||||
|
;; :name "iCloud Mail"
|
||||||
|
;; :match-func
|
||||||
|
;; (lambda (msg)
|
||||||
|
;; (when msg
|
||||||
|
;; (string-prefix-p "/iCloudAccount" (mu4e-message-field msg :maildir))))
|
||||||
|
;; :vars '((user-mail-address . "fscottodisantolo@icloud.com")
|
||||||
|
;; (user-full-name . "Fabio Scotto di Santolo")
|
||||||
|
;; (mu4e-drafts-folder . "/iCloudAccount/Drafts")
|
||||||
|
;; (mu4e-sent-folder . "/iCloudAccount/Sent Messages")
|
||||||
|
;; (mu4e-refile-folder . "/iCloudAccount/INBOX")
|
||||||
|
;; (mu4e-trash-folder . "/iCloudAccount/Junk")))))
|
||||||
|
|
||||||
|
;; (setq sendmail-program "/usr/bin/msmtp"
|
||||||
|
;; send-mail-function 'sendmail-send-it
|
||||||
|
;; message-sendmail-f-is-evil t
|
||||||
|
;; message-sendmail-extra-arguments '("--read-envelope-from")
|
||||||
|
;; message-send-mail-function 'message-send-mail-with-sendmail))
|
||||||
|
|
||||||
|
;; Configure elfeed for RSS feed
|
||||||
|
(use-package elfeed
|
||||||
|
:ensure t
|
||||||
|
:custom
|
||||||
|
(elfeed-db-directory "~/.cache/elfeed")
|
||||||
|
(elfeed-enclosure-default-dir "~/Downloads/")
|
||||||
|
(elfeed-search-remain-on-entry t)
|
||||||
|
(elfeed-search-title-max-width 100)
|
||||||
|
(elfeed-search-title-min-width 30)
|
||||||
|
(elfeed-search-trailing-width 25)
|
||||||
|
(elfeed-show-truncate-long-urls t)
|
||||||
|
(elfeed-sort-order 'descending)
|
||||||
|
(elfeed-search-filter "+unread")
|
||||||
|
(elfeed-feeds
|
||||||
|
'(("https://blog.linuxmint.com/?feed=rss2" linux linuxmint)
|
||||||
|
("https://feeds.feedburner.com/TheHackersNews" hackernews news security programming)))
|
||||||
|
:bind (("C-c f" . elfeed)))
|
||||||
|
|
||||||
|
(use-package elfeed-org
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
;; Terminal
|
||||||
|
(use-package vterm
|
||||||
|
:ensure t
|
||||||
|
:bind (:map global-map
|
||||||
|
("C-c o T" . vterm)
|
||||||
|
("C-c C-t" . vterm-copy-mode)))
|
||||||
|
|
||||||
|
;; FIXME PDF viewer with annotations
|
||||||
|
;; (use-package pdf-tools
|
||||||
|
;; :ensure t
|
||||||
|
;; :config
|
||||||
|
;; (pdf-tools-install))
|
||||||
|
|
||||||
|
;; EPub viewer
|
||||||
|
(use-package nov
|
||||||
|
:ensure t
|
||||||
|
:mode ("\\.epub\\'" . nov-mode))
|
||||||
|
|
||||||
|
(use-package visual-fill-column
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
;; Git plugin
|
||||||
|
(use-package magit
|
||||||
|
:ensure t
|
||||||
|
:bind (:map global-map ("C-c v g" . magit-status)))
|
||||||
|
|
||||||
|
;; Highlight keywords to remember the activity when coding.
|
||||||
|
(use-package hl-todo
|
||||||
|
:ensure t
|
||||||
|
:commands (global-hl-todo-mode)
|
||||||
|
:init (global-hl-todo-mode))
|
||||||
|
|
||||||
|
(setq hl-todo-keyword-faces
|
||||||
|
'(("TODO" . "#94e2d5")
|
||||||
|
("FIXME" . "#f38ba8")
|
||||||
|
("DEBUG" . "#cba6f7")
|
||||||
|
("GOTCHA" . "#eba0ac")
|
||||||
|
("STUB" . "#89b4fa")))
|
||||||
|
|
||||||
|
(keymap-set hl-todo-mode-map "C-t p" #'hl-todo-previous)
|
||||||
|
(keymap-set hl-todo-mode-map "C-t n" #'hl-todo-next)
|
||||||
|
(keymap-set hl-todo-mode-map "C-t o" #'hl-todo-occur)
|
||||||
|
(keymap-set hl-todo-mode-map "C-t i" #'hl-todo-insert)
|
||||||
|
|
||||||
|
;; Highlight for i3 config file
|
||||||
|
(use-package i3wm-config-mode
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
(use-package ivy
|
||||||
|
:ensure t
|
||||||
|
:config
|
||||||
|
(ivy-mode 1))
|
||||||
|
|
||||||
|
(use-package ibuffer
|
||||||
|
:ensure t
|
||||||
|
:bind (:map global-map ("C-x C-b" . ibuffer)))
|
||||||
|
|
||||||
|
(use-package ibuffer-tramp
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
(use-package ibuffer-vc
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
(use-package ibuffer-projectile
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
(add-hook 'ibuffer-mode-hook
|
||||||
|
(lambda ()
|
||||||
|
(ibuffer-projectile-set-filter-groups)))
|
||||||
|
|
||||||
|
;; TODO adding lsp-mode, dap-mode, autocomplete and project handling for C, Go, Bash and Python
|
||||||
|
|
||||||
|
;; Add autocomplete feature to Emacs
|
||||||
|
(use-package company
|
||||||
|
:ensure t
|
||||||
|
:commands (global-company-mode)
|
||||||
|
:init (global-company-mode)
|
||||||
|
:custom
|
||||||
|
(company-tooltip-align-annotations 't)
|
||||||
|
(company-minimum-prefix-length 1)
|
||||||
|
(company-idle-delay 0.1))
|
||||||
|
|
||||||
|
(use-package flycheck
|
||||||
|
:ensure t
|
||||||
|
:config
|
||||||
|
(add-hook 'after-init-hook #'global-flycheck-mode))
|
||||||
|
|
||||||
|
(use-package lsp-mode
|
||||||
|
:ensure t
|
||||||
|
:init
|
||||||
|
;; set prefix for lsp-command-keymap (few alternatives - "C-l", "C-c l")
|
||||||
|
(setq lsp-keymap-prefix "C-c l")
|
||||||
|
:hook ((c-mode . lsp))
|
||||||
|
:commands lsp)
|
||||||
|
|
||||||
|
(use-package lsp-ui
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
(use-package lsp-ivy
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
(use-package dap-mode
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
(message "...user configuration loaded")
|
(message "...user configuration loaded")
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
;;; buffer.el -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
(use-package ibuffer
|
|
||||||
:ensure t)
|
|
||||||
|
|
||||||
(use-package ibuffer-tramp
|
|
||||||
:ensure t)
|
|
||||||
|
|
||||||
(use-package ibuffer-vc
|
|
||||||
:ensure t)
|
|
||||||
|
|
||||||
(use-package ibuffer-projectile
|
|
||||||
:ensure t)
|
|
||||||
|
|
||||||
(add-hook 'ibuffer-mode-hook
|
|
||||||
(lambda ()
|
|
||||||
(ibuffer-projectile-set-filter-groups)))
|
|
||||||
|
|
||||||
(provide 'buffer)
|
|
||||||
|
|
||||||
;;; buffer.el ends here
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
;;; core-editor
|
|
||||||
|
|
||||||
(setq standard-indent 4)
|
|
||||||
(setq tab-stop-list nil)
|
|
||||||
(setq indent-tabs-mode nil)
|
|
||||||
|
|
||||||
;; Setting variables
|
|
||||||
(setq vc-follow-symlinks 't)
|
|
||||||
(prefer-coding-system 'utf-8-unix)
|
|
||||||
(setq custom-file (null-device))
|
|
||||||
|
|
||||||
(provide 'editor)
|
|
||||||
|
|
||||||
;;; editor.el ends here
|
|
||||||
@@ -1,161 +0,0 @@
|
|||||||
;;; keybindings.el -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
;;;; Global / Core
|
|
||||||
|
|
||||||
(global-set-key (kbd "C-x C-b") #'ibuffer)
|
|
||||||
(global-set-key (kbd "C-<return>") 'company-complete)
|
|
||||||
|
|
||||||
(defvar fscotto/leader-map (make-sparse-keymap)
|
|
||||||
"Keymap per comandi sotto C-c.")
|
|
||||||
|
|
||||||
(define-key global-map (kbd "C-c") fscotto/leader-map)
|
|
||||||
|
|
||||||
;;;; Git / Magit
|
|
||||||
(defun fscotto/enable-magit-keymap ()
|
|
||||||
"Enable Git keybindings if current buffer is inside a Git repository."
|
|
||||||
(when (and (require 'magit nil 'noerror)
|
|
||||||
(magit-toplevel))
|
|
||||||
(local-set-key (kbd "C-c g") fscotto/git-map)))
|
|
||||||
|
|
||||||
(defvar fscotto/git-map (make-sparse-keymap)
|
|
||||||
"Keymap for Git commands under C-c g.")
|
|
||||||
|
|
||||||
(add-hook 'find-file-hook #'fscotto/enable-magit-keymap)
|
|
||||||
(add-hook 'prog-mode-hook #'fscotto/enable-magit-keymap)
|
|
||||||
(add-hook 'conf-mode-hook #'fscotto/enable-magit-keymap)
|
|
||||||
|
|
||||||
;; autoload: il tasto carica magit
|
|
||||||
(autoload 'magit-status "magit" nil t)
|
|
||||||
(autoload 'magit-branch "magit" nil t)
|
|
||||||
(autoload 'magit-commit "magit" nil t)
|
|
||||||
(autoload 'magit-push "magit" nil t)
|
|
||||||
(autoload 'magit-fetch "magit" nil t)
|
|
||||||
|
|
||||||
;; keybinding (sempre definite nella mappa)
|
|
||||||
(define-key fscotto/git-map (kbd "s") #'magit-status)
|
|
||||||
(define-key fscotto/git-map (kbd "b") #'magit-branch)
|
|
||||||
(define-key fscotto/git-map (kbd "c") #'magit-commit)
|
|
||||||
(define-key fscotto/git-map (kbd "p") #'magit-push)
|
|
||||||
(define-key fscotto/git-map (kbd "f") #'magit-fetch)
|
|
||||||
|
|
||||||
;;;; Open / Tools
|
|
||||||
(defvar fscotto/open (make-sparse-keymap))
|
|
||||||
(define-key fscotto/leader-map (kbd "o") fscotto/open)
|
|
||||||
|
|
||||||
;; -------- vterm --------
|
|
||||||
(autoload 'vterm "vterm" nil t)
|
|
||||||
(define-key fscotto/open (kbd "T") #'vterm)
|
|
||||||
|
|
||||||
(with-eval-after-load 'vterm
|
|
||||||
(define-key vterm-mode-map (kbd "C-c C-t") #'vterm-copy-mode))
|
|
||||||
|
|
||||||
;; -------- mu4e --------
|
|
||||||
(autoload 'mu4e "mu4e" nil t)
|
|
||||||
(define-key fscotto/open (kbd "m") #'mu4e)
|
|
||||||
|
|
||||||
;; -------- elfeed --------
|
|
||||||
(autoload 'elfeed "elfeed" nil t)
|
|
||||||
(define-key fscotto/open (kbd "f") #'elfeed)
|
|
||||||
|
|
||||||
;;;; Elfeed mode maps
|
|
||||||
(with-eval-after-load 'elfeed
|
|
||||||
(define-key elfeed-search-mode-map (kbd "w") #'elfeed-search-yank)
|
|
||||||
(define-key elfeed-search-mode-map (kbd "R") #'elfeed-update)
|
|
||||||
(define-key elfeed-search-mode-map (kbd "q") #'elfeed-kill-buffer)
|
|
||||||
|
|
||||||
(define-key elfeed-show-mode-map (kbd "S") #'elfeed-show-new-live-search)
|
|
||||||
(define-key elfeed-show-mode-map (kbd "f") #'elfeed-show-fetch-full-text)
|
|
||||||
(define-key elfeed-show-mode-map (kbd "w") #'elfeed-show-yank))
|
|
||||||
|
|
||||||
;;;; hl-todo
|
|
||||||
(with-eval-after-load 'hl-todo
|
|
||||||
(define-key hl-todo-mode-map (kbd "C-t p") #'hl-todo-previous)
|
|
||||||
(define-key hl-todo-mode-map (kbd "C-t n") #'hl-todo-next)
|
|
||||||
(define-key hl-todo-mode-map (kbd "C-t o") #'hl-todo-occur)
|
|
||||||
(define-key hl-todo-mode-map (kbd "C-t i") #'hl-todo-insert))
|
|
||||||
|
|
||||||
;; Projectile keybindings
|
|
||||||
(define-key fscotto/leader-map (kbd "p") 'projectile-command-map)
|
|
||||||
|
|
||||||
(with-eval-after-load 'projectile
|
|
||||||
(define-key projectile-command-map (kbd "v") #'fscotto/project-vterm)
|
|
||||||
(define-key projectile-command-map (kbd "g") #'fscotto/project-magit-status))
|
|
||||||
|
|
||||||
;;;; LSP
|
|
||||||
(defvar fscotto/lsp-map (make-sparse-keymap))
|
|
||||||
|
|
||||||
(autoload 'lsp-find-definition "lsp-mode" nil t)
|
|
||||||
(autoload 'lsp-find-type-definition "lsp-mode" nil t)
|
|
||||||
(autoload 'lsp-find-implementation "lsp-mode" nil t)
|
|
||||||
(autoload 'lsp-execute-code-action "lsp-mode" nil t)
|
|
||||||
(autoload 'lsp-rename "lsp-mode" nil t)
|
|
||||||
(autoload 'lsp-format-buffer "lsp-mode" nil t)
|
|
||||||
(autoload 'lsp-restart-workspace "lsp-mode" nil t)
|
|
||||||
|
|
||||||
(autoload 'consult-lsp-symbols "consult-lsp" nil t)
|
|
||||||
(autoload 'consult-lsp-diagnostics "consult-lsp" nil t)
|
|
||||||
|
|
||||||
(define-key fscotto/lsp-map (kbd "s") #'consult-lsp-symbols)
|
|
||||||
(define-key fscotto/lsp-map (kbd "e") #'consult-lsp-diagnostics)
|
|
||||||
(define-key fscotto/lsp-map (kbd "d") #'lsp-find-definition)
|
|
||||||
(define-key fscotto/lsp-map (kbd "D") #'lsp-find-type-definition)
|
|
||||||
(define-key fscotto/lsp-map (kbd "i") #'lsp-find-implementation)
|
|
||||||
(define-key fscotto/lsp-map (kbd "a") #'lsp-execute-code-action)
|
|
||||||
(define-key fscotto/lsp-map (kbd "r") #'lsp-rename)
|
|
||||||
(define-key fscotto/lsp-map (kbd "f") #'lsp-format-buffer)
|
|
||||||
(define-key fscotto/lsp-map (kbd "R") #'lsp-restart-workspace)
|
|
||||||
|
|
||||||
(defun fscotto/enable-lsp-keymap ()
|
|
||||||
"Enable LSP keybindings if LSP is active in the current buffer."
|
|
||||||
(when (and (bound-and-true-p lsp-mode)
|
|
||||||
(lsp-workspaces))
|
|
||||||
(local-set-key (kbd "C-c l") fscotto/lsp-map)))
|
|
||||||
|
|
||||||
(add-hook 'lsp-mode-hook #'fscotto/enable-lsp-keymap)
|
|
||||||
(add-hook 'lsp-after-initialize-hook #'fscotto/enable-lsp-keymap)
|
|
||||||
(add-hook 'lsp-after-open-hook #'fscotto/enable-lsp-keymap)
|
|
||||||
|
|
||||||
;;;; DAP
|
|
||||||
(defvar fscotto/dap-map (make-sparse-keymap)
|
|
||||||
"Keymap for DAP commands under C-c d.")
|
|
||||||
|
|
||||||
(autoload 'dap-debug "dap-mode" nil t)
|
|
||||||
(autoload 'dap-breakpoint-toggle "dap-mode" nil t)
|
|
||||||
(autoload 'dap-continue "dap-mode" nil t)
|
|
||||||
(autoload 'dap-next "dap-mode" nil t)
|
|
||||||
(autoload 'dap-step-in "dap-mode" nil t)
|
|
||||||
(autoload 'dap-step-out "dap-mode" nil t)
|
|
||||||
(autoload 'dap-restart-frame "dap-mode" nil t)
|
|
||||||
(autoload 'dap-disconnect "dap-mode" nil t)
|
|
||||||
|
|
||||||
(define-key fscotto/dap-map (kbd "d") #'dap-debug)
|
|
||||||
(define-key fscotto/dap-map (kbd "b") #'dap-breakpoint-toggle)
|
|
||||||
(define-key fscotto/dap-map (kbd "c") #'dap-continue)
|
|
||||||
(define-key fscotto/dap-map (kbd "n") #'dap-next)
|
|
||||||
(define-key fscotto/dap-map (kbd "i") #'dap-step-in)
|
|
||||||
(define-key fscotto/dap-map (kbd "o") #'dap-step-out)
|
|
||||||
(define-key fscotto/dap-map (kbd "r") #'dap-restart-frame)
|
|
||||||
(define-key fscotto/dap-map (kbd "q") #'dap-disconnect)
|
|
||||||
|
|
||||||
(defun fscotto/enable-dap-keymap ()
|
|
||||||
"Enable DAP keybindings if dap-mode is active in the current buffer."
|
|
||||||
(when (bound-and-true-p dap-mode)
|
|
||||||
(local-set-key (kbd "C-c d") fscotto/dap-map)))
|
|
||||||
|
|
||||||
(add-hook 'dap-mode-hook #'fscotto/enable-dap-keymap)
|
|
||||||
(add-hook 'dap-session-created-hook #'fscotto/enable-dap-keymap)
|
|
||||||
(add-hook 'dap-terminated-hook #'fscotto/enable-dap-keymap)
|
|
||||||
|
|
||||||
;;;; Go
|
|
||||||
|
|
||||||
(with-eval-after-load 'go-ts-mode
|
|
||||||
(define-key go-ts-mode-map (kbd "C-c m t") #'fscotto/go-mod-tidy)
|
|
||||||
(define-key go-ts-mode-map (kbd "C-c m d") #'fscotto/go-mod-download)
|
|
||||||
(define-key go-ts-mode-map (kbd "C-c t p") #'fscotto/go-test-package)
|
|
||||||
(define-key go-ts-mode-map (kbd "C-c t a") #'fscotto/go-test-module)
|
|
||||||
(define-key go-ts-mode-map (kbd "C-c t t") #'fscotto/go-test-current-test)
|
|
||||||
(define-key go-ts-mode-map (kbd "C-c d t") #'dap-debug))
|
|
||||||
|
|
||||||
(provide 'core/keybindings)
|
|
||||||
|
|
||||||
;;; keybindings.el ends here
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
;; core-packages.el -*- lexical-binding: t; -*-
|
|
||||||
(require 'use-package)
|
|
||||||
|
|
||||||
(use-package package
|
|
||||||
:config
|
|
||||||
;; Setting repo priorities
|
|
||||||
(setq package-archive-priorities
|
|
||||||
'(("melpa-stable" . 2)
|
|
||||||
("MELPA" . 1)
|
|
||||||
("gnu" . 0)))
|
|
||||||
;; Setting repo URL
|
|
||||||
(setq package-archives
|
|
||||||
'(("melpa-stable" . "https://stable.melpa.org/packages/")
|
|
||||||
("MELPA" . "https://melpa.org/packages/")
|
|
||||||
("gnu" . "https://elpa.gnu.org/packages/"))))
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
;;; core-performance.el -*-
|
|
||||||
|
|
||||||
;; --- Startup speed tweaks ----------------------------------------------------
|
|
||||||
;; Temporarily increase GC threshold during init
|
|
||||||
(defvar fscotto/gc-cons-threshold-orig gc-cons-threshold)
|
|
||||||
(setq gc-cons-threshold (* 50 1000 1000)) ;; 50MB for init
|
|
||||||
|
|
||||||
;; Speedup file-name-handler during init
|
|
||||||
(defvar fscotto/file-name-handler-alist-orig file-name-handler-alist)
|
|
||||||
(setq file-name-handler-alist nil)
|
|
||||||
|
|
||||||
;; Restore after init
|
|
||||||
(add-hook 'emacs-startup-hook
|
|
||||||
(lambda ()
|
|
||||||
(setq gc-cons-threshold fscotto/gc-cons-threshold-orig)
|
|
||||||
(setq file-name-handler-alist fscotto/file-name-handler-alist-orig)
|
|
||||||
(garbage-collect)))
|
|
||||||
|
|
||||||
;; LSP responsiveness
|
|
||||||
(setq read-process-output-max (* 1024 1024)) ;; 1MB, utile per lsp-mode
|
|
||||||
(setq lsp-idle-delay 0.5) ;; meno ritardo prima che LSP aggiorni info
|
|
||||||
(setq inhibit-compacting-font-caches t)
|
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
;;; core-ui.el -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
;; Load default theme
|
|
||||||
(use-package sublime-themes
|
|
||||||
:ensure t)
|
|
||||||
|
|
||||||
(use-package soothe-theme
|
|
||||||
:ensure t)
|
|
||||||
|
|
||||||
(use-package nordic-night-theme
|
|
||||||
:ensure t)
|
|
||||||
|
|
||||||
(use-package timu-caribbean-theme
|
|
||||||
:ensure t)
|
|
||||||
|
|
||||||
(load-theme 'nordic-night t)
|
|
||||||
|
|
||||||
;; Setting default font
|
|
||||||
(set-frame-font "UbuntuSansMono Nerd Font 16" nil t)
|
|
||||||
|
|
||||||
;; Remove toolbar
|
|
||||||
(tool-bar-mode -1)
|
|
||||||
|
|
||||||
;; Remove menu
|
|
||||||
(menu-bar-mode -1)
|
|
||||||
|
|
||||||
;; Disable startup screen
|
|
||||||
(setq inhibit-startup-screen t)
|
|
||||||
|
|
||||||
;; Disable splash screen
|
|
||||||
(setq inhibit-splash-screen t)
|
|
||||||
|
|
||||||
;; Start all frames maximized
|
|
||||||
(add-to-list 'default-frame-alist '(fullscreen . maximized))
|
|
||||||
|
|
||||||
;; Remove scrollbar
|
|
||||||
(scroll-bar-mode -1)
|
|
||||||
|
|
||||||
;; Simple 'y' for 'yes' and 'n' for 'no'
|
|
||||||
(defalias 'yes-or-no-p 'y-or-n-p)
|
|
||||||
|
|
||||||
;; Set global value for paragraph witdh
|
|
||||||
(setq-default fill-column 120)
|
|
||||||
|
|
||||||
;; Stop Emacs from losing informations
|
|
||||||
(setq undo-limit 8000000)
|
|
||||||
(setq undo-strong-limit 12000000)
|
|
||||||
|
|
||||||
;; Smooth scroll
|
|
||||||
(setq scroll-step 3)
|
|
||||||
(setq ring-bell-function 'ignore)
|
|
||||||
|
|
||||||
;; Add column number in the status line
|
|
||||||
(column-number-mode)
|
|
||||||
|
|
||||||
;; View clock in the status line
|
|
||||||
(display-time)
|
|
||||||
|
|
||||||
;; Enable line numbers in the programming mode only
|
|
||||||
(add-hook 'prog-mode-hook 'display-line-numbers-mode)
|
|
||||||
|
|
||||||
;; Enable line numbers in the configuration mode only
|
|
||||||
(add-hook 'conf-mode-hook 'display-line-numbers-mode)
|
|
||||||
|
|
||||||
;; Highlight keywords to remember the activity when coding.
|
|
||||||
(use-package hl-todo
|
|
||||||
:ensure t
|
|
||||||
:commands (global-hl-todo-mode)
|
|
||||||
:init (global-hl-todo-mode))
|
|
||||||
|
|
||||||
(setq hl-todo-keyword-faces
|
|
||||||
'(("TODO" . "#94e2d5")
|
|
||||||
("FIXME" . "#f38ba8")
|
|
||||||
("DEBUG" . "#cba6f7")
|
|
||||||
("GOTCHA" . "#eba0ac")
|
|
||||||
("STUB" . "#89b4fa")))
|
|
||||||
|
|
||||||
(provide 'ui)
|
|
||||||
;;; ui.el ends here
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
;; c.el -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
;; C / C++ fallback style (Linux-like)
|
|
||||||
(setq c-default-style "linux"
|
|
||||||
c-basic-offset 4
|
|
||||||
tab-width 8)
|
|
||||||
|
|
||||||
(add-hook 'c-mode-common-hook
|
|
||||||
(lambda ()
|
|
||||||
(setq indent-tabs-mode t)))
|
|
||||||
|
|
||||||
;; Tree-sitter C/C++
|
|
||||||
(setq c-ts-mode-indent-offset 4)
|
|
||||||
(setq c++-ts-mode-indent-offset 4)
|
|
||||||
|
|
||||||
(with-eval-after-load 'lsp
|
|
||||||
;; Clangd configurations
|
|
||||||
(setq lsp-clients-clangd-args
|
|
||||||
'("--background-index"
|
|
||||||
"--clang-tidy"
|
|
||||||
"--completion-style=detailed"
|
|
||||||
"--header-insertion=never"
|
|
||||||
"--header-insertion-decorators"
|
|
||||||
"--pch-storage=memory"
|
|
||||||
"--log=error"
|
|
||||||
"--ranking-model=heuristics"
|
|
||||||
"--malloc-trim"
|
|
||||||
"--limit-results=500"
|
|
||||||
"--limit-references=2000")))
|
|
||||||
|
|
||||||
(with-eval-after-load 'dap-mode
|
|
||||||
(require 'dap-cpptools))
|
|
||||||
|
|
||||||
(add-hook 'c-ts-mode-hook #'fscotto/disable-c-formatting)
|
|
||||||
(add-hook 'c-mode-hook #'fscotto/disable-c-formatting)
|
|
||||||
|
|
||||||
(provide 'c)
|
|
||||||
|
|
||||||
;;; c.el ends here
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
;;; docker.el -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
(use-package dockerfile-mode
|
|
||||||
:ensure t)
|
|
||||||
|
|
||||||
(provide 'docker)
|
|
||||||
|
|
||||||
;;; docker.el ends here
|
|
||||||
@@ -1,89 +0,0 @@
|
|||||||
;;=================================================================
|
|
||||||
;; Go Language Support
|
|
||||||
;;=================================================================
|
|
||||||
|
|
||||||
(use-package go-ts-mode
|
|
||||||
:ensure nil
|
|
||||||
:mode "\\.go\\'"
|
|
||||||
:hook
|
|
||||||
((go-ts-mode . lsp-deferred)
|
|
||||||
(go-ts-mode . fscotto/go-format-on-save)))
|
|
||||||
|
|
||||||
(use-package go-mod-ts-mode
|
|
||||||
:ensure nil
|
|
||||||
:mode
|
|
||||||
(("/go\\.mod\\'" . go-mod-ts-mode)
|
|
||||||
("/go\\.sum\\'" . go-mod-ts-mode))
|
|
||||||
:hook
|
|
||||||
((go-mod-ts-mode . lsp-deferred)
|
|
||||||
;; restart gopls only when go.mod/go.sum are saved (buffer-local)
|
|
||||||
(go-mod-ts-mode . (lambda ()
|
|
||||||
(add-hook 'after-save-hook
|
|
||||||
(lambda ()
|
|
||||||
(when (lsp-workspaces)
|
|
||||||
(lsp-restart-workspace)))
|
|
||||||
nil t)))))
|
|
||||||
|
|
||||||
(with-eval-after-load 'project
|
|
||||||
(add-to-list 'project-vc-extra-root-markers "go.mod"))
|
|
||||||
|
|
||||||
(with-eval-after-load 'lsp-mode
|
|
||||||
;; gopls settings (single source of truth)
|
|
||||||
(lsp-register-custom-settings
|
|
||||||
'(("gopls.staticcheck" t)
|
|
||||||
("gopls.gofumpt" t)
|
|
||||||
;; ("gopls.experimentalWorkspaceModule" t)
|
|
||||||
("gopls.expandWorkspaceToModule" t)
|
|
||||||
("gopls.directoryFilters" ["-vendor"])
|
|
||||||
("gopls.analyses.unusedparams" t)
|
|
||||||
("gopls.analyses.shadow" t)
|
|
||||||
("gopls.analyses.nilness" t)
|
|
||||||
("gopls.analyses.useany" t)
|
|
||||||
("gopls.env" ((GO111MODULE . "on"))))))
|
|
||||||
|
|
||||||
(with-eval-after-load 'flycheck
|
|
||||||
;; Usa golangci-lint in Go
|
|
||||||
(add-hook 'go-ts-mode-hook
|
|
||||||
(lambda ()
|
|
||||||
(setq-local flycheck-checker 'golangci-lint)
|
|
||||||
(setq-local flycheck-check-syntax-automatically '(save mode-enabled))
|
|
||||||
(flycheck-mode 1))))
|
|
||||||
|
|
||||||
(use-package dap-dlv-go
|
|
||||||
:after (dap-mode go-ts-mode))
|
|
||||||
|
|
||||||
(with-eval-after-load 'dap-dlv-go
|
|
||||||
;; Debug all tests in module
|
|
||||||
(dap-register-debug-template
|
|
||||||
"Go :: Debug all tests"
|
|
||||||
(list :type "go"
|
|
||||||
:request "launch"
|
|
||||||
:name "Go :: Debug all tests"
|
|
||||||
:mode "test"
|
|
||||||
:program "${workspaceFolder}"
|
|
||||||
:cwd "${workspaceFolder}"))
|
|
||||||
|
|
||||||
;; Debug tests in current package
|
|
||||||
(dap-register-debug-template
|
|
||||||
"Go :: Debug package tests"
|
|
||||||
(list :type "go"
|
|
||||||
:request "launch"
|
|
||||||
:name "Go :: Debug package tests"
|
|
||||||
:mode "test"
|
|
||||||
:program "${fileDirname}"
|
|
||||||
:cwd "${fileDirname}"))
|
|
||||||
|
|
||||||
;; Debug test at point
|
|
||||||
(dap-register-debug-template
|
|
||||||
"Go :: Debug test at point"
|
|
||||||
(list :type "go"
|
|
||||||
:request "launch"
|
|
||||||
:name "Go :: Debug test at point"
|
|
||||||
:mode "test"
|
|
||||||
:program "${fileDirname}"
|
|
||||||
:cwd "${fileDirname}"
|
|
||||||
:args (list "-test.run" "${input:testName}"))))
|
|
||||||
|
|
||||||
(add-hook 'dap-terminated-hook
|
|
||||||
(lambda (_)
|
|
||||||
(delete-other-windows)))
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
;;; json.el -*- lexical-binding: t -*-
|
|
||||||
(use-package json-mode
|
|
||||||
:ensure t)
|
|
||||||
|
|
||||||
(provide 'json)
|
|
||||||
|
|
||||||
;;; json.el ends here
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
;;; markdown.el -*- lexical-binding: t; -*-
|
|
||||||
(use-package markdown-mode
|
|
||||||
:ensure t
|
|
||||||
:mode ("README\\.md\\'" . gfm-mode)
|
|
||||||
:init (setq markdown-command "multimarkdown"))
|
|
||||||
|
|
||||||
(provide 'markdown)
|
|
||||||
;;; markdown.el ends here
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
;;; org.el -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
(use-package htmlize
|
|
||||||
:ensure t)
|
|
||||||
|
|
||||||
(use-package org
|
|
||||||
:init
|
|
||||||
(setq org-clock-mode-line-total 'today
|
|
||||||
org-fontify-quote-and-verse-blocks t
|
|
||||||
org-indent-mode t
|
|
||||||
org-return-follows-link t
|
|
||||||
org-startup-folded 'content
|
|
||||||
org-todo-keywords '((sequence "🆕(t)" "▶️(s)" "⏳(w)" "🔎(p)" "|" "✅(d)" "🗑(c)" "👨(g)")))
|
|
||||||
:config
|
|
||||||
(add-hook 'org-mode-hook 'org-indent-mode)
|
|
||||||
(add-hook 'org-mode-hook 'flyspell-mode))
|
|
||||||
|
|
||||||
(use-package org-bullets
|
|
||||||
:ensure t
|
|
||||||
:init
|
|
||||||
(setq org-bullets-bullet-list '("❯" "❯❯" "❯❯❯" "❯❯❯❯" "❯❯❯❯❯"))
|
|
||||||
:config
|
|
||||||
(add-hook 'org-mode-hook 'org-bullets-mode))
|
|
||||||
|
|
||||||
(use-package org-re-reveal
|
|
||||||
:ensure t
|
|
||||||
:init
|
|
||||||
(setq org-re-reveal-transition 'none
|
|
||||||
org-re-reveal-theme "dracula"))
|
|
||||||
|
|
||||||
(use-package ob-mermaid
|
|
||||||
:ensure t
|
|
||||||
:init
|
|
||||||
(setq ob-mermaid-cli-path "mmdc")
|
|
||||||
(org-babel-do-load-languages
|
|
||||||
'org-babel-load-languages
|
|
||||||
'((mermaid . t)
|
|
||||||
(scheme . t))))
|
|
||||||
|
|
||||||
|
|
||||||
;; Setting default directory for Org files
|
|
||||||
(setq org-directory "~/Remotes/pCloud/Org")
|
|
||||||
|
|
||||||
(provide 'org)
|
|
||||||
|
|
||||||
;;; org.el ends here
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
(with-eval-after-load 'flycheck
|
|
||||||
(add-hook 'bash-ts-mode-hook 'flycheck-mode))
|
|
||||||
|
|
||||||
(use-package reformatter
|
|
||||||
:ensure t
|
|
||||||
:config
|
|
||||||
(reformatter-define shfmt-format
|
|
||||||
:program "shfmt"
|
|
||||||
:args '("-i" "2" "-ci")))
|
|
||||||
|
|
||||||
(add-hook 'bash-ts-mode-hook #'shfmt-format-on-save-mode)
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
;;; yaml.el -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
(use-package yaml-mode
|
|
||||||
:ensure t)
|
|
||||||
|
|
||||||
(provide 'yaml)
|
|
||||||
|
|
||||||
;;; yaml.el ends here
|
|
||||||
@@ -1,89 +0,0 @@
|
|||||||
;;functions to support syncing .elfeed between machines
|
|
||||||
;;makes sure elfeed reads index from disk before launching
|
|
||||||
(defun fscotto/elfeed-load-db-and-open ()
|
|
||||||
"Wrapper to load the elfeed db from disk before opening URL https://pragmaticemacs.wordpress.com/2016/08/17/read-your-rss-feeds-in-emacs-with-elfeed/
|
|
||||||
Created: 2016-08-17
|
|
||||||
Updated: 2025-06-13"
|
|
||||||
(interactive)
|
|
||||||
(elfeed)
|
|
||||||
(elfeed-db-load)
|
|
||||||
;; (elfeed-search-update--force)
|
|
||||||
(elfeed-update)
|
|
||||||
(elfeed-db-save))
|
|
||||||
|
|
||||||
(defun fscotto/project-root ()
|
|
||||||
"Return projectile project root or fallback to default-directory."
|
|
||||||
(if (featurep 'projectile)
|
|
||||||
(or (projectile-project-root) default-directory)
|
|
||||||
default-directory))
|
|
||||||
|
|
||||||
(defun fscotto/project-vterm ()
|
|
||||||
"Open vterm in project root."
|
|
||||||
(interactive)
|
|
||||||
(let ((default-directory (fscotto/project-root)))
|
|
||||||
(vterm)))
|
|
||||||
|
|
||||||
(defun fscotto/project-magit-status ()
|
|
||||||
"Open magit-status in project root."
|
|
||||||
(interactive)
|
|
||||||
(let ((default-directory (fscotto/project-root)))
|
|
||||||
(magit-status)))
|
|
||||||
|
|
||||||
(defun fscotto/magit-dispatch ()
|
|
||||||
"Load Magit if necessary and open magit-dispatch."
|
|
||||||
(interactive)
|
|
||||||
(require 'magit)
|
|
||||||
(call-interactively #'magit-dispatch))
|
|
||||||
|
|
||||||
(defun fscotto/disable-c-formatting ()
|
|
||||||
(setq-local lsp-enable-on-type-formatting nil))
|
|
||||||
|
|
||||||
;; Golang development support functions
|
|
||||||
(defun fscotto/go-format-on-save ()
|
|
||||||
"Format Go buffers on save using gofmt."
|
|
||||||
(add-hook 'before-save-hook #'lsp-format-buffer nil t))
|
|
||||||
|
|
||||||
(defun fscotto/go-mod-tidy ()
|
|
||||||
"Esegue go mod tidy nella root del progetto."
|
|
||||||
(interactive)
|
|
||||||
(let ((default-directory (project-root (project-current t))))
|
|
||||||
(compile "go mod tidy")))
|
|
||||||
|
|
||||||
(defun fscotto/go-mod-download ()
|
|
||||||
"Scarica i moduli Go."
|
|
||||||
(interactive)
|
|
||||||
(let ((default-directory (project-root (project-current t))))
|
|
||||||
(compile "go mod download")))
|
|
||||||
|
|
||||||
(defun fscotto/go-mod-after-save ()
|
|
||||||
(when (and (eq major-mode 'go-mod-ts-mode)
|
|
||||||
(lsp-workspaces))
|
|
||||||
(lsp-restart-workspace)))
|
|
||||||
|
|
||||||
(defun fscotto/go-test-package ()
|
|
||||||
"Run `go test` in the current package."
|
|
||||||
(interactive)
|
|
||||||
(let ((default-directory (project-root (project-current t))))
|
|
||||||
(compile "go test")))
|
|
||||||
|
|
||||||
(defun fscotto/go-test-module ()
|
|
||||||
"Run `go test ./...` in the current Go module."
|
|
||||||
(interactive)
|
|
||||||
(let ((default-directory (project-root (project-current t))))
|
|
||||||
(compile "go test ./...")))
|
|
||||||
|
|
||||||
(defun fscotto/go-test-current-test ()
|
|
||||||
"Run `go test -run` for the test at point."
|
|
||||||
(interactive)
|
|
||||||
(let* ((test-name (thing-at-point 'symbol t))
|
|
||||||
(default-directory (project-root (project-current t))))
|
|
||||||
(unless test-name
|
|
||||||
(user-error "No test name at point"))
|
|
||||||
(compile (format "go test -run '^%s$'" test-name))))
|
|
||||||
|
|
||||||
(defun fscotto/go-test-at-point ()
|
|
||||||
"Return Go test name at point."
|
|
||||||
(let ((sym (thing-at-point 'symbol t)))
|
|
||||||
(unless (and sym (string-prefix-p "Test" sym))
|
|
||||||
(user-error "No Go test at point"))
|
|
||||||
sym))
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
;;; dashboard.el --- Startup dashboard -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
(use-package dashboard
|
|
||||||
:ensure t
|
|
||||||
:init
|
|
||||||
(setq dashboard-startup-banner 'logo
|
|
||||||
dashboard-center-content t
|
|
||||||
dashboard-set-heading-icons t
|
|
||||||
dashboard-set-file-icons t
|
|
||||||
dashboard-items '((recents . 8)
|
|
||||||
(projects . 5)))
|
|
||||||
:config
|
|
||||||
(dashboard-setup-startup-hook))
|
|
||||||
|
|
||||||
(provide 'dashboard)
|
|
||||||
|
|
||||||
;;; misc-dashboard.el ends here
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
;;; doom-modeline.el -*-
|
|
||||||
|
|
||||||
(use-package doom-modeline
|
|
||||||
:ensure t
|
|
||||||
:config
|
|
||||||
(setq doom-modeline-height 25
|
|
||||||
doom-modeline-bar-width 3
|
|
||||||
doom-modeline-project-detection 'projectile)
|
|
||||||
:init (doom-modeline-mode 1))
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
;;; email.el -*-
|
|
||||||
|
|
||||||
(use-package mu4e
|
|
||||||
:ensure nil
|
|
||||||
;; :load-path "/usr/share/emacs/site-lisp/mu4e/"
|
|
||||||
:defer 20 ; Wait until 20 seconds after startup
|
|
||||||
:config
|
|
||||||
;; This is set to 't' to avoid mail syncing issues when using mbsync
|
|
||||||
(setq mu4e-change-filenames-when-moving t)
|
|
||||||
|
|
||||||
;; Refresh mail using isync every 10 minutes
|
|
||||||
(setq mu4e-update-interval (* 10 60))
|
|
||||||
(setq mu4e-get-mail-command "~/.emacs.d/scripts/email_sync.sh")
|
|
||||||
(setq mu4e-maildir "~/Maildir")
|
|
||||||
|
|
||||||
;; Configure email accounts
|
|
||||||
(setq mu4e-contexts
|
|
||||||
(list
|
|
||||||
;; Protonmail Account
|
|
||||||
(make-mu4e-context
|
|
||||||
:name "Protonmail"
|
|
||||||
:match-func
|
|
||||||
(lambda (msg)
|
|
||||||
(when msg
|
|
||||||
(string-prefix-p "/ProtonMailAccount" (mu4e-message-field msg :maildir))))
|
|
||||||
:vars '((user-mail-address . "fscottodisantolo@protonmail.com")
|
|
||||||
(user-full-name . "Fabio Scotto di Santolo")
|
|
||||||
(mu4e-drafts-folder . "/ProtonMailAccount/Drafts")
|
|
||||||
(mu4e-sent-folder . "/ProtonMailAccount/Sent")
|
|
||||||
(mu4e-refile-folder . "/ProtonMailAccount/All Mail")
|
|
||||||
(mu4e-trash-folder . "/ProtonMailAccount/Trash")))
|
|
||||||
|
|
||||||
;; iCloud Account
|
|
||||||
(make-mu4e-context
|
|
||||||
:name "iCloud Mail"
|
|
||||||
:match-func
|
|
||||||
(lambda (msg)
|
|
||||||
(when msg
|
|
||||||
(string-prefix-p "/iCloudAccount" (mu4e-message-field msg :maildir))))
|
|
||||||
:vars '((user-mail-address . "fscottodisantolo@icloud.com")
|
|
||||||
(user-full-name . "Fabio Scotto di Santolo")
|
|
||||||
(mu4e-drafts-folder . "/iCloudAccount/Drafts")
|
|
||||||
(mu4e-sent-folder . "/iCloudAccount/Sent Messages")
|
|
||||||
(mu4e-refile-folder . "/iCloudAccount/INBOX")
|
|
||||||
(mu4e-trash-folder . "/iCloudAccount/Junk")))))
|
|
||||||
|
|
||||||
(setq sendmail-program "/usr/bin/msmtp"
|
|
||||||
send-mail-function 'sendmail-send-it
|
|
||||||
message-sendmail-f-is-evil t
|
|
||||||
message-sendmail-extra-arguments '("--read-envelope-from")
|
|
||||||
message-send-mail-function 'message-send-mail-with-sendmail))
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
(use-package nov
|
|
||||||
:ensure t
|
|
||||||
:mode ("\\.epub\\'" . nov-mode))
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
(use-package i3wm-config-mode
|
|
||||||
:ensure t)
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
(use-package pdf-tools
|
|
||||||
:ensure t
|
|
||||||
:config
|
|
||||||
(pdf-tools-install))
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
;;; rss.el -*-
|
|
||||||
|
|
||||||
(use-package elfeed
|
|
||||||
:ensure t
|
|
||||||
:custom
|
|
||||||
(elfeed-enclosure-default-dir "~/Downloads/")
|
|
||||||
(elfeed-search-remain-on-entry t)
|
|
||||||
(elfeed-search-title-max-width 100)
|
|
||||||
(elfeed-search-title-min-width 30)
|
|
||||||
(elfeed-search-trailing-width 25)
|
|
||||||
(elfeed-show-truncate-long-urls t)
|
|
||||||
(elfeed-sort-order 'descending)
|
|
||||||
(elfeed-search-filter "+unread")
|
|
||||||
:hook
|
|
||||||
(elfeed-show-mode . visual-line-mode))
|
|
||||||
|
|
||||||
(use-package elfeed-org
|
|
||||||
:ensure t
|
|
||||||
:after elfeed
|
|
||||||
:custom
|
|
||||||
;; Optionally specify a number of files containing elfeed
|
|
||||||
;; configuration. If not set then the location below is used.
|
|
||||||
;; Note: The customize interface is also supported.
|
|
||||||
(rmh-elfeed-org-files (list "~/.emacs.d/elfeed.org")))
|
|
||||||
|
|
||||||
(with-eval-after-load 'elfeed
|
|
||||||
(elfeed-org))
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
;;; terminal.el -*-
|
|
||||||
|
|
||||||
(use-package vterm
|
|
||||||
:ensure t)
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
(use-package magit
|
|
||||||
:ensure t
|
|
||||||
:commands (magit-status magit-log)
|
|
||||||
:init
|
|
||||||
;; Entry point principale
|
|
||||||
(setq magit-display-buffer-function #'magit-display-buffer-fullframe-status-v1)
|
|
||||||
:config
|
|
||||||
;; Performance & UX
|
|
||||||
(setq magit-refresh-status-buffer nil)
|
|
||||||
(setq magit-repository-directories
|
|
||||||
'(("~/Projects" . 2)
|
|
||||||
("~/Work" . 2))))
|
|
||||||
|
|
||||||
(provide 'vcs)
|
|
||||||
|
|
||||||
;;; vcs.el ends here
|
|
||||||
@@ -1,161 +0,0 @@
|
|||||||
;;; which-key.el -*-
|
|
||||||
|
|
||||||
(use-package which-key
|
|
||||||
:ensure t
|
|
||||||
:defer 1
|
|
||||||
:config
|
|
||||||
(which-key-mode)
|
|
||||||
(setq which-key-idle-delay 0.45
|
|
||||||
which-key-idle-secondary-delay 0.05
|
|
||||||
which-key-max-display-columns 3
|
|
||||||
which-key-max-description-length 45))
|
|
||||||
|
|
||||||
(with-eval-after-load 'which-key
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
;; Top-level prefixes
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
(which-key-add-key-based-replacements
|
|
||||||
"C-c !" "Analyze"
|
|
||||||
"C-c o" "Open"
|
|
||||||
"C-c v" "Version control"
|
|
||||||
"C-c l" "LSP"
|
|
||||||
"C-c t" "TODO / Annotations"
|
|
||||||
"C-c b" "Buffers"
|
|
||||||
"C-c p" "Project"
|
|
||||||
"C-c d" "Debug"
|
|
||||||
"C-c g" "Git"
|
|
||||||
"C-c e" "Email / Elfeed")
|
|
||||||
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
;; Open (C-c o …)
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
(which-key-add-key-based-replacements
|
|
||||||
"C-c o f" "RSS (Elfeed)"
|
|
||||||
"C-c o m" "mu4e (Email Client)"
|
|
||||||
"C-c o T" "Terminal (vterm)")
|
|
||||||
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
;; Version control
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
(which-key-add-key-based-replacements
|
|
||||||
"C-c v g" "Magit status (legacy)")
|
|
||||||
|
|
||||||
(which-key-add-key-based-replacements
|
|
||||||
;; Core
|
|
||||||
"C-c g g" "Status"
|
|
||||||
"C-c g s" "Status"
|
|
||||||
;; "C-c g b" "Branch"
|
|
||||||
;; "C-c g c" "Commit"
|
|
||||||
"C-c g p" "Push / Pull"
|
|
||||||
"C-c g f" "Fetch"
|
|
||||||
"C-c g l" "Log"
|
|
||||||
"C-c g S" "Stash"
|
|
||||||
|
|
||||||
;; Files
|
|
||||||
"C-c g d" "Diff"
|
|
||||||
"C-c g D" "Diff (cached)"
|
|
||||||
"C-c g B" "Blame"
|
|
||||||
|
|
||||||
;; Rebase / Reset
|
|
||||||
"C-c g r" "Rebase"
|
|
||||||
"C-c g R" "Reset"
|
|
||||||
|
|
||||||
;; Remote
|
|
||||||
"C-c g y" "Show refs"
|
|
||||||
"C-c g o" "Browse remote")
|
|
||||||
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
;; Buffers
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
(which-key-add-key-based-replacements
|
|
||||||
"C-x C-b" "ibuffer")
|
|
||||||
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
;; TODO / hl-todo
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
(which-key-add-key-based-replacements
|
|
||||||
"C-t" "hl-todo"
|
|
||||||
"C-t p" "Previous TODO"
|
|
||||||
"C-t n" "Next TODO"
|
|
||||||
"C-t o" "Occur (list)"
|
|
||||||
"C-t i" "Insert TODO")
|
|
||||||
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
;; LSP (C-c l …)
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
(which-key-add-key-based-replacements
|
|
||||||
;; Navigation
|
|
||||||
"C-c l d" "Go to definition"
|
|
||||||
"C-c l D" "Go to type definition"
|
|
||||||
"C-c l i" "Go to implementation"
|
|
||||||
|
|
||||||
;; Symbols / diagnostics
|
|
||||||
"C-c l s" "Workspace symbols"
|
|
||||||
"C-c l e" "Diagnostics"
|
|
||||||
|
|
||||||
;; Actions
|
|
||||||
"C-c l a" "Code actions"
|
|
||||||
"C-c l r" "Rename symbol"
|
|
||||||
"C-c l f" "Format buffer"
|
|
||||||
|
|
||||||
;; Control
|
|
||||||
"C-c l R" "Restart workspace")
|
|
||||||
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
;; Elfeed modes
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
(which-key-add-key-based-replacements
|
|
||||||
"w" "Yank"
|
|
||||||
"R" "Update feeds"
|
|
||||||
"q" "Quit")
|
|
||||||
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
;; Debug / DAP
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
(which-key-add-key-based-replacements
|
|
||||||
"C-c d d" "Start debug session"
|
|
||||||
"C-c d b" "Toggle breakpoint")
|
|
||||||
;; "C-c d c" "Continue"
|
|
||||||
;; "C-c d n" "Next"
|
|
||||||
;; "C-c d i" "Step in"
|
|
||||||
;; "C-c d o" "Step out")
|
|
||||||
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
;; Project (future)
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
(which-key-add-key-based-replacements
|
|
||||||
;; Core
|
|
||||||
"C-c p p" "Switch project"
|
|
||||||
"C-c p f" "Find file"
|
|
||||||
"C-c p d" "Find directory"
|
|
||||||
"C-c p b" "Switch buffer"
|
|
||||||
"C-c p k" "Kill project buffers"
|
|
||||||
"C-c p r" "Recent files"
|
|
||||||
|
|
||||||
;; Search
|
|
||||||
"C-c p s" "Search"
|
|
||||||
"C-c p s g" "Grep (ripgrep)"
|
|
||||||
"C-c p s r" "Replace in project"
|
|
||||||
|
|
||||||
;; Actions
|
|
||||||
"C-c p c" "Compile"
|
|
||||||
"C-c p t" "Test"
|
|
||||||
"C-c p v" "Open term in project"
|
|
||||||
"C-c p e" "Edit project config"
|
|
||||||
"C-c p g" "Project Git status"
|
|
||||||
"C-c p x" "Open Terminal"
|
|
||||||
"C-c p 4" "Other Window"
|
|
||||||
"C-c p 5" "Other Frame"
|
|
||||||
"C-c p x 4" "Other Window"
|
|
||||||
|
|
||||||
;; Cache
|
|
||||||
"C-c p i" "Invalidate cache")
|
|
||||||
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
;; Cleanup annoying +prefix
|
|
||||||
;; --------------------------------------------------------------------------
|
|
||||||
(which-key-add-key-based-replacements
|
|
||||||
"+prefix" "Prefix"
|
|
||||||
"+lsp" "LSP"
|
|
||||||
"+debug" "Debug"
|
|
||||||
"+project" "Project"))
|
|
||||||
@@ -1,63 +0,0 @@
|
|||||||
;;; completion.el -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
(use-package ivy
|
|
||||||
:ensure t
|
|
||||||
:config
|
|
||||||
(ivy-mode 1))
|
|
||||||
|
|
||||||
(use-package consult
|
|
||||||
:ensure t
|
|
||||||
:defer t)
|
|
||||||
|
|
||||||
(use-package company
|
|
||||||
:ensure t
|
|
||||||
:custom
|
|
||||||
(company-tooltip-align-annotations 't)
|
|
||||||
(company-minimum-prefix-length 1)
|
|
||||||
(company-idle-delay 0.1)
|
|
||||||
:hook (prog-mode . company-mode))
|
|
||||||
|
|
||||||
(with-eval-after-load 'company
|
|
||||||
(add-hook 'bash-ts-mode-hook 'company-mode))
|
|
||||||
|
|
||||||
;; Static analysis for code base
|
|
||||||
(use-package flycheck
|
|
||||||
:ensure t
|
|
||||||
:hook (prog-mode . flycheck-mode)
|
|
||||||
:config
|
|
||||||
(setq flycheck-check-syntax-automatically '(save mode-enabled)))
|
|
||||||
|
|
||||||
;; Snippets
|
|
||||||
(use-package yasnippet
|
|
||||||
:ensure t
|
|
||||||
:config
|
|
||||||
(setq yas/root-directory
|
|
||||||
(list "~/.emacs.d/snippets") yas-indent-line 'fixed)
|
|
||||||
(yas-global-mode))
|
|
||||||
|
|
||||||
(use-package orderless
|
|
||||||
:ensure t
|
|
||||||
:custom
|
|
||||||
(completion-styles '(orderless basic))
|
|
||||||
(completion-category-overrides '((file (styles partial-completion))))
|
|
||||||
(completion-pcm-leading-wildcard t)
|
|
||||||
:config
|
|
||||||
(setq ivy-re-builders-alist '((t . orderless-ivy-re-builder)))
|
|
||||||
(add-to-list 'ivy-highlight-functions-alist '(orderless-ivy-re-builder . orderless-ivy-highlight)))
|
|
||||||
|
|
||||||
(defun just-one-face (fn &rest args)
|
|
||||||
(let ((orderless-match-faces [completions-common-part]))
|
|
||||||
(apply fn args)))
|
|
||||||
|
|
||||||
(advice-add 'company-capf--candidates :around #'just-one-face)
|
|
||||||
|
|
||||||
(use-package smartparens
|
|
||||||
:ensure smartparens ;; install the package
|
|
||||||
:hook (prog-mode text-mode markdown-mode) ;; add `smartparens-mode` to these hooks
|
|
||||||
:config
|
|
||||||
;; load default config
|
|
||||||
(require 'smartparens-config))
|
|
||||||
|
|
||||||
(provide 'completion)
|
|
||||||
|
|
||||||
;;; completion.el ends here
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
(use-package dap-mode
|
|
||||||
:ensure t
|
|
||||||
:after lsp-mode
|
|
||||||
:hook (lsp-mode . dap-mode)
|
|
||||||
:init
|
|
||||||
;; Enabling only some features
|
|
||||||
(setq dap-auto-configure-features '(sessions locals expressions repl))
|
|
||||||
:config
|
|
||||||
(dap-mode 1)
|
|
||||||
(dap-ui-mode 1)
|
|
||||||
(dap-ui-controls-mode 1)
|
|
||||||
;; Auto show breakpoints + REPL
|
|
||||||
(setq dap-ui-buffer-configurations
|
|
||||||
'(;; RIGHT SIDE — Debug data (like IntelliJ)
|
|
||||||
(dap-ui-locals . ((side . right) (slot . 1) (window-width . 0.30)))
|
|
||||||
(dap-ui-sessions . ((side . right) (slot . 2) (window-width . 0.30)))
|
|
||||||
(dap-ui-expressions . ((side . right) (slot . 3) (window-width . 0.30)))
|
|
||||||
;; BOTTOM — Console / REPL
|
|
||||||
(dap-ui-repl . ((side . bottom) (slot . 1) (window-height . 0.25)))
|
|
||||||
(dap-ui-console . ((side . bottom) (slot . 2) (window-height . 0.25)))))
|
|
||||||
;; Loading DAP adapters
|
|
||||||
;; For Python
|
|
||||||
(require 'dap-python)
|
|
||||||
(setq dap-python-debugger 'debugpy))
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
;;; lsp.el -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
(use-package lsp-mode
|
|
||||||
:ensure t
|
|
||||||
:commands (lsp lsp-deferred)
|
|
||||||
:hook
|
|
||||||
((c-mode
|
|
||||||
c-ts-mode
|
|
||||||
c++-mode
|
|
||||||
c++-ts-mode
|
|
||||||
python-mode
|
|
||||||
python-ts-mode
|
|
||||||
sh-mode
|
|
||||||
bash-ts-mode) . lsp-deferred)
|
|
||||||
:config
|
|
||||||
;; Performance
|
|
||||||
(setq lsp-enable-symbol-highlighting t
|
|
||||||
lsp-enable-snippet t
|
|
||||||
lsp-log-io nil
|
|
||||||
lsp-modeline-code-actions-enable nil
|
|
||||||
lsp-modeline-diagnostics-enable nil
|
|
||||||
lsp-signature-auto-activate nil
|
|
||||||
lsp-enable-on-type-formatting nil
|
|
||||||
lsp-completion-provider :capf
|
|
||||||
lsp-diagnostics-provider :flycheck
|
|
||||||
lsp-headerline-breadcrumb-enable nil
|
|
||||||
lsp-enable-indentation nil
|
|
||||||
;; Disable for huge projects
|
|
||||||
lsp-enable-file-watchers nil
|
|
||||||
lsp-idle-delay 0.5))
|
|
||||||
|
|
||||||
(use-package lsp-ui
|
|
||||||
:ensure t
|
|
||||||
:config
|
|
||||||
(setq lsp-ui-doc-enable t
|
|
||||||
lsp-ui-doc-delay 0.3
|
|
||||||
lsp-ui-sideline-enable t
|
|
||||||
lsp-ui-sideline-show-code-actions t))
|
|
||||||
|
|
||||||
(use-package consult-lsp
|
|
||||||
:ensure t
|
|
||||||
:after (consult lsp-mode)
|
|
||||||
:commands
|
|
||||||
(consult-lsp-symbols
|
|
||||||
consult-lsp-diagnostics))
|
|
||||||
|
|
||||||
(provide 'lsp)
|
|
||||||
|
|
||||||
;;; lsp.el ends here
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
;;; project.el - lexical-binding *-*
|
|
||||||
|
|
||||||
(use-package projectile
|
|
||||||
:ensure t
|
|
||||||
:defer 1
|
|
||||||
:init
|
|
||||||
;; Root detection
|
|
||||||
(setq projectile-project-search-path '("~/Projects" "~/Work" "~/Progetti"))
|
|
||||||
(setq projectile-completion-system 'ivy)
|
|
||||||
:config
|
|
||||||
;; Performance
|
|
||||||
(setq projectile-enable-caching t)
|
|
||||||
(setq projectile-indexing-method 'hybrid)
|
|
||||||
(setq projectile-sort-order 'recently-active)
|
|
||||||
;; Projectile as single source of truth
|
|
||||||
(setq projectile-switch-project-action #'projectile-dired)
|
|
||||||
;; Use ripgrep if available
|
|
||||||
(when (executable-find "rg")
|
|
||||||
(setq projectile-generic-command "rg --files --hidden --glob '!.git'"))
|
|
||||||
;; Enable globally
|
|
||||||
(projectile-mode 1))
|
|
||||||
|
|
||||||
(provide 'project)
|
|
||||||
|
|
||||||
;;; project.el ends here
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
;;; treesitter.el -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
(use-package treesit
|
|
||||||
:ensure nil
|
|
||||||
:config
|
|
||||||
(setq treesit-font-lock-level 4)
|
|
||||||
(setq treesit-auto-install t)
|
|
||||||
(setq major-mode-remap-alist
|
|
||||||
'((c-mode . c-ts-mode)
|
|
||||||
(c++-mode . c++-ts-mode)
|
|
||||||
(go-mode . go-ts-mode)
|
|
||||||
(go-mod-mode . go-mod-ts-mode)
|
|
||||||
(python-mode . python-ts-mode)
|
|
||||||
(sh-mode . bash-ts-mode)))
|
|
||||||
(setq treesit-language-source-alist
|
|
||||||
'((bash "https://github.com/tree-sitter/tree-sitter-bash")
|
|
||||||
(c "https://github.com/tree-sitter/tree-sitter-c")
|
|
||||||
(cpp "https://github.com/tree-sitter/tree-sitter-cpp")
|
|
||||||
(dockerfile "https://github.com/camdencheek/tree-sitter-dockerfile")
|
|
||||||
(go "https://github.com/tree-sitter/tree-sitter-go")
|
|
||||||
(gomod "https://github.com/camdencheek/tree-sitter-go-mod")
|
|
||||||
(js "https://github.com/tree-sitter/tree-sitter-javascript")
|
|
||||||
(json "https://github.com/tree-sitter/tree-sitter-json")
|
|
||||||
(node "https://github.com/tree-sitter/node-tree-sitter")
|
|
||||||
(python "https://github.com/tree-sitter/tree-sitter-python"))))
|
|
||||||
|
|
||||||
(provide 'treesitter)
|
|
||||||
|
|
||||||
;;; treesitter.el ends here
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
mbsync -a & pid1=$!
|
mbsync Gmail & pid1=$!
|
||||||
wait $pid1
|
wait $pid1
|
||||||
|
|
||||||
mu index
|
mu index
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
func main() {
|
|
||||||
$0
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
fmt.Printf("%v\n", $0)
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
func Test$0 {
|
|
||||||
tests := []struct {
|
|
||||||
name string
|
|
||||||
req string
|
|
||||||
expected string
|
|
||||||
}{
|
|
||||||
{
|
|
||||||
name: "happy path",
|
|
||||||
req: "answer to life, the universe and everything"
|
|
||||||
expected: "42"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
for _, tt := range tests {
|
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
|
||||||
t.Parallel()
|
|
||||||
actual := foo(t, tt.req)
|
|
||||||
assertEquals(t, tt.want, expected)
|
|
||||||
})
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#name : author
|
|
||||||
# --
|
|
||||||
@author <a href="mailto:torstein@skybert.net">Torstein Krause Johansen</a>$0
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#name : debug
|
|
||||||
# --
|
|
||||||
if (mLogger.isDebugEnabled()) {
|
|
||||||
mLogger.debug(String.format("${1:result}=%s", ${2:result}));
|
|
||||||
}
|
|
||||||
$0
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
#name : dwmain
|
|
||||||
# --
|
|
||||||
package ${1:net.skybert.dw};
|
|
||||||
|
|
||||||
import io.dropwizard.Application;
|
|
||||||
import io.dropwizard.assets.AssetsBundle;
|
|
||||||
import io.dropwizard.configuration.SubstitutingSourceProvider;
|
|
||||||
import io.dropwizard.jetty.ConnectorFactory;
|
|
||||||
import io.dropwizard.jetty.HttpConnectorFactory;
|
|
||||||
import io.dropwizard.lifecycle.Managed;
|
|
||||||
import io.dropwizard.server.DefaultServerFactory;
|
|
||||||
import io.dropwizard.setup.Bootstrap;
|
|
||||||
import io.dropwizard.setup.Environment;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Main
|
|
||||||
*/
|
|
||||||
public class Main extends Application<${2:SkybertConf}> {
|
|
||||||
|
|
||||||
public static void main(final String[] args) throws Exception {
|
|
||||||
new Main().run(args);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void run(
|
|
||||||
final $2 pConfiguration,
|
|
||||||
final Environment pEnvironment)
|
|
||||||
throws Exception {
|
|
||||||
$0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#name : new method/function
|
|
||||||
# --
|
|
||||||
${1:public} ${2:void} ${3:update}(final ${4:String} ${5:pName}) {
|
|
||||||
$0
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#name : for (...; ...; ...) { ... }
|
|
||||||
# --
|
|
||||||
for (${1:Object} ${downcase-word 1} ; ${2:list}) {
|
|
||||||
$0
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#name : for loop with index
|
|
||||||
# --
|
|
||||||
for (int ${1:i} = 0; $1 < ${2:args.length}; $1${3:++}) {
|
|
||||||
$0
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
#name : get/set/member variable
|
|
||||||
# --
|
|
||||||
private ${1:String} ${2:name};
|
|
||||||
|
|
||||||
public void set${2:$(capitalize text)}(final $1 p${2:$(capitalize text)}) {
|
|
||||||
$2 = p${2:$(capitalize text)};
|
|
||||||
}
|
|
||||||
|
|
||||||
public $1 get${2:$(capitalize text)}() {
|
|
||||||
return $2;
|
|
||||||
}
|
|
||||||
$0
|
|
||||||
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#name : if
|
|
||||||
# --
|
|
||||||
if (${1:result} ${2:!=} ${3:null}) {
|
|
||||||
$0
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#name : static import of isBlank
|
|
||||||
# --
|
|
||||||
import static org.apache.commons.lang.StringUtils.isBlank;
|
|
||||||
$0
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
#name : junitwrapperfns
|
|
||||||
# --
|
|
||||||
private void assertTrue(final String pMessage, final boolean pConditition) {
|
|
||||||
Assertions.assertTrue(pConditition, pMessage);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void assertFalse(final String pMessage, final boolean pConditition) {
|
|
||||||
Assertions.assertFalse(pConditition, pMessage);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void assertNotNull(final String pMessage, final Object pActual) {
|
|
||||||
Assertions.assertNotNull(pActual, pMessage);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void assertNull(final String pMessage, final Object pActual) {
|
|
||||||
Assertions.assertNull(pActual, pMessage);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void assertEquals(final String pMessage, final Object pExpected, final Object pActual) {
|
|
||||||
Assertions.assertEquals(pExpected, pActual, pMessage);
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#name : main
|
|
||||||
# --
|
|
||||||
public static void main(String[] args) {
|
|
||||||
$0
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#name : np
|
|
||||||
# --
|
|
||||||
// NOPMD
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#name : get ObjectLoader
|
|
||||||
# --
|
|
||||||
$0ObjectLoader objectLoader = IOAPI.getAPI().getObjectLoader();
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#name : req
|
|
||||||
# --
|
|
||||||
HttpRequest request = HttpRequest.newBuilder()
|
|
||||||
.uri(URI.create($0))
|
|
||||||
.timeout(Duration.ofMillis(getResponseTimeout()))
|
|
||||||
.build();
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#name : res
|
|
||||||
# --
|
|
||||||
HttpResponse<String> response = mHttpClient.send(request, ofString());$0
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#name : sf
|
|
||||||
# --
|
|
||||||
String.format("%s", $0)
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#name : System.out.println
|
|
||||||
# --
|
|
||||||
System.out.println($0);
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
@Test
|
|
||||||
void ${1:can}() throws Exception {
|
|
||||||
$0
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
#name : try, catch & finally
|
|
||||||
# --
|
|
||||||
try {
|
|
||||||
$0
|
|
||||||
}
|
|
||||||
catch (${1:Exception} ${2:e}) {
|
|
||||||
mLogger.error($2);
|
|
||||||
}
|
|
||||||
finally {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
#name : try & catch
|
|
||||||
# --
|
|
||||||
try {
|
|
||||||
$0
|
|
||||||
}
|
|
||||||
catch (${1:Exception} ${2:e}) {
|
|
||||||
mLogger.error($2);
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#name : new array
|
|
||||||
# --
|
|
||||||
var ${1:myArray} = new Array();
|
|
||||||
$0
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#name : function
|
|
||||||
# --
|
|
||||||
function ${1:test}(${2:pValue}) {
|
|
||||||
$0
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#name : for (...; ...; ...) { ... }
|
|
||||||
# --
|
|
||||||
for (var ${1:i} = 0; $1 < ${2:args.length}; $1${3:++}) {
|
|
||||||
$0
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#name : if
|
|
||||||
# --
|
|
||||||
if (${1:s} == ${2:undefined}) {
|
|
||||||
$0
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#name : log
|
|
||||||
# --
|
|
||||||
console.log("$0");
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#name : a
|
|
||||||
# --
|
|
||||||
[${1}](${2})${0}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
#name : img snippet
|
|
||||||
# --
|
|
||||||
|
|
||||||
<img
|
|
||||||
class="centered"
|
|
||||||
src="${1:foo.png}"
|
|
||||||
alt="${2:alt img text}"
|
|
||||||
/>
|
|
||||||
$0
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# name : me
|
|
||||||
# --
|
|
||||||
[@skybert](https://skybert.net) ${1:says:}$0
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
#name : pelican article
|
|
||||||
# --
|
|
||||||
title: ${1:`(s-replace "-" " " (file-name-base (buffer-file-name)))`}
|
|
||||||
date: ${2:`(format-time-string "%Y-%m-%d" (current-time))`}
|
|
||||||
category: ${3:`(file-name-nondirectory
|
|
||||||
(substring
|
|
||||||
(file-name-directory (buffer-file-name))
|
|
||||||
0
|
|
||||||
(- (length (file-name-directory (buffer-file-name))) 1)
|
|
||||||
))`}
|
|
||||||
tags: ${4:`(file-name-nondirectory
|
|
||||||
(substring
|
|
||||||
(file-name-directory (buffer-file-name))
|
|
||||||
0
|
|
||||||
(- (length (file-name-directory (buffer-file-name))) 1)
|
|
||||||
))`}
|
|
||||||
$0
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#name : src code snippet
|
|
||||||
# --
|
|
||||||
|
|
||||||
\`\`\`${1:text}
|
|
||||||
$0
|
|
||||||
\`\`\`
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#name : strong element
|
|
||||||
# --
|
|
||||||
|
|
||||||
<strong>${1:text}</strong>$0
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#name: cdata
|
|
||||||
# --
|
|
||||||
<![CDATA[$0]]>
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
#name : cha
|
|
||||||
# --
|
|
||||||
<chapter xml:id="t_${1:$(replace-regexp-in-string " " "_" (downcase text))}">
|
|
||||||
<title>${1:My Title}</title>
|
|
||||||
<para>
|
|
||||||
$0
|
|
||||||
</para>
|
|
||||||
</chapter>
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
#name : dep
|
|
||||||
# --
|
|
||||||
<dependency>
|
|
||||||
<groupId>$1</groupId>
|
|
||||||
<artifactId>$2</artifactId>
|
|
||||||
<version>$0</version>
|
|
||||||
</dependency>
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#name : diary
|
|
||||||
# --
|
|
||||||
<!--#include virtual="/ssi/header.shtml" -->
|
|
||||||
<h1>$1</h1>
|
|
||||||
<div id="main">
|
|
||||||
<p>
|
|
||||||
$0
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<!--#include virtual="/ssi/footer.shtml" -->
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#name : exclusion
|
|
||||||
# --
|
|
||||||
<exclusion>
|
|
||||||
<groupId>$1</groupId>
|
|
||||||
<artifactId>$2</artifactId>
|
|
||||||
</exclusion>$0
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
#name : exclusions
|
|
||||||
# --
|
|
||||||
<exclusions>
|
|
||||||
<exclusion>
|
|
||||||
<groupId>$1</groupId>
|
|
||||||
<artifactId>$2</artifactId>
|
|
||||||
</exclusion>$0
|
|
||||||
</exclusions>
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#name : incvar
|
|
||||||
# --
|
|
||||||
<xi:include href="local-variables.ebk" xpointer="${1:l-product-um}"/>$0
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#name : list
|
|
||||||
# --
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
$0
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#name : listi
|
|
||||||
# --
|
|
||||||
<listitem><para>$0</para></listitem>
|
|
||||||
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#name : lit
|
|
||||||
# --
|
|
||||||
<literal>$0</literal>
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#name : ol with a li
|
|
||||||
# --
|
|
||||||
<ol>
|
|
||||||
<li>$0</li>
|
|
||||||
</ol>
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#name : para
|
|
||||||
# --
|
|
||||||
<para>
|
|
||||||
$0
|
|
||||||
</para>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#name : prog
|
|
||||||
# --
|
|
||||||
<programlisting><![CDATA[$0
|
|
||||||
]]></programlisting>
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#name : insert a JS tag without src
|
|
||||||
# --
|
|
||||||
<script type="text/javascript">
|
|
||||||
$0
|
|
||||||
</script>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#name : insert a JS tag with src
|
|
||||||
# --
|
|
||||||
<script type="text/javascript" src="${1:script.js}"></script>
|
|
||||||
$0
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
#name : sec
|
|
||||||
# --
|
|
||||||
<section xml:id="t_${1:$(replace-regexp-in-string " " "_" (downcase text))}">
|
|
||||||
<title>${1:My Title}</title>
|
|
||||||
<para>
|
|
||||||
$0
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#name : ul with a li
|
|
||||||
# --
|
|
||||||
<ul>
|
|
||||||
<li>$0</li>
|
|
||||||
</ul>
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#name : varece
|
|
||||||
# --
|
|
||||||
<xi:include href="ece-global:global-variables.ebk" xpointer="g-engine" />
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user