https://github.com/damon-kwok/v-mode
🌻 An Emacs major mode for the V programming language.
https://github.com/damon-kwok/v-mode
emacs-mode v vlang
Last synced: 11 months ago
JSON representation
🌻 An Emacs major mode for the V programming language.
- Host: GitHub
- URL: https://github.com/damon-kwok/v-mode
- Owner: damon-kwok
- License: gpl-3.0
- Created: 2020-07-20T04:46:52.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-10-07T06:47:47.000Z (over 3 years ago)
- Last Synced: 2025-05-13T21:43:07.309Z (about 1 year ago)
- Topics: emacs-mode, v, vlang
- Language: Emacs Lisp
- Homepage: https://vlang.io
- Size: 122 KB
- Stars: 62
- Watchers: 3
- Forks: 9
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: COPYING
Awesome Lists containing this project
- awesome-v - v-mode - Emacs major mode for the V programming language. (Other / Editor plugins)
README
[](https://github.com/damon-kwok/v-mode/blob/master/COPYING)
[](https://www.patreon.com/DamonKwok)
[](http://melpa.org/#/v-mode)
# V Mode
An Emacs major mode for the [V](https://vlang.io/) programming language.
- Screenshot

## Features
- [x] Syntax highlighting (font-lock)
- [x] Indentation
- [x] Workspace support
- [x] Auto format on save
- [x] Compilation integration
- [x] Code navigation (using `imenu`)
- [x] Go to definition (using `ctags`)
- [x] Code completion (using `company-mode`)
- [ ] REPL
## Installation
### Using MELPA
This package can be obtain from
[MELPA](http://melpa.org/#/v-mode) or
[MELPA Stable](http://stable.melpa.org/#/v-mode). The `master`
branch is continuously deployed to `MELPA`, and released versions are
deployed to `MELPA Stable`.
M-x package-install [RET] v-mode [RET]
Right now `v-mode` doesn't take a lot of configuration (i.e.
it's too simple to need any).
```elisp
(require 'v-mode)
(define-key v-mode-map (kbd "M-z") 'v-menu)
(define-key v-mode-map (kbd "") 'v-menu)
(define-key v-mode-map (kbd "C-c C-f") 'v-format-buffer)
```
### Using [use-package](https://github.com/jwiegley/use-package) and [straight.el](https://github.com/raxod502/straight.el)
```elisp
(use-package v-mode
:straight (v-mode
:type git
:host github
:repo "damon-kwok/v-mode"
:files ("tokens" "v-mode.el"))
:config
:bind-keymap
("M-z" . v-menu)
("" . v-menu)
("C-c C-f" . v-format-buffer)
:mode ("\\(\\.v?v\\|\\.vsh\\)$" . 'v-mode))
```