micro-editor / micro-editor/micro

Insert cursor into a line rather than have it on top of the selected character

Open
#3,916 0 comments 1 reaction 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

Context

From the Canute Console Braille display development team.

The Canute Console is a 360 6-dot Braille display running Raspian (Debian based). The Braille display reflects the last 9 lines of the terminal. We use Micro as the primary text editor.

Because Braille has no option for background/foreground colour (common terminal way of showing the cursor), and because our display is 6-dot not 8-dot (the extra bottom two dots being the common refreshable Braille display method of showing cursor position), the cursor essentially blocks out the character it is on.

So rather than a string like this having the cursor visible over the letter P, it obscures the letter P (our default cursor shape is all six dots, represented here by the "=" sign, but it doesn't matter what cursor shape it is, it always obscures the letter underneath):

Hello, said Peter becomes, Hello, said =eter

Its not the end of the world but there are circumstances where it is far from ideal.

Proposed solution

An option in Micro configuration to insert the cursor as a character, therefore to move the letters over. So:

Hello, said Peter becomes, Hello, said =Peter

This will presumably have some consequences for line wrapping and so I can see it may not be trivial.

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

The issue names no files, tests, or entry points. Start by locating Micro's configuration handling and cursor rendering, then trace how line wrapping is handled; done means a configuration option inserts the cursor without losing the underlying character and the resulting wrapping behavior is covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.