From 8a2479a43d143077eef1da148096297af3298b2f Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Sat, 16 Apr 2016 17:33:13 -0400 Subject: [PATCH] Update todolist, and readme Add binaries to readme and a screenshot of micro. --- README.md | 86 +++++++++++++++++++++--- runtime/colorschemes/solarized-tc.micro | 13 ++++ screenshot.png | Bin 0 -> 113976 bytes src/buffer.go | 2 +- src/colorscheme.go | 2 +- src/help.go | 9 ++- src/highlighter.go | 4 +- src/messenger.go | 6 +- src/micro.go | 15 +++-- src/statusline.go | 3 +- src/view.go | 28 ++++++-- todolist.md | 33 +++++---- 12 files changed, 157 insertions(+), 44 deletions(-) create mode 100644 runtime/colorschemes/solarized-tc.micro create mode 100644 screenshot.png diff --git a/README.md b/README.md index 8a13a875..23c2c591 100644 --- a/README.md +++ b/README.md @@ -4,28 +4,50 @@ [![Go Report Card](http://goreportcard.com/badge/zyedidia/micro)](http://goreportcard.com/report/zyedidia/micro) [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/zyedidia/micro/blob/master/LICENSE) -> Micro is a work in progress, not suitable for use yet. +> Micro is very much a work in progress Micro is a command line text editor that aims to be easy to use and intuitive, while also taking advantage of the full capabilities of modern terminals. +Here is a picture of micro editing its source code. + +![Screenshot](./screenshot.png) + # Features * Easy to use * Common keybindings (ctrl-s, ctrl-c, ctrl-v, ctrl-z...) * Extremely good mouse support -* True color support * Cross platform -* Fast and efficient * Syntax highlighting (in over [75 languages](runtime/syntax)!) +* Colorscheme support +* True color support (set the `MICRO_TRUECOLOR` env variable to 1 to enable it) +* Search and replace +* Undo and redo +* Small and simple +* Configurable -Not all of this is implemented yet -- see [progress](#progress) +If you'd like to see what has been implemented, and what I plan on implementing soon-ish, see the [todo list](todolist.md) # Installation -Installation is simple. For now you must build from source, although in the future binaries will be provided. +### Prebuilt binaries -Make sure your `GOPATH` is set. +| Download | +| --- | +| [Mac OS X](http://zbyedidia.webfactional.com/micro/binaries/micro-osx.tar.gz) | +| [64 bit Linux](http://zbyedidia.webfactional.com/micro/binaries/micro-linux64.tar.gz) | +| [32 bit Linux](http://zbyedidia.webfactional.com/micro/binaries/micro-linux32.tar.gz) | +| [Arm Linux](http://zbyedidia.webfactional.com/micro/binaries/micro-linux-arm.tar.gz) | + +Once you have downloaded the file, you can install the runtime files by running `./install.sh` +in the directory you downloaded. This will place all the runtime files in `~/.micro`. + +To run the micro binary just run `./bin/micro` (you may want to place the binary on your path for ease of use). + +### Building from source + +Micro is made in Go so you must have Go installed on your system to build it, and make sure your `GOPATH` is set. ``` $ git clone https://github.com/zyedidia/micro @@ -37,6 +59,54 @@ This will build micro and put the binary in the current directory. It will also Alternatively you can use `make install` instead of `make` if you want the binary to be added to you `GOBIN` (make sure that it is set). -# Progress +# Usage -Micro is very much a work in progress right now. To see what has and hasn't been done yet, see the [todolist](todolist.md) +Once you have built the editor, simply start it by running `micro path/to/file.txt` or simply `micro` to open an empty buffer. + +Micro also supports creating buffers from `stdin`: + +``` +$ ifconfig | micro +``` + +You can move the cursor around with the arrow keys and mouse. + +#### Keybindings + +* Ctrl-q: Quit +* Ctrl-s: Save +* Ctrl-o: Open file +* Ctrl-z: Undo +* Ctrl-y: Redo +* Ctrl-f: Find +* Ctrl-a: Select all +* Ctrl-c: Copy +* Ctrl-x: Cut +* Ctrl-v: Paste +* Ctrl-h: Open help +* Ctrl-u: Half page up +* Ctrl-d: Half page down +* PageUp: Page up +* PageDown: Page down +* Ctrl-e: Execute a command + +You can also use the mouse to manipulate the text. Simply clicking and dragging will select text. You can also double click +to enable word selection, and triple click to enable line selection. + +# Configuration + +At this point, there isn't much you can configure. +Micro has a few options which you can set: + +* colorscheme +* tabsize +* syntax + +To set an option run Ctrl-e to execute a command, and type `set option value`, so to set the tabsize to 8 it would be `set tabsize 8`. + +Any option you set in the editor will be saved to the file `~/.micro/settings.json` so, in effect, your configuration file will be created +for you. If you'd like to take your configuration with you to another machine, simply copy the `settings.json` to the other machine. + +# Contributing + +If you find any bugs, please report them! I am also happy to accept pull requests from anyone. diff --git a/runtime/colorschemes/solarized-tc.micro b/runtime/colorschemes/solarized-tc.micro new file mode 100644 index 00000000..cbe58258 --- /dev/null +++ b/runtime/colorschemes/solarized-tc.micro @@ -0,0 +1,13 @@ +color-link default "#839496,#002833" +color-link comment "#586E75,#002833" +color-link identifier "#268BD2,#002833" +color-link constant "#2AA198,#002833" +color-link statement "#859900,#002833" +color-link prepreoc "#CB4B16,#002833" +color-link type "#B58900,#002833" +color-link special "#DC322F,#002833" +color-link underlined "#D33682,#002833" +color-link error "bold #CB4B16,#002833" +color-link todo "bold #D33682,#002833" +color-link statusline "#003541,#839496" +color-link line-numer "#586E75,#003541" diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..22f39dae9748f9e6300ac18e08432a91453f5c8a GIT binary patch literal 113976 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 z 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 xI^y|-( 1 { fg, bg = split[0], split[1] diff --git a/src/help.go b/src/help.go index 27051986..b8efab9e 100644 --- a/src/help.go +++ b/src/help.go @@ -16,6 +16,8 @@ Ctrl-o: Open file Ctrl-z: Undo Ctrl-y: Redo +Ctrl-f: Find + Ctrl-a: Select all Ctrl-c: Copy @@ -35,6 +37,11 @@ Possible commands: 'quit': Quits micro 'save': saves the current buffer + +'replace "search" "value"': This will replace 'search' with 'value'. +Note that 'search' must be a valid regex. If one of the arguments +does not have any spaces in it, you may omit the quotes. + 'set option value': sets the option to value. Please see the next section for a list of options you can set Micro options: @@ -66,7 +73,7 @@ func DisplayHelp() { lines := totalLines[topline:lineEnd] for y, line := range lines { for x, ch := range line { - st := tcell.StyleDefault + st := defStyle screen.SetContent(x, y, ch, nil, st) } } diff --git a/src/highlighter.go b/src/highlighter.go index 64787aaa..00f8b5a2 100644 --- a/src/highlighter.go +++ b/src/highlighter.go @@ -156,7 +156,7 @@ func LoadSyntaxFile(filename string) { // The user could give us a "color" that is really a part of the colorscheme // in which case we should look that up in the colorscheme // They can also just give us a straight up color - st := tcell.StyleDefault + st := defStyle if _, ok := colorscheme[color]; ok { st = colorscheme[color] } else { @@ -201,7 +201,7 @@ func LoadSyntaxFile(filename string) { // The user could give us a "color" that is really a part of the colorscheme // in which case we should look that up in the colorscheme // They can also just give us a straight up color - st := tcell.StyleDefault + st := defStyle if _, ok := colorscheme[color]; ok { st = colorscheme[color] } else { diff --git a/src/messenger.go b/src/messenger.go index df9f3f21..bb30ba2f 100644 --- a/src/messenger.go +++ b/src/messenger.go @@ -50,7 +50,7 @@ type Messenger struct { // Message sends a message to the user func (m *Messenger) Message(msg string) { m.message = msg - m.style = tcell.StyleDefault + m.style = defStyle if _, ok := colorscheme["message"]; ok { m.style = colorscheme["message"] @@ -61,7 +61,7 @@ func (m *Messenger) Message(msg string) { // Error sends an error message to the user func (m *Messenger) Error(msg string) { m.message = msg - m.style = tcell.StyleDefault. + m.style = defStyle. Foreground(tcell.ColorBlack). Background(tcell.ColorMaroon) @@ -172,7 +172,7 @@ func (m *Messenger) Reset() { func (m *Messenger) Clear() { w, h := screen.Size() for x := 0; x < w; x++ { - screen.SetContent(x, h-1, ' ', nil, tcell.StyleDefault) + screen.SetContent(x, h-1, ' ', nil, defStyle) } } diff --git a/src/micro.go b/src/micro.go index 89025981..33cf6777 100644 --- a/src/micro.go +++ b/src/micro.go @@ -23,8 +23,11 @@ var ( // Object to send messages and prompts to the user messenger *Messenger - redrawStatus int - searching bool + // Is there currently a search in progress + searching bool + + // The default style + defStyle tcell.Style ) // LoadInput loads the file input for the editor @@ -72,6 +75,9 @@ func main() { InitSettings() + // Load the syntax files, including the colorscheme + LoadSyntaxFiles() + // Should we enable true color? truecolor := os.Getenv("MICRO_TRUECOLOR") == "1" @@ -82,9 +88,6 @@ func main() { os.Setenv("TERM", "xterm-truecolor") } - // Load the syntax files, including the colorscheme - LoadSyntaxFiles() - // Initilize tcell screen, err = tcell.NewScreen() if err != nil { @@ -114,7 +117,7 @@ func main() { }() // Default style - defStyle := tcell.StyleDefault. + defStyle = tcell.StyleDefault. Foreground(tcell.ColorDefault). Background(tcell.ColorDefault) diff --git a/src/statusline.go b/src/statusline.go index a62b046a..f02d499f 100644 --- a/src/statusline.go +++ b/src/statusline.go @@ -1,7 +1,6 @@ package main import ( - "github.com/gdamore/tcell" "strconv" ) @@ -43,7 +42,7 @@ func (sline *Statusline) Display() { centerText := "Press Ctrl-h for help" - statusLineStyle := tcell.StyleDefault.Reverse(true) + statusLineStyle := defStyle.Reverse(true) if style, ok := colorscheme["statusline"]; ok { statusLineStyle = style } diff --git a/src/view.go b/src/view.go index dfc1a31a..51a433d3 100644 --- a/src/view.go +++ b/src/view.go @@ -10,8 +10,8 @@ import ( ) // The View struct stores information about a view into a buffer. -// It has a value for the cursor, and the window that the user sees -// the buffer from. +// It has a stores information about the cursor, and the viewport +// that the user sees the buffer from. type View struct { cursor Cursor @@ -356,18 +356,26 @@ func (v *View) HandleEvent(event tcell.Event) { switch e.Key() { case tcell.KeyUp: // Cursor up + v.cursor.ResetSelection() v.cursor.Up() case tcell.KeyDown: // Cursor down + v.cursor.ResetSelection() v.cursor.Down() case tcell.KeyLeft: // Cursor left + v.cursor.ResetSelection() v.cursor.Left() case tcell.KeyRight: // Cursor right + v.cursor.ResetSelection() v.cursor.Right() case tcell.KeyEnter: // Insert a newline + if v.cursor.HasSelection() { + v.cursor.DeleteSelection() + v.cursor.ResetSelection() + } v.eh.Insert(v.cursor.Loc(), "\n") v.cursor.Right() // Rehighlight the entire buffer @@ -376,6 +384,10 @@ func (v *View) HandleEvent(event tcell.Event) { // v.UpdateLines(v.cursor.y-1, v.cursor.y) case tcell.KeySpace: // Insert a space + if v.cursor.HasSelection() { + v.cursor.DeleteSelection() + v.cursor.ResetSelection() + } v.eh.Insert(v.cursor.Loc(), " ") v.cursor.Right() v.UpdateLines(v.cursor.y, v.cursor.y) @@ -405,6 +417,10 @@ func (v *View) HandleEvent(event tcell.Event) { v.cursor.lastVisualX = v.cursor.GetVisualX() case tcell.KeyTab: // Insert a tab + if v.cursor.HasSelection() { + v.cursor.DeleteSelection() + v.cursor.ResetSelection() + } v.eh.Insert(v.cursor.Loc(), "\t") v.cursor.Right() v.UpdateLines(v.cursor.y, v.cursor.y) @@ -600,7 +616,7 @@ func (v *View) DisplayView() { line := v.buf.lines[lineN+v.topline] // Write the line number - lineNumStyle := tcell.StyleDefault + lineNumStyle := defStyle if style, ok := colorscheme["line-number"]; ok { lineNumStyle = style } @@ -637,14 +653,14 @@ func (v *View) DisplayView() { // } else if lineN < len(v.lastMatches) && colN < len(v.lastMatches[lineN]) { // highlightStyle = v.lastMatches[lineN][colN] // } else { - // highlightStyle = tcell.StyleDefault + // highlightStyle = defStyle // } if v.cursor.HasSelection() && (charNum >= v.cursor.curSelection[0] && charNum < v.cursor.curSelection[1] || charNum < v.cursor.curSelection[0] && charNum >= v.cursor.curSelection[1]) { - lineStyle = tcell.StyleDefault.Reverse(true) + lineStyle = defStyle.Reverse(true) if style, ok := colorscheme["selection"]; ok { lineStyle = style @@ -679,7 +695,7 @@ func (v *View) DisplayView() { (charNum >= v.cursor.curSelection[0] && charNum < v.cursor.curSelection[1] || charNum < v.cursor.curSelection[0] && charNum >= v.cursor.curSelection[1]) { - selectStyle := tcell.StyleDefault.Reverse(true) + selectStyle := defStyle.Reverse(true) if style, ok := colorscheme["selection"]; ok { selectStyle = style diff --git a/todolist.md b/todolist.md index ce1daa32..6c824d97 100644 --- a/todolist.md +++ b/todolist.md @@ -10,16 +10,16 @@ - [ ] Horizontal splits - [ ] Vertical splits -- [ ] More keybindings - - [x] Page up and page down - - [x] CtrlA for select all - - [x] CtrlO for open file - - [ ] CtrlF for find - - [x] CtrlZ for undo - - [x] CtrlY for redo - - [ ] Custom bindings +- [ ] Persistent undo/redo (saved between open and closing micro) + +- [ ] Auto indent + +- [ ] More options + - [ ] Tabs to spaces + - [ ] Wrap lines + ### Done - [x] Line numbers @@ -34,6 +34,9 @@ - [x] Proper error handling +- [x] Syntax highlighting + - [x] Use nano-like syntax files (https://github.com/scopatz/nanorc) + - [x] Cleanup - [x] Unicode support @@ -42,6 +45,14 @@ - [x] Allow executing simple commands at the bottom of the editor (like vim or emacs) +- [x] More keybindings + - [x] Page up and page down + - [x] CtrlA for select all + - [x] CtrlO for open file + - [x] CtrlF for find + - [x] CtrlZ for undo + - [x] CtrlY for redo + - [x] Help screen - [x] Help screen which lists keybindings and commands - [x] Opened with Ctrl-h @@ -54,15 +65,9 @@ - [x] Saved between sessions - [x] Colorscheme - [x] tab size - - [ ] tabs or spaces - -- [x] Syntax highlighting - - [x] Use nano-like syntax files (https://github.com/scopatz/nanorc) - - [ ] Optimization - [x] Undo/redo - [x] Undo/redo stack - - [ ] Persistent undo/redo (saved between open and closing micro) - [x] Clipboard support - [x] Paste