micro-editor / micro-editor/micro

[Feature] Improving internal shell.

Open
#1,484 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
29.6k
Forks
1.4k
Avg merge
2d 18h
Merged PRs (30d)
10

Description

In this issue I'll list some issues I have faced when using the internal terminal.
I use the latest version from git.

  1. Terminal captures all input, this means there's no way to use any of micro's keybindings. There's no way to copy or paste stuff into the shell even when using the Insert key. (I think the pasting issue was fixed?)
  2. Exit message is visible in different tabs: https://i.imgur.com/IQJbw6X.png. And somehow when I use CtrlD immediately the message takes color of my prompt. (rel. line) (fix) MERGED
  3. Bold colors don't work. (Issue with https://github.com/zyedidia/terminal?)
  4. No ability to see history
  5. No ability to use scrollwheel in a pager
  6. When there are multiple tabs open it seems like opening a terminal will replace your current tab.

I'll add to this list as I find more issues on which can be improved. I am not familiar with Micro's code or GO itself but I'll see what I can do to work on these things myself. I know all of this isn't a priority but it's good to have an issue for referencing.

For the unaware: the internal shell can be opened with the term command. As of right now this is not listed in the documentation.

I am unaware if any of these have their roots in zyedidia/terminal or zyedidia/tcell instead of micro

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the term command and internal/shell/terminal.go, then reproduce each listed terminal behavior separately. Check whether each problem belongs to micro, zyedidia/terminal, or zyedidia/tcell before choosing a scope. Done should mean a separately defined terminal improvement is implemented and its behavior is verified.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.