interact.select_buffer
displays a list of active buffers
local buflist
within_activity (-> interact.select_buffer :editor), ->
buflist = get_ui_list_widget_column 2
assert.same {'a1-buffer', 'a2-buffer', 'b-buffer', 'c-buffer'}, buflist
filters the buffer list based on entered text
local buflist
within_activity (-> interact.select_buffer :editor), ->
command_line\write 'a-b'
buflist = get_ui_list_widget_column 2
assert.same {'a1-buffer', 'a2-buffer'}, buflist
previews currently selected buffer in the editor
previews = {}
down_event = {
key_code: 65364
key_name: 'down'
alt: false
control: false
meta: false
shift: false
super: false
}
within_activity (-> interact.select_buffer :editor), ->
table.insert previews, editor.buffer.title
command_line\handle_keypress down_event
table.insert previews, editor.buffer.title
assert.same {'a1-buffer', 'a2-buffer'}, previews
(when get_buffers is provided)
calls get_buffers to get buffer list
local buflist
get_buffers = -> {buffers[1], buffers[3]}
within_activity (-> interact.select_buffer :editor, :get_buffers), ->
buflist = get_ui_list_widget_column 2
assert.same {'a1-buffer', 'c-buffer'}, buflist
(sending binding_for("buffer-close"))
keymap = ctrl_w: 'buffer-close'
before_each -> bindings.push keymap
after_each -> bindings.remove keymap
close_event = {
alt: false,
character: "w",
control: true,
key_code: 119,
key_name: "w",
meta: false,
shift: false,
super: false
}
closes selected buffer
local buflist
within_activity (-> interact.select_buffer :editor), ->
command_line\handle_keypress close_event
command_line\handle_keypress close_event
buflist = get_ui_list_widget_column 2
assert.same {'b-buffer', 'c-buffer'}, buflist
preserves filter
local buflist
within_activity (-> interact.select_buffer :editor), ->
command_line\write 'a-b'
command_line\handle_keypress close_event
buflist = get_ui_list_widget_column 2
assert.same {'a2-buffer'}, buflist
(duplicate filenames)
before_each ->
for b in *app.buffers
app\close_buffer b
paths = {'/project1/some/file1', '/project2/some/file1', '/project2/path1/file2', '/project2/path2/file2'}
for path in *paths
b = app\new_buffer!
b.file = File path
Project.add_root File '/project1'
Project.add_root File '/project2'
uniquifies title by using project name and parent directory prefix
local buflist
within_activity (-> interact.select_buffer :editor), ->
buflist = get_ui_list_widget_column 2
assert.same {'file1 [project1]', 'file1 [project2]', 'path1/file2', 'path2/file2'}, buflist