summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIke Devolder <ike.devolder@gmail.com>2019-07-04 19:39:03 +0200
committerGitHub <noreply@github.com>2019-07-04 19:39:03 +0200
commit09d96a19eade142ee1fcb918f3f8c808cc803a5d (patch)
tree21573a991f8ec4434f494a186d0814fff5dbae01
parent205f848d819b063ef229273f28c0b4a570c5934e (diff)
parentd1b185b4bb1bf7fe3649fd679e7800e84b527842 (diff)
downloadvdebug-09d96a19eade142ee1fcb918f3f8c808cc803a5d.zip
Merge pull request #402 from Garethp/master
Making the window height/width and status bar configurable
-rw-r--r--plugin/vdebug.vim11
-rw-r--r--python3/vdebug/ui/vimui.py32
2 files changed, 39 insertions, 4 deletions
diff --git a/plugin/vdebug.vim b/plugin/vdebug.vim
index 9eb9ead..33a2dbe 100644
--- a/plugin/vdebug.vim
+++ b/plugin/vdebug.vim
@@ -93,12 +93,17 @@ let g:vdebug_options_defaults = {
\ 'continuous_mode' : 1,
\ 'background_listener' : 1,
\ 'auto_start' : 1,
+\ 'simplified_status': 1,
\ 'window_commands' : {
-\ 'DebuggerWatch' : 'vertical belowright new',
+\ 'DebuggerWatch' : 'below new',
\ 'DebuggerStack' : 'belowright new',
-\ 'DebuggerStatus' : 'belowright new'
+\ 'DebuggerStatus' : 'vertical leftabove new'
\ },
-\ 'window_arrangement' : ['DebuggerWatch', 'DebuggerStack', 'DebuggerStatus']
+\ 'window_size' : {
+\ 'DebuggerWatch' : { 'height' : 15 },
+\ 'DebuggerStatus' : { 'height' : 1, 'width': 60 },
+\ },
+\ 'window_arrangement' : ['DebuggerWatch', 'DebuggerStatus', 'DebuggerStack']
\}
" Different symbols for non unicode Vims
diff --git a/python3/vdebug/ui/vimui.py b/python3/vdebug/ui/vimui.py
index 3463705..1d1f210 100644
--- a/python3/vdebug/ui/vimui.py
+++ b/python3/vdebug/ui/vimui.py
@@ -142,6 +142,13 @@ class Ui(interface.Ui):
statuswin = self.windows.status()
statuswin.set_status("loading")
+ window_sizes = opts.Options.get('window_size', dict)
+ for window_name, settings in window_sizes.items():
+ if 'height' in settings:
+ self.windows.window(window_name).set_height(settings['height'])
+ if 'width' in settings:
+ self.windows.window(window_name).set_width(settings['width'])
+
log.Log.set_logger(log.WindowLogger(
opts.Options.get('debug_window_level'), self.windows.log()))
@@ -450,6 +457,12 @@ class Window(interface.Window):
height = 1
self.command('resize %i' % height)
+ def set_width(self, width):
+ width = int(width)
+ if width <= 0:
+ width =1
+ self.command('vertical resize %i' % width)
+
def write(self, msg, return_focus=True, after="normal G"):
self._buffer.write(msg, return_focus, lambda: self.command(after))
@@ -634,7 +647,24 @@ class StatusWindow(Window):
self.set_height(6)
def set_status(self, status):
- self.insert("Status: %s" % str(status), 0, True)
+ if opts.Options.get("simplified_status", int):
+ if str(status) == "stopped":
+ status = "■"
+ if str(status) == "running":
+ status = "▶"
+ if str(status) == "break":
+ status = "▌▌"
+
+ keys = util.Keymapper()
+
+ output = " " + str(status) + " "
+ output += "[%s Start] " % (keys.run_key())
+ output += "[%s Stop] " % (keys.close_key())
+ output += "[:help Vdebug]"
+
+ self.insert(output, 0, True)
+ else:
+ self.insert("Status: %s" % str(status), 0, True)
def mark_as_stopped(self):
self.set_status("stopped")