feat(sapling): get everything setup
This commit is contained in:
parent
7834732c41
commit
d7c7fa9914
4 changed files with 81 additions and 0 deletions
|
|
@ -4,5 +4,6 @@ require "modules.git"
|
||||||
require "modules.lua-lsp"
|
require "modules.lua-lsp"
|
||||||
require "modules.nvim"
|
require "modules.nvim"
|
||||||
require "modules.nvm"
|
require "modules.nvm"
|
||||||
|
require "modules.sapling"
|
||||||
require "modules.tmux"
|
require "modules.tmux"
|
||||||
require "modules.zsh"
|
require "modules.zsh"
|
||||||
|
|
|
||||||
13
modules/sapling.lua
Normal file
13
modules/sapling.lua
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
local data = require "lib.data"
|
||||||
|
|
||||||
|
local config_dir = os.getenv "HOME" .. "/.config/sapling"
|
||||||
|
|
||||||
|
configz.directory(config_dir);
|
||||||
|
|
||||||
|
configz.template(config_dir .. "/sapling.conf", {
|
||||||
|
source = os.getenv "PWD" .. "/site-modules/core/templates/sapling.conf.liquid",
|
||||||
|
data = {
|
||||||
|
user_name = data.lookup("common", "user_name"),
|
||||||
|
email = data.lookup("personal", "email"),
|
||||||
|
},
|
||||||
|
})
|
||||||
40
site-modules/core/files/oh-my-zsh/custom/sapling.zsh
Normal file
40
site-modules/core/files/oh-my-zsh/custom/sapling.zsh
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
# Alias sl to s. This is so we can keep the workflow much the same as git. You
|
||||||
|
# can mostly replace `g` with `s` and you are using sapling instead of git.
|
||||||
|
alias s="\\sl"
|
||||||
|
alias sl="sl log --remote -l25 -T '\\033[31m{node|short} \\033[0;34;3m{desc|firstline}\\033[0m \\033[3;32m{date|age} \\033[35;1;3mby {author|person} {if(github_pull_request_number, \"\033[31mPR #{github_pull_request_number}\")}\n' | tac"
|
||||||
|
|
||||||
|
function sl-convert() {
|
||||||
|
if ! [ -d .git ]; then
|
||||||
|
echo "Not a git repository. You can only convert a git repo in to a sapling"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -s .sl ]; then
|
||||||
|
echo "Already converted to sapling."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
\sl clone --git "file://${PWD}/.git" .tmp && mv .tmp/.sl . && rm -rf .tmp
|
||||||
|
|
||||||
|
if [[ "$(git remote get-url --all origin)" == *"github.com"* ]]; then
|
||||||
|
local new_path="$(git remote get-url --all origin | sed 's/git@github.com:/https:\/\/github.com\//')"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Setting sapling path to '${new_path}'"
|
||||||
|
|
||||||
|
\sl paths --add default "${new_path}"
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
echo "[WARNING] Not a github url, you will need to set your path manually"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
echo "Converted yor git repo to a sapling repo."
|
||||||
|
echo ""
|
||||||
|
echo "Please run 'sl log' to ensure the command has worked. You will also need to"
|
||||||
|
echo "give 'sl config' a check to ensure your path has been set correctly. Then you"
|
||||||
|
echo "can remove the .git directory"
|
||||||
|
}
|
||||||
|
|
||||||
27
site-modules/core/templates/sapling.conf.liquid
Normal file
27
site-modules/core/templates/sapling.conf.liquid
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
#
|
||||||
|
# !! DO NOT EDIT !!
|
||||||
|
# !! This file is managed by configz !!
|
||||||
|
#
|
||||||
|
|
||||||
|
[ui]
|
||||||
|
# name and email, e.g.
|
||||||
|
username = {{ data.user_name }} <{{ data.email }}>
|
||||||
|
|
||||||
|
# Don't let the sl cli colors interfere with the delta colors. The diff
|
||||||
|
# highlighting dose not work well when the two colors are conflicting each
|
||||||
|
# other.
|
||||||
|
#
|
||||||
|
# uncomment to disable color in command output
|
||||||
|
# (see 'sl help color' for details)
|
||||||
|
color = never
|
||||||
|
|
||||||
|
# uncomment to disable command output pagination
|
||||||
|
# (see 'sl help pager' for details)
|
||||||
|
#paginate = always
|
||||||
|
|
||||||
|
# User delta as the pager so that the diff is highlighted nicely.in the
|
||||||
|
# terminal. This give a better diff coloring than the built in sl pager, also
|
||||||
|
# keeps things looking the same as git so I can keep the familiarity when
|
||||||
|
# switching between git and sl.
|
||||||
|
[pager]
|
||||||
|
pager = delta
|
||||||
Loading…
Reference in a new issue