diff options
Diffstat (limited to 'plugin')
| -rw-r--r-- | plugin/hackernews.py | 19 | ||||
| -rw-r--r-- | plugin/hackernews.vim | 2 |
2 files changed, 20 insertions, 1 deletions
diff --git a/plugin/hackernews.py b/plugin/hackernews.py index f742e13..0810b9f 100644 --- a/plugin/hackernews.py +++ b/plugin/hackernews.py @@ -109,6 +109,8 @@ def hacker_news_link(external=False): except: print "HackerNews.vim Error: HTTP Request Timeout" return + + save_pos() vim.command("edit .hackernews") if 'domain' in item: bwrite("%s (%s)" % (item['title'], item['domain'])) @@ -166,6 +168,7 @@ def hacker_news_link(external=False): except: print "HackerNews.vim Error: HTTP Request Timeout" return + save_pos() vim.command("edit .hackernews") if 'domain' in item: bwrite("%s (%s)" % (item['title'], item['domain'])) @@ -199,6 +202,7 @@ def hacker_news_link(external=False): except: print "HackerNews.vim Error: HTTP Request Timeout" return + save_pos() vim.command("edit .hackernews") for i, line in enumerate(content.split('\n')): if not line: @@ -210,6 +214,21 @@ def hacker_news_link(external=False): return +def save_pos(): + marks = vim.eval("g:hackernews_marks") + m = vim.current.buffer[0].encode('hex') + marks[m] = list(vim.current.window.cursor) + vim.command("let g:hackernews_marks = %s" % str(marks)) + + +def recall_pos(): + marks = vim.eval("g:hackernews_marks") + m = vim.current.buffer[0].encode('hex') + if m in marks: + mark = marks[m] + vim.current.window.cursor = (int(mark[0]), int(mark[1])) + + html = HTMLParser.HTMLParser() diff --git a/plugin/hackernews.vim b/plugin/hackernews.vim index 5e0b603..d3a6dd7 100644 --- a/plugin/hackernews.vim +++ b/plugin/hackernews.vim @@ -22,7 +22,7 @@ syntax on " Import Python code execute "python import sys" execute "python sys.path.append(r'" . expand("<sfile>:p:h") . "')" -execute "python from hackernews import hacker_news, hacker_news_link" +execute "python from hackernews import hacker_news, hacker_news_link, recall_pos" command! HackerNews python hacker_news() |
