MCPcopy Index your code
hub / github.com/Dimev/mininotes

github.com/Dimev/mininotes @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
99 symbols 241 edges 8 files 75 documented · 76%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Mininotes

A small terminal text editor

app_screenshot

Features

  • grapheme navigation
  • line numbers
  • status bar
  • loading and saving
  • mouse to cursor position
  • undo/redo
  • selection
  • copy/paste
  • pageup/pagedown scroll
  • skip words navigation

Usage

Usage: [OPTIONS]

File path: path to the file to edit.

Options - -r --relative-line-numbers: enables relative line numbers - -d --disable-mouse-interaction: disables mouse clicking and dragging to move the cursor - -t --tab-width: how wide a tab is displayed. - -h --help: list these options

Keybinds

  • arrow keys: move cursor
  • Ctrl+arrow keys: move cursor, and skip past words (the first whitespace after a non-whitespace character)
  • Shift+arrow keys: move cursor, and add selection

  • Ctrl+c: copy selection

  • Ctrl+v: paste selection
  • Ctrl+x: cut selection

  • Alt+c: copy selection to system clipboard

  • Alt+v: paste selection from system clipboard
  • Alt+x: cut selection to system clipboard

  • Ctrl+z: undo change

  • Ctrl+y: redo change
  • Alt+d: discard changes since last save

  • Ctrl+s: save changes to file

  • Alt+q: quit (does not ask for confirmation)

Platforms

Should work on most desktop platforms and terminals

Tested on linux, windows and termux (android)

Licence

MIT, see LICENCE for details

Extension points exported contracts — how you extend this code

Widget (Interface)
UI widget [3 implementers]
src/ui.rs
LineLayout (Interface)
line layout, in order to lay out a single line [1 implementers]
src/editor.rs
Drawable (Interface)
draw a widget `R` is the result a draw produces [3 implementers]
src/ui.rs
Interactive (Interface)
handle input for a widget `I` is the input type, `O` is the result of an interaction [3 implementers]
src/ui.rs
DrawResult (Interface)
Trait representing a result of a draw These need to be combined after layout to produce a full draw result, so it needs [1 …
src/ui.rs
OutputResult (Interface)
Trait representing a result of an interaction Multiple interactions may happen for a widget, so they need to be combined [1 …
src/ui.rs

Core symbols most depended-on inside this repo

new
called by 26
src/clipboard.rs
get_columns_scrolled
called by 14
src/editor.rs
clear_selection
called by 9
src/editor.rs
string_width
called by 7
src/unicode.rs
len_lines
called by 7
src/editor.rs
move_cursor_horizontal
called by 7
src/editor.rs
add_item
called by 6
src/ui.rs
cut_selection
called by 6
src/editor.rs

Shape

Method 66
Class 11
Function 10
Enum 6
Interface 6

Languages

Rust100%

Modules by API surface

src/editor.rs47 symbols
src/ui.rs13 symbols
src/terminal.rs13 symbols
src/widgets_impl.rs10 symbols
src/widgets.rs5 symbols
src/main.rs4 symbols
src/clipboard.rs4 symbols
src/unicode.rs3 symbols

For agents

$ claude mcp add mininotes \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact