summaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
authorryanss2015-02-09 23:36:55 -0500
committerryanss2015-02-09 23:36:55 -0500
commitbf2266ce059684c5b35424a030d37eee97399e3a (patch)
tree789a6c0b3c5d1b935ec86f5c1de07b35d0bfd2d0 /plugin
parent985fab2bbdac01dae965dec6d48c2a978e6e8f3d (diff)
downloadvim-hn-bf2266ce059684c5b35424a030d37eee97399e3a.tar.gz
Save cursor position when moving back/forward #11
Diffstat (limited to 'plugin')
-rw-r--r--plugin/hackernews.py19
-rw-r--r--plugin/hackernews.vim2
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()