diff options
author | Ike Devolder <ike.devolder@gmail.com> | 2019-07-04 19:39:03 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-04 19:39:03 +0200 |
commit | 09d96a19eade142ee1fcb918f3f8c808cc803a5d (patch) | |
tree | 21573a991f8ec4434f494a186d0814fff5dbae01 | |
parent | 205f848d819b063ef229273f28c0b4a570c5934e (diff) | |
parent | d1b185b4bb1bf7fe3649fd679e7800e84b527842 (diff) | |
download | vdebug-09d96a19eade142ee1fcb918f3f8c808cc803a5d.zip |
Merge pull request #402 from Garethp/master
Making the window height/width and status bar configurable
-rw-r--r-- | plugin/vdebug.vim | 11 | ||||
-rw-r--r-- | python3/vdebug/ui/vimui.py | 32 |
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") |