nixvim icon indicating copy to clipboard operation
nixvim copied to clipboard

[PLUGIN REQUEST] trailblazer.nvim

Open i-ilak opened this issue 7 months ago • 6 comments

Field Description
Plugin trailblazer.nvim
Homepage https://github.com/LeonHeidelbach/trailblazer.nvim
Nixpkgs false

Extra Information

There are lots of options needed for this Plugin, so I would suggest for a first iteration to just allow the raw Lua code.

A full attribute set containing all options for settings would look like this (i.e. 1-to-1 translation from the Lua default config):

{
  lang = "en";
  auto_save_trailblazer_state_on_exit = false;
  auto_load_trailblazer_state_on_enter = false;
  custom_session_storage_dir = ""; # i.e. "~/trail_blazer_sessions/"
  trail_options = {
    trail_mark_priority = 10001;
    available_trail_mark_modes = [
      "global_chron"
      "global_buf_line_sorted"
      "global_fpath_line_sorted"
      "global_chron_buf_line_sorted"
      "global_chron_buf_switch_group_chron"
      "global_chron_buf_switch_group_line_sorted"
      "buffer_local_chron"
      "buffer_local_line_sorted"
    ];
    current_trail_mark_mode = "global_chron";
    current_trail_mark_list_type = "quickfix";
    trail_mark_list_rows = 10;
    verbose_trail_mark_select = true;
    mark_symbol = "•";
    newest_mark_symbol = "⬤";
    cursor_mark_symbol = "⬤";
    next_mark_symbol = "⬤";
    previous_mark_symbol = "⬤";
    multiple_mark_symbol_counters_enabled = true;
    number_line_color_enabled = true;
    trail_mark_in_text_highlights_enabled = true;
    trail_mark_symbol_line_indicators_enabled = false;
    symbol_line_enabled = true;
    default_trail_mark_stacks = [
      "default" # , "stack_2", ...
    ];
    available_trail_mark_stack_sort_modes = [
      "alpha_asc"
      "alpha_dsc"
      "chron_asc"
      "chron_dsc"
    ];
    current_trail_mark_stack_sort_mode = "alpha_asc";
    move_to_nearest_before_peek = false;
    move_to_nearest_before_peek_motion_directive_up = "fpath_up";
    move_to_nearest_before_peek_motion_directive_down = "fpath_down";
    move_to_nearest_before_peek_dist_type = "lin_char_dist";
  };
  event_list = [
    # Add the events you would like to add custom callbacks for here. For more information see section "Custom Events"
    # "TrailBlazerTrailMarkStackSaved"
    # "TrailBlazerTrailMarkStackDeleted"
    # "TrailBlazerCurrentTrailMarkStackChanged"
    # "TrailBlazerTrailMarkStackSortModeChanged"
  ];
  mappings = {
    nv = {
      motions = {
        new_trail_mark = "<A-l>";
        track_back = "<A-b>";
        peek_move_next_down = "<A-J>";
        peek_move_previous_up = "<A-K>";
        move_to_nearest = "<A-n>";
        toggle_trail_mark_list = "<A-m>";
      };
      actions = {
        delete_all_trail_marks = "<A-L>";
        paste_at_last_trail_mark = "<A-p>";
        paste_at_all_trail_marks = "<A-P>";
        set_trail_mark_select_mode = "<A-t>";
        switch_to_next_trail_mark_stack = "<A-.>";
        switch_to_previous_trail_mark_stack = "<A-,>";
        set_trail_mark_stack_sort_mode = "<A-s>";
      };
    };
    # You can also add/move any motion or action to mode specific mappings i.e.:
    # i = {
    #   motions = {
    #     new_trail_mark = "<C-l>";
    #     ...
    #   };
    #   ...
    # };
  };
  quickfix_mappings = {
    nv = {
      motions = {
        qf_motion_move_trail_mark_stack_cursor = "<CR>";
      };
      actions = {
        qf_action_delete_trail_mark_selection = "d";
        qf_action_save_visual_selection_start_line = "v";
      };
      alt_actions = {
        qf_action_save_visual_selection_start_line = "V";
      };
    };
    v = {
      actions = {
        qf_action_move_selected_trail_marks_down = "<C-j>";
        qf_action_move_selected_trail_marks_up = "<C-k>";
      };
    };
  };
  # Your custom highlight group overrides go here
  # hl_groups = {}
}

i-ilak avatar Jun 10 '25 15:06 i-ilak