From c5d527d906cc0836c29d3733bde518929fda69eb Mon Sep 17 00:00:00 2001 From: VG Date: Fri, 24 Jul 2015 14:50:22 +0200 Subject: remove dependency to vim_bridge --- ftplugin/rst_tables.vim | 42 +++++++++++------------------------------- src/base.vim | 8 ++++---- src/rst_tables.py | 3 --- 3 files changed, 15 insertions(+), 38 deletions(-) diff --git a/ftplugin/rst_tables.vim b/ftplugin/rst_tables.vim index 6c994ce..ed2bd9f 100644 --- a/ftplugin/rst_tables.vim +++ b/ftplugin/rst_tables.vim @@ -20,16 +20,13 @@ python << endpython import vim import re import textwrap -import unicodedata -import codecs -from vim_bridge import bridged def get_table_bounds(): row, col = vim.current.window.cursor upper = lower = row try: - while vim.current.buffer[upper - 1].strip() and upper > 0: + while vim.current.buffer[upper - 1].strip(): upper -= 1 except IndexError: pass @@ -164,17 +161,8 @@ def table_line(widths, header=False): def get_field_width(field_text): - return max(map(get_string_width, field_text.split('\n'))) - -def get_string_width(string): - width = 0 - for char in list(string): - eaw = unicodedata.east_asian_width(char) - if eaw == 'Na' or eaw == 'H': - width += 1 - else: - width += 2 - return width + return max(map(lambda s: len(s), field_text.split('\n'))) + def split_row_into_lines(row): row = map(lambda field: field.split('\n'), row) @@ -285,39 +273,31 @@ def draw_table(indent, table, manual_widths=None): return output -@bridged def reformat_table(): upper, lower, indent = get_table_bounds() - encoding = vim.eval("&encoding") - slice = map(lambda x: codecs.decode(x, encoding), \ - vim.current.buffer[upper - 1:lower]) + slice = vim.current.buffer[upper - 1:lower] table = parse_table(slice) slice = draw_table(indent, table) - vim.current.buffer[upper - 1:lower] = map(lambda x: \ - codecs.encode(x, encoding), slice) + vim.current.buffer[upper - 1:lower] = slice -@bridged def reflow_table(): upper, lower, indent = get_table_bounds() - encoding = vim.eval("&encoding") - slice = map(lambda x: codecs.decode(x, encoding), \ - vim.current.buffer[upper - 1:lower]) + slice = vim.current.buffer[upper - 1:lower] widths = get_column_widths_from_border_spec(slice) table = parse_table(slice) slice = draw_table(indent, table, widths) - vim.current.buffer[upper - 1:lower] = map(lambda x: \ - codecs.encode(x, encoding), slice) + vim.current.buffer[upper - 1:lower] = slice endpython " Add mappings, unless the user didn't want this. " The default mapping is registered, unless the user remapped it already. if !exists("no_plugin_maps") && !exists("no_rst_table_maps") - if !hasmapto('ReformatTable(') - noremap c :call ReformatTable() + if !hasmapto(' reformat_table(') + noremap c :python reformat_table() endif - if !hasmapto('ReflowTable(') - noremap f :call ReflowTable() + if !hasmapto(' reflow_table(') + noremap f :python reflow_table() endif endif diff --git a/src/base.vim b/src/base.vim index 037a9dd..282f4e0 100644 --- a/src/base.vim +++ b/src/base.vim @@ -23,10 +23,10 @@ endpython " Add mappings, unless the user didn't want this. " The default mapping is registered, unless the user remapped it already. if !exists("no_plugin_maps") && !exists("no_rst_table_maps") - if !hasmapto('ReformatTable(') - noremap c :call ReformatTable() + if !hasmapto(' reformat_table(') + noremap c :python reformat_table() endif - if !hasmapto('ReflowTable(') - noremap f :call ReflowTable() + if !hasmapto(' reflow_table(') + noremap f :python reflow_table() endif endif diff --git a/src/rst_tables.py b/src/rst_tables.py index 50f5b3b..a2cfc43 100644 --- a/src/rst_tables.py +++ b/src/rst_tables.py @@ -1,7 +1,6 @@ import vim import re import textwrap -from vim_bridge import bridged def get_table_bounds(): @@ -255,7 +254,6 @@ def draw_table(indent, table, manual_widths=None): return output -@bridged def reformat_table(): upper, lower, indent = get_table_bounds() slice = vim.current.buffer[upper - 1:lower] @@ -264,7 +262,6 @@ def reformat_table(): vim.current.buffer[upper - 1:lower] = slice -@bridged def reflow_table(): upper, lower, indent = get_table_bounds() slice = vim.current.buffer[upper - 1:lower] -- cgit v1.2.3