micro-editor / micro-editor/micro

terminal emulation: missing primary device attribute (for fish)

Open
#4,083 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Description

fish shell >=4.1 assumes terminals implement Primary Device Attribute, see the "Required Commands" table at https://fishshell.com/docs/current/terminal-compatibility.html

In micro, if I do ctrl-e term enter, and then run

bash$ printf '\033[0c'; cat -v

I see no output, which shows that micro's terminal does not send the Primary Device Attribute.
This is a reason why fish shows an error and some startup delay.

Another bug that causes breakage OOTB with fish is that micro's term interprets printf '\033[=u' as "move cursor to the top left". This is wrong; only printf '\033[u' should do that (i.e. if no private mode = byte was specified).

Originally reported at https://www.reddit.com/r/fishshell/comments/1s0sgv7/problem_opening_terminal_inside_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 by reproducing both cases in micro's embedded terminal with printf '\033[0c'; cat -v and printf '\033[=u'. Trace the terminal emulation handling for Primary Device Attribute and cursor save sequences; done means fish no longer reports the missing attribute and \033[=u is not treated like \033[u.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.