@@ -51,80 +51,5 @@ end, {
5151 end ,
5252})
5353
54- -- :OasisExport command to export colorschemes using Shipwright
55- vim .api .nvim_create_user_command (" OasisExport" , function (opts )
56- local args = vim .split (opts .args , " %s+" )
57- local action = args [1 ] or " all"
58-
59- local exporter = require (" _exported_themes.export_all" )
60-
61- if action == " all" then
62- -- Export all palettes in Lua format
63- exporter .export_lua_all ()
64- elseif action == " both" then
65- -- Export all palettes in both Lua and VimScript formats
66- exporter .export_both_formats ()
67- elseif action == " list" then
68- -- List available palettes
69- local palettes = exporter .list_palettes ()
70- print (" Available palettes:" )
71- for _ , palette in ipairs (palettes ) do
72- print (" " .. palette )
73- end
74- elseif action and action ~= " " then
75- -- Export specific palette
76- local format = args [2 ] or " lua"
77- exporter .export_single (action , format )
78- else
79- print (" Usage: :OasisExport [all|both|list|<palette_name> [lua|vim]]" )
80- print (" all - Export all palettes as Lua files" )
81- print (" both - Export all palettes as both Lua and VimScript files" )
82- print (" list - List available palette names" )
83- print (" <palette_name> [format] - Export specific palette (default: lua)" )
84- end
85- end , {
86- nargs = " *" ,
87- complete = function (arglead , cmdline , cursorpos )
88- local args = vim .split (cmdline , " %s+" )
89- local arg_count = # args
90-
91- -- Account for incomplete arguments
92- if cmdline :match (" %s$" ) then
93- arg_count = arg_count + 1
94- end
95-
96- if arg_count == 2 then
97- -- First argument: action or palette name
98- local actions = { " all" , " both" , " list" }
99- local exporter = require (" _exported_themes.export_all" )
100- local palettes = exporter .list_palettes ()
101-
102- local completions = {}
103- for _ , action in ipairs (actions ) do
104- if action :find (" ^" .. vim .pesc (arglead )) then
105- table.insert (completions , action )
106- end
107- end
108- for _ , palette in ipairs (palettes ) do
109- if palette :find (" ^" .. vim .pesc (arglead )) then
110- table.insert (completions , palette )
111- end
112- end
113- return completions
114- elseif arg_count == 3 then
115- -- Second argument: format (only for specific palette)
116- local formats = { " lua" , " vim" }
117- local completions = {}
118- for _ , format in ipairs (formats ) do
119- if format :find (" ^" .. vim .pesc (arglead )) then
120- table.insert (completions , format )
121- end
122- end
123- return completions
124- end
125-
126- return {}
127- end ,
128- })
12954
13055return M
0 commit comments