aboutsummaryrefslogtreecommitdiff
path: root/config/xonsh/rc.xsh
blob: b05fe58e347bfe0f737469a5474d28870c796920 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
### ALIASES ###
aliases["ll"] = "ls -l -h"
aliases["la"] = "ll -a"

# git
aliases["ga"] = "git add"
aliases["gca"] = "git commit -v -a"
aliases["gcm"] = "git commit -m"
aliases["gl"] = "git pull"
aliases["glg"] = "git log --stat --color"
aliases["gp"] = "git push"
aliases["gst"] = "git status"

def pss(args, stdin=None, stdout=None, stderr=None):
    if len(args) != 1:
        print("Usage: pss PATTERN", file=stderr)
    pids = $(pgrep -d , -f @(args[0]))[:-1]
    if pids:
        $[ps -Fp @(pids)]
aliases["pss"] = pss

def fd(args, stdin=None, stdout=None, stderr=None):
    if len(args) != 1:
        print("Usage: fd name", file=stderr)
    $[find -name @(f"*{args[0]}*")]
aliases["fd"] = fd

def upto(args, stdin=None, stdout=None, stderr=None):
    import os.path as path
    if len(args) != 1:
        print("Usage: upto PATTERN", file=stderr)
    dirs = $PWD.split(path.sep)
    for i, d in enumerate(dirs):
        if args[0] in d:
            ![cd @("/".join(dirs[:i+1]))]
            break
aliases["upto"] = upto

### STYLE ###
$XONSH_COLOR_STYLE = 'native'

$PL_PROMPT = "cwd>branch"
$PL_RPROMPT = "rtns>timing"
$PL_TOOLBAR = "!"

xontrib load powerline2
$PL_COLORS["branch"] = "WHITE"

### BEHAVIOUR ###
$COMPLETIONS_CONFIRM = True
$XONSH_HISTORY_MATCH_ANYWHERE = True
$XONSH_SHOW_TRACEBACK = True

# make modules in CWD importable
import sys
sys.path.append('')