canola.nvim/lua/canola/pathutil.lua
Barrett Ruth 0d3088f57e
refactor: rename oil to canola across entire codebase (#70)
Problem: the codebase still used the upstream \`oil\` naming everywhere —
URL schemes, the \`:Oil\` command, highlight groups, user events, module
paths, filetypes, buffer/window variables, LuaCATS type annotations,
vimdoc help tags, syntax groups, and internal identifiers.

Solution: mechanical rename of every reference. URL schemes now use
\`canola://\` (plus \`canola-ssh://\`, \`canola-s3://\`, \`canola-sss://\`,
\`canola-trash://\`, \`canola-test://\`). The \`:Canola\` command replaces
\`:Oil\`. All highlight groups, user events, augroups, namespaces,
filetypes, require paths, type annotations, help tags, and identifiers
follow suit. The \`upstream\` remote to \`stevearc/oil.nvim\` has been
removed and the \`vim.g.oil\` deprecation shim dropped.
2026-03-05 14:50:10 -05:00

29 lines
562 B
Lua

local M = {}
---@param path string
---@return string
M.parent = function(path)
if path == '/' then
return '/'
elseif path == '' then
return ''
elseif vim.endswith(path, '/') then
return path:match('^(.*/)[^/]*/$') or ''
else
return path:match('^(.*/)[^/]*$') or ''
end
end
---@param path string
---@return nil|string
M.basename = function(path)
if path == '/' or path == '' then
return
elseif vim.endswith(path, '/') then
return path:match('^.*/([^/]*)/$')
else
return path:match('^.*/([^/]*)$')
end
end
return M