Commit Graph

20 Commits

Author SHA1 Message Date
Christian Duerr 46c0f352c4
Add regex scrollback buffer search
This adds a new regex search which allows searching the entire
scrollback and jumping between matches using the vi mode.

All visible matches should be highlighted unless their lines are
excessively long. This should help with performance since highlighting
is done during render time.

Fixes #1017.
2020-07-09 21:45:22 +00:00
Kirill Chibisov b15b476371
Rework default config binding replacement
This reworks the criteria necessary for default bindings to be
overwritten by custom user bindings. It should provide a better
heuristic which accounts for the possibility that notmodes are added
which prevent a conflict between the bindings, so the default isn't
unnecessarily removed.

It is still possible to define a new binding that intersects a default
binding without the default getting removed, if the user explicitly
specifies a mode that doesn't include the default binding's mode. This
is based on the assumption that users explicitly specifying a new mode
are trying to make a mode-specific addition and are capable of removing
the default when desired.

This helps with old modes still being present in user's config files,
since a lot of new config options just have the additional ~Vi mode set.

Fixes #3476.
2020-06-15 03:12:39 +03:00
Christian Duerr 7aafbb757d
Remove copyright notice from files
Keeping the license as part of every file bloats up the files
unnecessarily and introduces an additional overhead to the creation of
new modules.

Since cargo already provides excellent dependency management, most of
the code-reuse of Alacritty should occur through Rust's dependency
management instead of copying it source.

If code is copied partially, copying the license from the main license
file should be just as easy as copying from the top of the file and
making some adjustments based on where it is used is likely necessary
anyways.
2020-06-06 21:49:14 +03:00
Kirill Chibisov f99220f015
Refactor Shell, Command, and Launcher to share impl 2020-06-05 01:10:31 +03:00
Alexey Chernyshov 49a1ac96f4
Treat Shift + Backspace as Backspace 2020-05-07 15:37:49 +03:00
Christian Duerr 81ce93574f
Extend style guideline documentation 2020-05-05 22:50:23 +00:00
David Herberth 17a3b85265
Use numbers instead of strings for additional mouse bindings
Fixes: #2861.
2020-05-02 02:03:28 +03:00
Kirill Chibisov c9c5fbbe2b
Add CopyPrimary keybinding action on Linux/BSD 2020-03-23 23:46:33 +00:00
Christian Duerr 1a8cd172e5
Add modal keyboard motion mode
This implements a basic mode for navigating inside of Alacritty's
history with keyboard bindings. They're bound by default to vi's motion
shortcuts but are fully customizable. Since this relies on key bindings
only single key bindings are currently supported (so no `ge`, or
repetition).

Other than navigating the history and moving the viewport, this mode
should enable making use of all available selection modes to copy
content to the clipboard and launch URLs below the cursor.

This also changes the rendering of the block cursor at the side of
selections, since previously it could be inverted to be completely
invisible. Since that would have caused some troubles with this keyboard
selection mode, the block cursor now is no longer inverted when it is at
the edges of a selection.

Fixes #262.
2020-03-18 02:35:08 +00:00
Nathan Lilienthal 64db7d3daa
Add default keybinding for SpawnNewInstance on macOS 2020-03-17 22:37:36 +03:00
Christian Duerr 3b8ef3a0c4
Revert "Fix backspace deleting chars when IME is open"
This reverts commit 7f4dce2ee0.

Originally it was assumed that macOS always sends the \x7f on backspace
anyways, however this is not true. It seems like the character on
backspace can change even within the same terminal session, so we need
to have our own binding to reliably set the correct binding.

A solution for #1606 should be implemented in cooperation with winit.
2020-02-10 23:41:48 +00:00
Christian Duerr 7f4dce2ee0
Fix backspace deleting chars when IME is open
Fixes #1606.
2020-01-30 22:16:30 +00:00
Christian Duerr 871a22eaf4
Fix inconsistent test module naming 2020-01-28 12:32:35 +00:00
Christian Duerr dd1413eb4d
Force exact modifiers match for mouse bindings
Fixes #3152.
2020-01-10 00:44:41 +00:00
Christian Duerr fc86d7620e
Fix keybinding deserialization
Fixes #3160.
2020-01-07 15:59:23 +00:00
Christian Duerr 183ceee3ad
Remove winit key remappings 2020-01-06 22:06:09 +00:00
Kirill Chibisov 0cc68da04f Add `Minimize` binding action
Fixes #2534.
2020-01-05 01:54:14 +00:00
Christian Duerr 1cfb0740bc
Bump winit to 0.20.0 Alpha 6
Fixes #3070.
Fixes #2893.
Fixes #2877.
Fixes #2829.
Fixes #2767.
Fixes #2271.
2020-01-05 01:00:50 +00:00
Kirill Chibisov 0d637a096a Add Insert/Delete bindings with combined modifiers
Fixes #3046.
2019-11-28 21:18:22 +01:00
Christian Duerr 729eef0c93
Update to winit/glutin EventLoop 2.0
This takes the latest glutin master to port Alacritty to the EventLoop
2.0 rework.

This changes a big part of the event loop handling by pushing the event
loop in a separate thread from the renderer and running both in
parallel.

Fixes #2796.
Fixes #2694.
Fixes #2643.
Fixes #2625.
Fixes #2618.
Fixes #2601.
Fixes #2564.
Fixes #2456.
Fixes #2438.
Fixes #2334.
Fixes #2254.
Fixes #2217.
Fixes #1789.
Fixes #1750.
Fixes #1125.
2019-10-05 02:29:26 +02:00