From eed913409a070100d6a5d6792d81464c66dd0f6d Mon Sep 17 00:00:00 2001 From: Benjamin Chausse Date: Tue, 1 Apr 2025 11:29:52 -0400 Subject: Batman --- lua/rafta.lua | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 lua/rafta.lua diff --git a/lua/rafta.lua b/lua/rafta.lua new file mode 100644 index 0000000..b3483a4 --- /dev/null +++ b/lua/rafta.lua @@ -0,0 +1,39 @@ +local M = {} + +M.setup = function() + -- nothing +end + +---@class rafta.Slides +---@fields slides string[]: The slides of the file + +--- Takes some lines and parses them +---@param lines string[]: The lines in the buffer +---@return rafta.Slides +local parse_slides = function(lines) + local current_slide = {} + local sep = "^#" + + local slides = { slides = {} } + for _, line in ipairs(lines) do + print(line, "find:", line:find(sep), "|") + if line:find(sep) then + if #current_slide > 0 then + table.insert(slides.slides, current_slide) + end + current_slide = {} + end + table.insert(current_slide, line) + end + table.insert(slides.slides, current_slide) + return slides +end + +vim.print(parse_slides({ + "# Hello", + "this is something else", + "# World", + "this is another thing", +})) + +return M -- cgit v1.2.3