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.nvim"
|
||||
require "modules.nvm"
|
||||
require "modules.sapling"
|
||||
require "modules.tmux"
|
||||
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