plugins.leap.enable

Whether to enable leap.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.leap.package

Which package to use for the leap.nvim plugin.

Type: package

Default: <derivation vimplugin-leap.nvim-2024-05-14>

Declared by:

plugins.leap.addDefaultMappings

Whether to enable the default mappings.

Type: boolean

Default: true

Declared by:

plugins.leap.caseSensitive

Whether to consider case in search patterns.

Plugin default: false

Type: null or boolean or raw lua code

Default: null

Declared by:

plugins.leap.equivalenceClasses

A character will match any other in its equivalence class. The sets can either be defined as strings or tables.

Example:

  [
    "\r\n"
    ")]}>"
    "([{<"
    [ "\"" "'" "`" ]
  ]

Note: Make sure to have a set containing \n if you want to be able to target characters at the end of the line.

Note: Non-mutual aliases are not possible in Leap, for the same reason that supporting |smartcase| is not possible: we would need to show two different labels, corresponding to two different futures, at the same time.

Plugin default: [" \t\r\n"]

Type: null or (list of (string or list of string))

Default: null

Declared by:

plugins.leap.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.leap.highlightUnlabeledPhaseOneTargets

Whether to highlight unlabeled (i.e., directly reachable) matches after the first input character.

Plugin default: false

Type: null or boolean or raw lua code

Default: null

Declared by:

plugins.leap.labels

Target labels to be used when there are more matches than labels in |leap.opts.safe_labels| plus one.

Setting the list to [] forces autojump to always be on (except for Operator-pending mode, where it makes no sense). In this case, do not forget to set special_keys.next_group to something “safe” too.

Plugin default:

[
  "s" "f" "n" "j" "k" "l" "h" "o" "d" "w" "e" "m" "b" "u" "y" "v" "r" "g" "t" "c" "x" "/"
  "z" "S" "F" "N" "J" "K" "L" "H" "O" "D" "W" "E" "M" "B" "U" "Y" "V" "R" "G" "T" "C" "X"
  "?" "Z"
]

Type: null or (list of string)

Default: null

Declared by:

plugins.leap.maxHighlightedTraversalTargets

Number of targets to be highlighted after the cursor in |leap-traversal| mode (when there are no labels at all).

Plugin default: 10

Type: null or signed integer or floating point number or raw lua code

Default: null

Declared by:

plugins.leap.maxPhaseOneTargets

By default, the plugin shows labels and/or highlights matches right after the first input character. This option disables ahead-of-time displaying of target beacons beyond a certain number of phase one targets (to mitigate visual noise in extreme cases). Setting it to 0 disables two-phase processing altogether.

Type: null or signed integer

Default: null

Declared by:

plugins.leap.safeLabels

When the number of matches does not exceed the number of these “safe” labels plus one, the plugin jumps to the first match automatically after entering the pattern. Obviously, for this purpose you should choose keys that are unlikely to be used right after a jump!

Setting the list to [] effectively disables the autojump feature.

Note: Operator-pending mode ignores this, since we need to be able to select the actual target before executing the operation.

Plugin default: ["s" "f" "n" "u" "t" "/" "S" "F" "N" "L" "H" "M" "U" "G" "T" "?" "Z"]

Type: null or (list of string)

Default: null

Declared by:

plugins.leap.substituteChars

The keys in this attrs will be substituted in labels and highlighted matches by the given characters. This way special (e.g. whitespace) characters can be made visible in matches, or even be used as labels.

Example: {"\r" = "¬";}

Plugin default: {}

Type: null or (attribute set of string)

Default: null

Declared by: