From c8dc1635f8a921269f714117f414bbc7ba24f9fd Mon Sep 17 00:00:00 2001 From: moxie Date: Sat, 14 Mar 2026 10:28:08 +0200 Subject: refactor: consolidate modules and improve structure --- lua/muwiki/files.lua | 98 ---------------------------------------------------- 1 file changed, 98 deletions(-) delete mode 100644 lua/muwiki/files.lua (limited to 'lua/muwiki/files.lua') diff --git a/lua/muwiki/files.lua b/lua/muwiki/files.lua deleted file mode 100644 index 6ec2bc2..0000000 --- a/lua/muwiki/files.lua +++ /dev/null @@ -1,98 +0,0 @@ -local config = require('muwiki.config') -local paths = require('muwiki.paths') -local fs = require('muwiki.fs') - -local M = {} - -function M.open_in_buffer(filepath) - local bufnr = vim.fn.bufnr(filepath, true) - vim.api.nvim_win_set_buf(0, bufnr) -end - -function M.open_external(url) - if type(url) ~= 'string' then - vim.notify('Invalid URL type', vim.log.levels.ERROR) - return false - end - - local valid, err = paths.validate_url_scheme(url) - if not valid then - vim.notify(err, vim.log.levels.ERROR) - return false - end - - vim.system({ 'xdg-open', url }, { detach = true }) - return true -end - -function M.open_index(name) - local wiki_path = config.wiki_path(name) - if not wiki_path then - return - end - - local index_path = vim.fs.joinpath(wiki_path, config.options.index_file) - M.open_in_buffer(index_path) -end - -function M.resolve(filepath, wiki_root) - if not wiki_root then - error('wiki_root parameter is required for secure path resolution') - end - - local path = paths.strip_file_protocol(filepath) - - local resolved = paths.resolve(path, wiki_root) - - return paths.validate_within_wiki(resolved, wiki_root, filepath) -end - -function M.is_text_file(ext) - local ext_lower = ext:lower() - for _, text_ext in ipairs(config.options.text_extensions) do - if ext_lower == text_ext then - return true - end - end - return false -end - -function M.normalize_filename(text) - local normalized = text:lower() - normalized = normalized:gsub('%s+', '_') - normalized = normalized:gsub('[^%w_%-%.]', '') - return normalized -end - -function M.open_wiki_file(filepath) - local templates = require('muwiki.templates') - - local exists = fs.file_exists(filepath) - - if not exists and config.options.create_missing_dirs then - local wiki_root = config.wiki_root(0) - if wiki_root then - local mode = config.options.create_missing_dirs - - if mode == 'prompt' then - fs.ensure_parent_dirs(filepath, wiki_root, mode, function(success) - if success then - M.open_in_buffer(filepath) - templates.init_file(vim.api.nvim_get_current_buf(), filepath) - end - end) - return - else - local success = fs.ensure_parent_dirs(filepath, wiki_root, mode) - if not success then - return - end - end - end - end - - M.open_in_buffer(filepath) - templates.init_file(vim.api.nvim_get_current_buf(), filepath) -end - -return M -- cgit v1.2.3