From 2e6580d6b435ec37fe5ad397d2dc6e06a62f19e3 Mon Sep 17 00:00:00 2001 From: yannickreiss Date: Mon, 19 Feb 2024 16:01:37 +0100 Subject: [PATCH] Replaced print statements by write statements for nvim floating window --- lua/sourcer/init.lua | 46 +++++++++++++++++++++++++++++++++----------- 1 file changed, 35 insertions(+), 11 deletions(-) diff --git a/lua/sourcer/init.lua b/lua/sourcer/init.lua index 8d73648..b539e14 100644 --- a/lua/sourcer/init.lua +++ b/lua/sourcer/init.lua @@ -54,7 +54,16 @@ function M.lookup() url, empty = url:gsub(" ", "+") open_window() - print("Starting the request") + -- enable write to buffer + api.nvim_buf_set_option(buf, "modifiable", true) + + api.nvim_buf_set_lines(buf, 0, 1, false, { + "Interesting ACM Publications", + }) + + api.nvim_buf_set_lines(buf, 1, 2, false, { + "Requesting papers from ACM...", + }) -- Setup a http socket and request local command = string.format("wget -q -O - '%s'", url) @@ -72,16 +81,21 @@ function M.lookup() -- extract the rss feed link local rss_url = response:match('"https://dl%.acm%.org/action/showFeed%?.-"') if rss_url == nil then - print("ERROR in URL") + api.nvim_buf_set_lines(buf, 3, 4, false, { + "ERROR: Could not locate Feed!", + }) return end rss_url = rss_url:sub(2, #rss_url - 1) - print("Feed found at: " .. rss_url) + api.nvim_buf_set_lines(buf, 3, 4, false, { + "Feed found at: " .. rss_url, + }) local rss_content = httprequest(rss_url) - print("Received feed content") - print(rss_content) + api.nvim_buf_set_lines(buf, 4, 5, false, { + "Received feed content", + }) -- skip initial block local b, b_start = rss_content:find("", 1, false) @@ -150,12 +164,22 @@ function M.lookup() b = y end - print("Keywords: " .. keywords) - print("URL: " .. url) - print("Title: " .. #titles) - print("Links: " .. #links) - print("Descriptions: " .. #descriptions) - print("Dates: " .. #dates) + local current_line = 2 + for x = 1, #dates do + api.nvim_buf_set_lines(buf, current_line, -1, false, titles[x]) + current_line = current_line + 1 + api.nvim_buf_set_lines(buf, current_line, -1, false, dates[x]) + current_line = current_line + 1 + api.nvim_buf_set_lines(buf, current_line, -1, false, descriptions[x]) + current_line = current_line + 1 + api.nvim_buf_set_lines(buf, current_line, -1, false, links[x]) + current_line = current_line + 1 + api.nvim_buf_set_lines(buf, current_line, -1, false, "---") + current_line = current_line + 1 + end + + -- disable write / make buffer readonly + api.nvim_buf_set_option(buf, "modifiable", false) end return M