Commit Graph

3100 Commits

Author SHA1 Message Date
Dmytro Maluka
aa9c476b1e Improve RemoveMultiCursor behavior
If the original selection was not done by the user manually but as a
result of the initial SpawnMultiCursor, deselect this original selection
if we execute RemoveMultiCursor and there is no multicursor to remove
(i.e. the original spawned cursor is the only one). This improves user
experience by making RemoveMultiCursor behavior nicely symmetrical to
SpawnMultiCursor.
2024-07-18 23:54:57 +02:00
Dmytro Maluka
2793c37a94 Fix SkipMultiCursor behavior when there is no selection
When there is no selection (i.e. selection is empty), SkipMultiCursor
searches for the empty text, "finds" it as the beginning of the buffer,
and as a result, jumps to the beginning of the buffer, which confuses
the user. Fix it.
2024-07-18 23:54:57 +02:00
Dmytro Maluka
7e09a921e4 Make it clear that ClearStatus is the same as ClearInfo
ClearInfo and ClearStatus actions do exactly the same thing. Let's keep
them both, for compatibility reasons (who knows how many users are using
either of the two), but at least document that there is no difference
between the two.
2024-07-18 23:54:56 +02:00
Dmytro Maluka
e2e8baf4f3 Improve misc actions return values 2024-07-18 23:54:14 +02:00
Dmytro Maluka
fc5d83f6c6 Improve RemoveMultiCursor & RemoveAllMultiCursors actions return values 2024-07-18 23:54:14 +02:00
Dmytro Maluka
781f057e6f Improve Undo & Redo actions return values
Return false if there is nothing to undo/redo.

This also fixes false "Undid action" and "Redid actions" infobar
messages in the case when no action was actually undone or redone.
2024-07-18 23:54:14 +02:00
Jöran Karl
762e31f2fd Merge pull request #3333 from masmu/feature/reset-search
Implemented `ResetSearch` and allow action chaining of `FindNext` and `FindPrevious`
2024-07-16 06:21:47 +02:00
Dmytro Maluka
1f71667616 Fix termpane not closing automatically after terminal job finished (#3386)
Fix regression caused by the fix 0de16334d3 ("micro: Don't forward
nil events into the sub event handler"): even if the terminal was
started with `wait` set to false, it is not closed immediately after
it finished its job, instead it shows "Press enter to close".

The reason is that since the commit b68461cf72 ("Terminal plugin
callback support") the termpane code has been (slightly hackily) relying
on nil events as notifications to close the terminal after it finished
its job. So fix this by introducing a separate CloseTerms() function
for notifying termpanes about that, decoupled from HandleEvent() which
is for tcell events only.
2024-07-15 09:35:50 +02:00
Neko Box Coder
a10624cc33 Fixing tabmove not working properly when there's a split in pane (#3371) 2024-07-07 10:20:22 +02:00
Massimo Mund
bbf6ec292e Implemented 'ResetSearch' to allow a search to be resetted
Added ResetSearch to the list of bindable actions in keybindings.md
2024-07-04 15:44:36 +02:00
Dmytro Maluka
dc7759204b Merge pull request #3357 from niten94/shell-sigint-recv
Receive SIGINT only in RunInteractiveShell
2024-06-28 10:37:41 +02:00
niten94
a84aa225ab Return error with start in RunInteractiveShell
Print and return error with process start in RunInteractiveShell if
process was not able to be started. Wait until enter is pressed even if
`wait` is false.

Co-authored-by: Dmitry Maluka <dmitrymaluka@gmail.com>
2024-06-22 21:21:13 +08:00
mdom
882b98f3f1 Fix typo in README.md (#3361) 2024-06-21 16:53:25 +02:00
Jöran Karl
0fa4a3a8db Merge pull request #3354 from JoeKar/feature/action-nightly
workflows: General improvements
2024-06-20 23:24:51 +02:00
Jöran Karl
531c7d88e2 workflow: Fetch with a fetch-depth of 0 and fetch-tags true
This will allow us to read the whole history especially all the tags.
2024-06-20 22:59:05 +02:00
Jöran Karl
c58ed0e51a workflows: Perform the setup uncached 2024-06-20 22:59:05 +02:00
Jöran Karl
f475220e67 workflows/test: Bump version of setup & checkout actions
This will correct the following warning:
"Node.js 16 actions are deprecated."
2024-06-20 22:59:05 +02:00
Jöran Karl
57375e0732 workflows/nightly: Allow manual trigger for better testability 2024-06-20 22:59:05 +02:00
Jöran Karl
d98fafd2f9 tools/build-version.go: Remove the git fetch step
build-version.go shall only provide information and not modify the repository
in which it runs.
2024-06-20 22:59:03 +02:00
Jöran Karl
f5a9744bde tools/build-version.go: Improve error verbosity 2024-06-20 22:30:00 +02:00
Borna Lang
a3e25e3701 docs: Improve plugin documentation (#3240)
* docs: Improve documentation

`commands.md`
  - documented the `reopen` command
  - improved the documentation of the `reload` command

`plugins.md`
  - added direct links to relevant external documentation pages
  - rewrote some sections
  - documented missing functions/callbacks
  - added a note about installing/managing plugins

* Omit number of default plugins

Co-authored-by: Jöran Karl <3951388+JoeKar@users.noreply.github.com>

---------

Co-authored-by: Jöran Karl <3951388+JoeKar@users.noreply.github.com>
2024-06-19 21:35:19 +02:00
Maxim Ostapenko
f0f4afa272 Added a way to install the program in ALT Linux (#3348) 2024-06-19 18:56:05 +02:00
Dmytro Maluka
3fb34cf4f2 Merge pull request #3355 from dmaluka/tab-mouse-events-fix
Fix non-working mouse events at the top line of the screen
2024-06-18 18:10:30 +02:00
niten94
f05d3582b3 Receive SIGINT only in RunInteractiveShell
Temporarily reset SIGINT signal handlers and receive SIGINT in
RunInteractiveShell. Do not try to kill the process in micro when signal
is received.
2024-06-17 19:07:10 +08:00
Dmytro Maluka
dc62dd9d82 autosave: don't save unmodified buffer (#3356)
Saving a buffer every time without even checking if it was modified
(i.e. even when the user is not editing the buffer) is wasteful,
especially if the autosave period is set to a short value.
2024-06-17 12:59:32 +02:00
niten94
26ae1b95cc Move sigterm channel to internal/util 2024-06-17 18:08:18 +08:00
Dmytro Maluka
0a6b32d775 TabList: HandleEvent: small refactoring 2024-06-16 14:02:36 +02:00
Dmytro Maluka
badaba66f3 Fix non-working mouse wheel scrolling on the top line of the screen
Scroll the tab bar only if there actually is the tab bar, otherwise
propagate the mouse wheel event to the bufpane.
2024-06-16 13:57:37 +02:00
Dmytro Maluka
602acff42f Fix non-working mouse click on top-left and top-right cells
Scroll the tab bar only if there actually is the tab bar, otherwise
propagate the mouse click event to the bufpane.
2024-06-16 13:57:21 +02:00
Jöran Karl
ced6d9487a Merge pull request #3334 from JoeKar/feature/action-nightly
nightly: Use GitHub Actions for scheduled builds
2024-06-15 14:35:29 +02:00
Jöran Karl
c701ba66af nightly: Use GitHub Actions for scheduled builds and artifact uploads 2024-06-15 13:24:36 +02:00
Jöran Karl
fc3a5cd038 tools: Improve cross-compile.sh
1. doesn't need a given parameter to set the VERSION,
since it is determined itself
2. moves the *.deb only in case package-deb.sh succeeded
3. rename *.tar.gz to *.tgz shorten the extension to...
4. add SHA256 sums per artifact
2024-06-15 13:24:30 +02:00
Jöran Karl
c965447416 tools: Improve package-deb.sh to check for fpm first and return the result 2024-06-15 13:24:26 +02:00
Mikko
352580a50a detect .pyw files (#3346) 2024-06-14 19:52:02 +02:00
Alex Rønne Petersen
55f45ce8ff Fix highlighting of load and reference directives in Cake syntax. (#3341) 2024-06-13 19:57:39 +02:00
Bryan Honof
650c0a8db0 Update README.md to include nix install and flox install (#3340)
* Update README.md to include nix install and flox install

* Update README to indent Linux install section
2024-06-12 19:23:49 +02:00
Commander Nout
bad1a4b8ca Update README.md to add brew install on MacOS (#3338)
Add installation option for Homebrew on MacOS. Homebrew is a popular package manager on MacOS - likely more popular than MacPorts.
2024-06-11 22:00:58 +02:00
Jöran Karl
5540cae610 Merge pull request #3337 from dmaluka/keyrune-usage-fix
Fix usage of tcell's `Rune()`
2024-06-10 21:01:27 +02:00
Dmytro Maluka
25c7fa55b1 De-duplicate code for KeyEvent creation 2024-06-10 02:54:37 +02:00
Dmytro Maluka
a85696d5e0 Don't use tcell's Rune() for non-KeyRune events
According to tcell documentation, Rune() should only be used for KeyRune
events. Otherwise its return value is not guaranteed and should not be
relied upon.

This fixes issue #2947: Esc key not working on Windows, since tcell
sends lone Esc key event with rune == 0 on Unix but with rune == 27
(the keycode) on Windows.
2024-06-10 02:30:55 +02:00
Alex Rønne Petersen
9face7484e Update Zig syntax to handle ZON (Zig Object Notation) files. (#3329) 2024-06-09 17:57:22 +02:00
Massimo Mund
f4d576b6e0 Allow action chaining of 'FindNext' and 'FindPrevious' 2024-06-08 11:06:54 +02:00
Dmytro Maluka
9eb8782ff2 Rework FindMatchingBrace() interface and implementation (#3319)
Instead of passing a single brace pair to FindMatchingBrace(), make it
traverse all brace pairs in buffer.BracePairs on its own.

This has the following advantages:

1. Makes FindMatchingBrace() easier to use, in particular much easier
   to use from Lua.

2. Lets FindMatchingBrace() ensure that we use just one matching brace -
   the higher-priority one. This fixes the following issues:

    ([foo]bar)
     ^

when the cursor is on `[`:

- Both `[]` and `()` pairs are highlighted, whereas the expected
  behavior is that only one pair is highlighted - the one that the
  JumpToMatchingBrace action would jump to.

- JumpToMatchingBrace action incorrectly jumps to `)` instead of
  `]` (which should take higher priority in this case).

In contrast, with `((foo)bar)` it works correctly.
2024-06-05 00:56:19 +02:00
Massimo Mund
46e55c8e91 Fixed trailing line spaces being ignored by word- or subword-jumps (#3321) 2024-06-04 21:10:09 +02:00
Neko Box Coder
dd913df9e9 Reordered prompt done callback to avoid accessing out of bound history (#3318)
* Reordered prompt done callback to avoid accessing out of bound history

* Formatting
2024-06-02 20:00:13 +02:00
Jöran Karl
e9bd1b35f4 Merge pull request #3270 from niten94/sh-break-continue
Add, move commands in shell syntax file
2024-05-22 22:21:06 +02:00
niten94
4911a56181 Add commands in shell syntax file
Add `break`, `command`, `continue`, `eval`, `exec`, `getopt`, `getopts`,
`trap` and `wait` command in shell syntax file.
2024-05-23 00:59:58 +08:00
niten94
343812bd2e Change color of commands in shell syntax file
Move `local`, `read`, `shift` and `time` to "Shell commands" in shell
syntax file.
2024-05-23 00:49:13 +08:00
Jöran Karl
35630aa736 Merge pull request #2665 from masmu/feature/sub-words
Implemented sub-word cursor movement
2024-05-22 06:24:19 +02:00
Massimo Mund
78fcf2fc31 Updated WordLeft() and WordRight() behavior to be in line with SubWordLeft() and SubWordRight() 2024-05-20 23:23:33 +02:00