From fc847c8996363a3abf349b66d379403aecd71472 Mon Sep 17 00:00:00 2001 From: pommicket Date: Fri, 14 Jul 2023 11:24:02 -0400 Subject: copy-path command --- command.c | 8 ++++++++ command.h | 3 +++ 2 files changed, 11 insertions(+) diff --git a/command.c b/command.c index fd75189..96c04b6 100644 --- a/command.c +++ b/command.c @@ -70,6 +70,7 @@ static CommandName command_names[] = { {"autocomplete", CMD_AUTOCOMPLETE}, {"autocomplete-back", CMD_AUTOCOMPLETE_BACK}, {"find-usages", CMD_FIND_USAGES}, + {"copy-path", CMD_COPY_PATH}, {"goto-definition", CMD_GOTO_DEFINITION}, {"goto-definition-at-cursor", CMD_GOTO_DEFINITION_AT_CURSOR}, {"goto-declaration-at-cursor", CMD_GOTO_DECLARATION_AT_CURSOR}, @@ -304,6 +305,13 @@ void command_execute_ex(Ted *ted, Command c, CommandArgument full_argument, Comm } } break; + case CMD_COPY_PATH: + if (buffer) { + SDL_SetClipboardText(buffer->path); + } else { + SDL_SetClipboardText(ted->cwd); + } + break; case CMD_TAB: if (ted->replace && buffer == &ted->find_buffer) { ted_switch_to_buffer(ted, &ted->replace_buffer); diff --git a/command.h b/command.h index 97a7c43..72dfb7c 100644 --- a/command.h +++ b/command.h @@ -116,6 +116,9 @@ typedef enum { CMD_PASTE, CMD_FIND, CMD_FIND_REPLACE, + + /// copy path to current file + CMD_COPY_PATH, CMD_TAB_CLOSE, /// argument = index of tab (starting at 0) -- cgit v1.2.3