Add parent dir name to ambigous files

This commit is contained in:
RingOfStorms (Josh) 2024-08-22 19:12:26 -05:00
parent 76504a2fd5
commit 2a0bb2617b

View file

@ -44,6 +44,168 @@ local function gitblame()
return "" return ""
end end
local function smart_tab_name()
local filepath = vim.fn.expand("%:p")
local parent_dir = vim.fn.fnamemodify(filepath, ":h:t")
local filename = vim.fn.fnamemodify(filepath, ":t")
-- Define a whitelist of patterns
local whitelist = {
"index%..*",
"mod%..*",
"Dockerfile",
".env",
".env%..*",
"README%..*",
"LICENSE",
"Makefile",
"build%..*",
"config%..*",
"setup%..*",
"init%..*",
"main%..*",
"app%..*",
"test%..*",
"spec%..*",
"package%..*",
"requirements%..*",
"manifest%..*",
"composer%..*",
"gulpfile%..*",
"Gruntfile%..*",
"webpack%..*",
"tsconfig%..*",
"babel%..*",
"eslint%..*",
"prettier%..*",
"tslint%..*",
"karma%..*",
"jest%..*",
"mocha%..*",
"rollup%..*",
"vite%..*",
"nuxt%..*",
"next%..*",
"angular%..*",
"vue%..*",
"tailwind%..*",
"postcss%..*",
"stylelint%..*",
"editorconfig",
"gitignore",
"gitattributes",
"gitmodules",
"docker-compose%..*",
"dockerfile%..*",
"dockerignore",
"travis%..*",
"circleci%..*",
"appveyor%..*",
"azure-pipelines%..*",
"codecov%..*",
"coveralls%..*",
"dependabot%..*",
"renovate%..*",
"vercel%..*",
"netlify%..*",
"heroku%..*",
"now%..*",
"firebase%..*",
"amplify%..*",
"serverless%..*",
"cloudformation%..*",
"terraform%..*",
"ansible%..*",
"chef%..*",
"puppet%..*",
"salt%..*",
"helm%..*",
"kustomize%..*",
"kubernetes%..*",
"skaffold%..*",
"tilt%..*",
"argocd%..*",
"flux%..*",
"istio%..*",
"linkerd%..*",
"prometheus%..*",
"grafana%..*",
"loki%..*",
"jaeger%..*",
"opentelemetry%..*",
"zipkin%..*",
"thanos%..*",
"victoria-metrics%..*",
"cortex%..*",
"alertmanager%..*",
"blackbox%..*",
"node_exporter%..*",
"cadvisor%..*",
"fluentd%..*",
"fluentbit%..*",
"logstash%..*",
"filebeat%..*",
"metricbeat%..*",
"heartbeat%..*",
"packetbeat%..*",
"winlogbeat%..*",
"auditbeat%..*",
"functionbeat%..*",
"elastic-agent%..*",
"elasticsearch%..*",
"kibana%..*",
"logstash%..*",
"beats%..*",
"opensearch%..*",
"opensearch-dashboards%..*",
"graylog%..*",
"sumologic%..*",
"datadog%..*",
"newrelic%..*",
"dynatrace%..*",
"appdynamics%..*",
"instana%..*",
"lightstep%..*",
"signalfx%..*",
"wavefront%..*",
"scout%..*",
"rollbar%..*",
"sentry%..*",
"bugsnag%..*",
"airbrake%..*",
"raygun%..*",
"overops%..*",
"pagerduty%..*",
"opsgenie%..*",
"victorops%..*",
"xmatters%..*",
"statuspage%..*",
"status.io%..*",
"pingdom%..*",
"uptimerobot%..*",
"site24x7%..*",
"betteruptime%..*",
"freshping%..*",
"healthchecks%..*",
"deadmanssnitch%..*",
"cronitor%..*",
"cronhub%..*",
"cronitor%..*",
"healthchecks.io%..*",
}
-- Check if the filename matches any pattern in the whitelist
for _, pattern in ipairs(whitelist) do
if filename:match(pattern) then
return parent_dir .. "/" .. filename
end
end
-- If no match, return just the filename
return filename
end
return { return {
"nvim-lualine/lualine.nvim", "nvim-lualine/lualine.nvim",
-- dependencies = { { "folke/noice.nvim", optional = true } }, -- dependencies = { { "folke/noice.nvim", optional = true } },
@ -80,7 +242,7 @@ return {
winbar = { winbar = {
lualine_a = { lualine_a = {
{ {
"filename", smart_tab_name,
symbols = { symbols = {
modified = "", -- Text to show when the file is modified. modified = "", -- Text to show when the file is modified.
readonly = "[-]", -- Text to show when the file is non-modifiable or readonly. readonly = "[-]", -- Text to show when the file is non-modifiable or readonly.
@ -96,7 +258,7 @@ return {
inactive_winbar = { inactive_winbar = {
lualine_a = { lualine_a = {
{ {
"filename", smart_tab_name,
symbols = { symbols = {
modified = "", -- Text to show when the file is modified. modified = "", -- Text to show when the file is modified.
readonly = "[-]", -- Text to show when the file is non-modifiable or readonly. readonly = "[-]", -- Text to show when the file is non-modifiable or readonly.