Example #1
0
def update_viewer():
    linked_win, viewer_win = get_linked_viewer_wins()

    if linked_win is None or viewer_win is None:
        return

    viewer_width = int(vim.eval('winwidth({})'.format(viewer_win.number)))
    if viewer_width != 20:
        with window_context(viewer_win):
            cmd('vertical resize 20')

    viewer_line_start = viewer_win.buffer.vars.get('line_start', -1)
    viewer_line_end = viewer_win.buffer.vars.get('line_end', -1)

    line_start = line_end = None
    with window_context(linked_win):
        line_start = int(vim.eval('line("w0")')) - 1
        line_end = int(vim.eval('line("w$")'))

    if line_start != viewer_line_start or line_end != viewer_line_end:
        lines = linked_win.buffer[line_start:line_end]
        viewer_win.buffer[:] = list(as_ascii(lines))

        viewer_win.buffer.vars['line_start'] = line_start
        viewer_win.buffer.vars['line_end'] = line_end
Example #2
0
def open_viewer():
    linked_win, viewer_win = get_linked_viewer_wins()

    if viewer_win is None:
        cmd('rightbelow 20 vsplit', 'enew')

        viewer_win = vim.current.window

        win_id = linked_win.vars.get('hestrx_win_id', None)
        if win_id is None:
            win_id = next_win_id()
            linked_win.vars['hestrx_win_id'] = win_id
        viewer_win.vars['hestrx_linked_win'] = win_id

        viewer_win.options['list'] = False
        viewer_win.options['number'] = False
        viewer_win.options['relativenumber'] = False
        viewer_win.options['spell'] = False
        viewer_win.options['wrap'] = False

        buf = viewer_win.buffer
        buf.options['bufhidden'] = 'hide'
        buf.options['buftype'] = 'nofile'
        buf.options['swapfile'] = False
        buf.options['buflisted'] = False

        vim.current.window = linked_win

    update_viewer()
Example #3
0
def set_bin():
    buf = vim.current.buffer

    buf.options['buftype'] = ''
    del buf.vars['hestrx']

    if 'hestrx_filetype' in buf.vars:
        cmd('setlocal filetype=' + buf.vars['hestrx_filetype'].decode('ascii'))
        del buf.vars['hestrx_filetype']
Example #4
0
def set_hex():
    buf = vim.current.buffer

    buf.options['buftype'] = 'acwrite'
    buf.vars['hestrx'] = True

    current_filetype = buf.options['filetype']
    if current_filetype != 'shx':
        buf.vars['hestrx_filetype'] = current_filetype
        cmd('setlocal filetype=shx')

    if 'hestrx_write_hook' not in buf.vars:
        cmd('autocmd BufWriteCmd <buffer> pythonx hestrx_vim.save()')
        buf.vars['hestrx_write_hook'] = True
Example #5
0
def write_vim(file_name):
    write_cmd = 'write{} {} {}'.format(('!' if vim.vvars['cmdbang'] else ''),
                                       vim.vvars['cmdarg'], file_name)
    cmd(write_cmd)
Example #6
0
def close_viewer():
    linked_win, viewer_win = get_linked_viewer_wins()
    if viewer_win is not None:
        del viewer_win.vars['hestrx_linked_win']
        cmd('bdelete {}'.format(viewer_win.buffer.number))