Skip to content

Commit 1ac3e0f

Browse files
fix(buffers): slugify db name for buffer matching and generation
Database names with spaces (or other special characters) caused buffer recovery and custom buffer name generation to fail because the raw name was used in regex matching and path construction, while buffer filenames are generated via slug(). Since slug() is identity for names without special characters, this change has no effect on existing users. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 07e92e2 commit 1ac3e0f

2 files changed

Lines changed: 3 additions & 2 deletions

File tree

autoload/db_ui.vim

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,8 @@ function! s:dbui.generate_new_db_entry(db) abort
237237
if !empty(self.save_path)
238238
let save_path = printf('%s/%s', self.save_path, a:db.name)
239239
endif
240-
let buffers = filter(copy(self.old_buffers), 'fnamemodify(v:val, ":e") =~? "^".a:db.name."-" || fnamemodify(v:val, ":t") =~? "^".a:db.name."-"')
240+
let db_name_slug = db_ui#utils#slug(a:db.name)
241+
let buffers = filter(copy(self.old_buffers), 'fnamemodify(v:val, ":e") =~? "^".db_name_slug."-" || fnamemodify(v:val, ":t") =~? "^".db_name_slug."-"')
241242

242243
let db = {
243244
\ 'url': a:db.url,

autoload/db_ui/query.vim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ function! s:query.generate_buffer_name(db, opts) abort
5353
let buffer_name = db_ui#utils#slug(printf('%s-%s', a:db.name, suffix))
5454
let buffer_name = printf('%s-%s', buffer_name, time)
5555
if type(g:Db_ui_buffer_name_generator) ==? type(function('tr'))
56-
let buffer_name = printf('%s-%s', a:db.name, call(g:Db_ui_buffer_name_generator, [a:opts]))
56+
let buffer_name = printf('%s-%s', db_ui#utils#slug(a:db.name), call(g:Db_ui_buffer_name_generator, [a:opts]))
5757
endif
5858

5959
if !empty(self.drawer.dbui.tmp_location)

0 commit comments

Comments
 (0)