vidar

command module
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2023 License: GPL-3.0 Imports: 12 Imported by: 0

README

vidar

Vidar is a general text editor, named after the Norse god of silence, patience, and revenge.

Vidar is a text editor written in go, intended for general use.

Quick start

~/.earthly/config.yml

Due to a bug in the communication between earthly and sr.ht, you will (at least for now) need to put the following in your ~/.earthly/config.yml:

git:
  git.sr.ht:
    pattern: git.sr.ht/([^/]+)/([^/]+)
    substitute: git@git.sr.ht/$1/$2
    auth: auto
install
$ earthly git.sr.ht/~nelsam/vidar+install --prefix ~/.local/

Or to install the binary directly

$ earthly git.sr.ht/~nelsam/vidar+install-bin --dest /path/to/some/dir/vidar
On Linux/OSX: Install Plugins!

You probably at least want to install the go syntax highlighting and language server plugin:

$ earthly git.sr.ht/~nelsam/vidar-plugin-go+install
Go Version

We're only supporting the latest stable version of Go. This doesn't necessarily mean that vidar won't work with older versions, but I promise nothing.

Configuration

Vidar uses xdg to decide where to save config files. On linux systems, this will probably end up in ~/.config/vidar/; for Windows and OS X, you'll likely need to check the xdg package to see what it uses.

Background

Vidar started as a repository that I had named gxui_playground. It was just a place for me to mess around with gxui. Three weeks later, I had something that I was actually starting to use for development (mostly only development of vidar itself, though).

Vidar is in a pretty reasonable place, now. Vidar's internal packages are heavily decoupled, which means that plugins shouldn't need to be rebuilt for every release of Vidar; state manipulation is all done through core operations, which may be accessed via the plugin API (see: (pkg/input).Binder). Core operations have hooks to trigger other functionality (e.g. syntax highlighting changes, remote sessions, etc).

Documentation

Overview

vidar is a modular text editor written in go. It is intended to perform all necessary features in a single window (without any pop-up dialog boxes), be reasonably lightweight, and keep all user interaction fast and uninterrupted.

The name 'vidar' comes from the old norse god of silence, patience, and revenge. This editor is designed to never get in your way (i.e. it stays quiet), wait for you to ask it for information before it provides anything (i.e. it is patient), and generally just be a good middleground between decent text editors with archaic key bindings (vim, emacs) and the proprietary crap that gets in our way more often than it helps us (goland, intellij). I guess maybe that's a form of revenge?

Directories

Path Synopsis
Package asset contains asset files (logos, icons, etc), as well as go-bindata generated files for the asset files.
Package asset contains asset files (logos, icons, etc), as well as go-bindata generated files for the asset files.
nav
Package core contains the core logic of vidar itself.
Package core contains the core logic of vidar itself.
internal
internal contains the core parts of vidar that make it work as a text editor.
internal contains the core parts of vidar that make it work as a text editor.
internal/gxui
Package gxui contains wrappers to make the gxui library act like a (git.sr.ht/~nelsam/vidar-lib/ui).Creator.
Package gxui contains wrappers to make the gxui library act like a (git.sr.ht/~nelsam/vidar-lib/ui).Creator.
op
Package op has sub-packages that provide core operations that can be used by plugins and built-ins to either to change the editor's state or to trigger hooks from changes to the editor's state.
Package op has sub-packages that provide core operations that can be used by plugins and built-ins to either to change the editor's state or to trigger hooks from changes to the editor's state.
Package levenshtein implements a levenshtein distance algorithm.
Package levenshtein implements a levenshtein distance algorithm.
Package test contains defaults and helpers for unit tests in vidar.
Package test contains defaults and helpers for unit tests in vidar.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL