From 0fff006d7bd9418de79ef7e7aa85fac8fb88c1fe Mon Sep 17 00:00:00 2001 From: Tomas Vik Date: Wed, 30 Aug 2017 09:45:06 +1000 Subject: [PATCH 1/3] Keymap - basic functionality --- main.go | 1 + segment-keymap.go | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 segment-keymap.go diff --git a/main.go b/main.go index 758e14d9..dda7c167 100644 --- a/main.go +++ b/main.go @@ -82,6 +82,7 @@ var modules = map[string](func(*powerline)){ "time": segmentTime, "user": segmentUser, "venv": segmentVirtualEnv, + "keymap": segmentKeymap, } func main() { diff --git a/segment-keymap.go b/segment-keymap.go new file mode 100644 index 00000000..7e7aa821 --- /dev/null +++ b/segment-keymap.go @@ -0,0 +1,31 @@ +package main + +import ( + "os" +) + +func segmentKeymap(p *powerline) { + var keymap string + var present bool + if keymap == "" { + keymap, present = os.LookupEnv("KEYMAP_POWERLINE") + } + if !present { + keymap = "ouch" + } + if keymap == "main" { + p.appendSegment("keymap", segment{ + content: " I ", + foreground: p.theme.RepoDirtyFg, + background: p.theme.RepoDirtyBg, + }) + } + if keymap == "vicmd" { + p.appendSegment("keymap", segment{ + content: " C ", + foreground: p.theme.RepoCleanFg, + background: p.theme.RepoCleanBg, + }) + } + +} From d5c05d6c9e9a3ea9c320059e9721c5cd742cdd22 Mon Sep 17 00:00:00 2001 From: Tomas Vik Date: Wed, 30 Aug 2017 18:32:06 +1000 Subject: [PATCH 2/3] Creating styled segments. - not showing ouch when there is no env variable --- segment-keymap.go | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/segment-keymap.go b/segment-keymap.go index 7e7aa821..92f96d96 100644 --- a/segment-keymap.go +++ b/segment-keymap.go @@ -4,28 +4,28 @@ import ( "os" ) +var editSegment = segment{ + content: "\u270E", + foreground: 15, + background: 161, +} + +var commandSegment = segment{ + content: "\u26CF", + foreground: 15, + background: 31, +} + func segmentKeymap(p *powerline) { var keymap string - var present bool if keymap == "" { - keymap, present = os.LookupEnv("KEYMAP_POWERLINE") - } - if !present { - keymap = "ouch" + keymap, _ = os.LookupEnv("KEYMAP_POWERLINE") } if keymap == "main" { - p.appendSegment("keymap", segment{ - content: " I ", - foreground: p.theme.RepoDirtyFg, - background: p.theme.RepoDirtyBg, - }) + p.appendSegment("keymap", editSegment) } if keymap == "vicmd" { - p.appendSegment("keymap", segment{ - content: " C ", - foreground: p.theme.RepoCleanFg, - background: p.theme.RepoCleanBg, - }) + p.appendSegment("keymap", commandSegment) } } From 2f3aa463a9becfb8a09a9defa0e6ed108aeef468 Mon Sep 17 00:00:00 2001 From: Tomas Vik Date: Wed, 30 Aug 2017 18:34:43 +1000 Subject: [PATCH 3/3] Updating README --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 4d0e0292..7586d262 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,15 @@ function install_powerline_precmd() { if [ "$TERM" != "linux" ]; then install_powerline_precmd fi + +function zle-line-init zle-keymap-select { + export KEYMAP_POWERLINE=$KEYMAP + powerline_precmd + zle reset-prompt +} + +zle -N zle-line-init +zle -N zle-keymap-select ``` ### Fish