summaryrefslogtreecommitdiff
path: root/kak/kakrc
blob: 6eeaf7ad265bbc09605191d6ad0a81a15e87fc6d (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
colorscheme plain
add-highlighter global/ number-lines -hlcursor -relative

set-option global ui_options terminal_status_on_top=true
set-option -add global ui_options terminal_assistant=clippy
set-option global tabstop 4

# 0 -> tabs for indentation
set-option global indentwidth 0
set-option global scrolloff 3,3

# default error pattern checks for error or fatal after the error location
# this makes it just look for the location, which makes it more generic for
# other compilers to *just* work. works for all the compilers i care about
# for now: gcc/clang/cproc, go, odin
set-option global make_error_pattern '^([^:\n]+)[:\(](\d+):(?:(\d+))?[:\)]?'

define-command testcmd %{
    prompt -file-completion 'What is your name? ' %{
        evaluate-commands %sh{
            echo "Hello, $kak_text!" > /tmp/vars
            env >> /tmp/vars
            title=$(dmenu -p 'say something: ')
            printf "info '%s' -title '%s'" "wrote to file /tmp/vars" "$title"
        }
    }
}

define-command jrk-set-makecmd-and-make %{
    prompt 'makecmd: ' %{
        evaluate-commands %{
            set-option global makecmd %val{text}
            make
        }
    }
}

map -docstring 'yank to system clipboard' global user y '<a-|>xclip -selection clipboard<ret>'
map -docstring 'paste from system clipboard' global user p '<!>xclip -selection clipboard -o<ret>'

map -docstring 'goto next make error' global user [ '<:>make-next-error<ret>'
map -docstring 'goto previous make error' global user ] '<:>make-previous-error<ret>'

map -docstring 'make' global user q '<:>make<ret>'
map -docstring 'set makecmd and make' global user Q '<:>jrk-set-makecmd-and-make<ret>'

map -docstring 'edit file' global user . '<:>edit '
map -docstring 'open buffer' global user , '<:>buffer '

map -docstring 'write file' global user w '<:>w<ret>'

# colemak dh binds
map global normal n "h"
map global normal N "H"
map global normal e "j"
map global normal E "J"
map global normal i "k"
map global normal I "K"
map global normal o "l"
map global normal O "L"

map global normal j "e"
map global normal J "E"
map global normal k "n"
map global normal K "N"
map global normal h "o"
map global normal H "O"
map global normal l "i"
map global normal L "I"

map global normal <a-n> <a-h>
map global normal <a-o> <a-l>