mirror of
https://github.com/tbabej/taskwiki.git
synced 2025-08-18 21:33:07 +02:00
util: Implement and use get_var helper instead of manually decoding variables
This commit is contained in:
parent
bbdf73fe22
commit
61d0d89be9
5 changed files with 28 additions and 16 deletions
|
@ -56,9 +56,9 @@ class TaskCache(object):
|
|||
|
||||
def __init__(self):
|
||||
# Determine defaults
|
||||
default_rc = vim.vars.get('taskwiki_taskrc_location') or '~/.taskrc'
|
||||
default_data = vim.vars.get('taskwiki_data_location') or None
|
||||
extra_warrior_defs = vim.vars.get('taskwiki_extra_warriors', {})
|
||||
default_rc = util.get_var('taskwiki_taskrc_location') or '~/.taskrc'
|
||||
default_data = util.get_var('taskwiki_data_location') or None
|
||||
extra_warrior_defs = util.get_var('taskwiki_extra_warriors', {})
|
||||
|
||||
# Handle bytes (vim returnes bytes for Python3)
|
||||
if six.PY3:
|
||||
|
|
|
@ -315,7 +315,7 @@ class Meta(object):
|
|||
}
|
||||
|
||||
# If tw support is enabled, try to find definition in TW first
|
||||
if vim.vars.get('taskwiki_source_tw_colors'):
|
||||
if util.get_var('taskwiki_source_tw_colors'):
|
||||
|
||||
tw = cache.get_relevant_tw()
|
||||
|
||||
|
@ -422,11 +422,11 @@ class CallbackSplitMixin(object):
|
|||
# Remap <CR> to calling the callback and wiping the buffer
|
||||
vim.command(
|
||||
"nnoremap <silent> <buffer> <enter> :"
|
||||
+ util.decode_bytes(vim.vars['taskwiki_py']) +
|
||||
+ util.get_var('taskwiki_py') +
|
||||
"callback = {0}('');".format(self.__class__.__name__) +
|
||||
"orig_dict, selected_dict = pickle.loads("
|
||||
"base64.decodestring("
|
||||
"six.b(util.decode_bytes(vim.current.buffer.vars['taskwiki_callback'])))); "
|
||||
"six.b(util.get_var('taskwiki_callback')))); "
|
||||
"callback.__dict__.update(orig_dict);"
|
||||
"callback.selected.__dict__ = selected_dict;"
|
||||
"callback.callback(); "
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
import vim
|
||||
|
||||
from taskwiki import constants
|
||||
from taskwiki import util
|
||||
|
||||
class TaskSorter(object):
|
||||
def __init__(self, cache, tasks, sortstring=None):
|
||||
|
@ -8,7 +7,7 @@ class TaskSorter(object):
|
|||
self.tasks = tasks
|
||||
self.sortstring = (
|
||||
sortstring or
|
||||
vim.vars.get('taskwiki_sort_default') or
|
||||
util.get_var('taskwiki_sort_default') or
|
||||
constants.DEFAULT_SORT_ORDER
|
||||
) + ',line_number+'
|
||||
|
||||
|
|
|
@ -237,16 +237,16 @@ def show_in_split(lines, size=None, position="belowright", vertical=False,
|
|||
size = max([len(strip_ansi_escape_sequence(l)) for l in lines]) + 1
|
||||
|
||||
# If absolute maximum width was set, do not exceed it
|
||||
if vim.vars.get('taskwiki_split_max_width'):
|
||||
size = min(size, vim.vars.get('taskwiki_split_max_width'))
|
||||
if get_var('taskwiki_split_max_width'):
|
||||
size = min(size, get_var('taskwiki_split_max_width'))
|
||||
|
||||
else:
|
||||
# Number of lines
|
||||
size = len(lines)
|
||||
|
||||
# If absolute maximum height was set, do not exceed it
|
||||
if vim.vars.get('taskwiki_split_max_height'):
|
||||
size = min(size, vim.vars.get('taskwiki_split_max_height'))
|
||||
if get_var('taskwiki_split_max_height'):
|
||||
size = min(size, get_var('taskwiki_split_max_height'))
|
||||
|
||||
# Set cursorline in the window
|
||||
cursorline_activated_in_window = None
|
||||
|
@ -294,7 +294,7 @@ def show_in_split(lines, size=None, position="belowright", vertical=False,
|
|||
# Remove cursorline in original window if it was this split which set it
|
||||
if cursorline_activated_in_window is not None:
|
||||
vim.command("au BufLeave,BufDelete,BufWipeout <buffer> "
|
||||
+ decode_bytes(vim.vars['taskwiki_py']) +
|
||||
+ get_var('taskwiki_py') +
|
||||
" vim.windows[{0}].options['cursorline']=False"
|
||||
.format(cursorline_activated_in_window))
|
||||
|
||||
|
@ -407,3 +407,16 @@ def decode_bytes(var):
|
|||
}
|
||||
|
||||
return var
|
||||
|
||||
def get_var(name, default=None):
|
||||
"""
|
||||
Provide a layer for getting a variable value out of vim, consistent over
|
||||
vim+py22/vim+py3/neovim combinations.
|
||||
"""
|
||||
|
||||
value = vim.vars.get(name)
|
||||
|
||||
if value is None:
|
||||
return default
|
||||
else:
|
||||
return decode_bytes(value)
|
||||
|
|
|
@ -52,7 +52,7 @@ class ViewPort(object):
|
|||
self.tasks = set()
|
||||
self.sort = (
|
||||
sort or
|
||||
vim.vars.get('taskwiki_sort_order') or
|
||||
util.get_var('taskwiki_sort_order') or
|
||||
constants.DEFAULT_SORT_ORDER
|
||||
)
|
||||
|
||||
|
@ -217,7 +217,7 @@ class ViewPort(object):
|
|||
tw = cache.warriors[match.group('source') or 'default']
|
||||
|
||||
sort_id = match.group('sort')
|
||||
sorts_configured = vim.vars.get('taskwiki_sort_orders', {})
|
||||
sorts_configured = util.get_var('taskwiki_sort_orders', {})
|
||||
|
||||
sortstring = None
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue