https://github.com/octaltree/web-browser-lsp
web browser as a language server
https://github.com/octaltree/web-browser-lsp
Last synced: 2 months ago
JSON representation
web browser as a language server
- Host: GitHub
- URL: https://github.com/octaltree/web-browser-lsp
- Owner: octaltree
- Created: 2021-04-26T18:15:44.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-05-05T15:38:06.000Z (about 4 years ago)
- Last Synced: 2024-10-18T08:16:57.767Z (8 months ago)
- Language: Rust
- Size: 26.4 KB
- Stars: 18
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# web-browser-lsp
A toy program that implements a text-based web browser as a language server.## Motivation
My favorite progrmming tools are neovim, tmux on a fast terminal emulator and firefox. R.I.P. vimperator.
I've tried w3m, lynx, browsh, libsixel, vim-bind webextension, keyboard-driven browser, etc.
but I can't find anything that goes beyond vimerator.## Features
There is no implementation
* initialize, shutdown, exit
* `web-browser-lsp/tab` creates first tab but not connect
* `textDocument/formatting` shows tab contents in text editor
## Wish and Concept
* text-based web browser
* Using a full-featured browser
- Connecting via Chrome DevTools Protocol
- It's impossible to develop a full-featured browser by myself
* and you can switch to the GUI
- Non-textual rich contents may be required
* Human-readable text mode and Raw (html) mode
- Web developer friendly
- Nested [onclick] can be clicked precisely
* zoom in/out html tags
- Focus on the main content of a page with multiple columnsI'm considering about [operations required for the browser and corresponding lsp methods](./mapping_lsp.md).
## Credits
* [rust-analyzer/rust-analyzer](https://github.com/rust-analyzer/rust-analyzer) [MIT](https://github.com/rust-analyzer/rust-analyzer/blob/master/LICENSE-MIT)