Comments (10)
How do I use
acme-lsp
with Edwood on Windows whereplumb
is not a native command?
You can't unfortunately. I've opened fhs/acme-lsp#14.
from edwood.
Conceivably #47 should be folded into this?
from edwood.
Having just discovered that Ctrl-F works in Acme. How does one pick one of the completions in in the +Errors window? Just Snarf it?
I think it would be really interesting to hook this into one of Go's auto-complete libraries.
from edwood.
Yes. Snarf the result or type more until there is only one choice.
And yes. The point of the bug would be to permit an external auto-completion system to be added with the libraries that you're thinking about or something like YCM running as a separate program.
from edwood.
Note: bash
has some kind of external autocomplete system. It might be worth when designing this feature to see if an external autocomplete engine could reuse bash
autocomplete data.
from edwood.
Language Server Protocol (LSP) has support for auto-completion. I've been working on a tool that integrates LSP with acme. Currently I can have a window in acme that shows a list of possible completions in a window and update it as I move the cursor. However, the way I'm implementing it is very inefficient because it reads the whole body when I move the cursor (or type something).
I think what's needed for an external auto-completion (and other LSP features) is a log file for each window, similar to the global log file, but it'd allow clients to passively monitor each window. In theory this should already be possible with the event file, but somehow writing back events to the event file doesn't always update the tag correctly. So, perhaps the event file needs to be fixed instead.
Something else to think about: can we expand the file server enough, so that it's possible to separate the acme file server part from the GUI part? This would make something like sam -r
possible with acme.
from edwood.
Several comments:
- LSP sounds cool. It would really cool for your tool to connect Edwood to LSP. I'll have to try out your tool.
- Feel free to share your ideas on what the UI should be for picking auto-completions.
- Per-Window log files seem comparatively easy as a feature enhancement
- Can you expand on what the event file issue? In particular, do you have a simple replica case that shows the problem?
- Splitting the acme file server from the GUI is major surgery. I think that I'll eventually make it easier to contemplate with what I'm doing with #97 but at least at present, model updates and view updates are tightly intertwined.
from edwood.
My LSP tool should already work with Edwood, since the file server is currently compatible with acme. I've been using it for a while instead of A and acmego for Go programming. It doesn't use the official Go lsp server yet, but it will when that's ready.
The problem with event file is that if you run a simple program (see below) that just writes back the events, "Put" and "Undo" doesn't automatically show up when you modify the text in the window. The window is marked as dirty but somehow the tag isn't updated so that the user can Save/Undo the file.
I'm not too concerned with picking auto-completion just yet. I'd be happy just to get a list of completions that's computed fast.
package main
import (
"log"
"os"
"strconv"
"9fans.net/go/acme"
)
func main() {
n, err := strconv.Atoi(os.Getenv("winid"))
if err != nil {
panic(err)
}
w, err := acme.Open(n, nil)
if err != nil {
panic(err)
}
for {
e, err := w.ReadEvent()
if err != nil {
break
}
if err := w.WriteEvent(e); err != nil {
log.Printf("WriteEvent: %v\n", err)
}
}
}
from edwood.
Out of curiosity, as I am currently trying to make it work:
My LSP tool should already work with Edwood
How do I use acme-lsp
with Edwood on Windows where plumb
is not a native command?
from edwood.
Thank you.
from edwood.
Related Issues (20)
- Crash in SetTag
- Backward search performance is terrible using :-/xxx HOT 2
- Filename undo/redo incorrectly sets selection
- Window handle not set right in zeroxes
- Remote Edwood Question HOT 5
- Interop correctly with long-press i18n UI
- new tarball in releases HOT 2
- Broken frame insertion since #436 HOT 2
- Crash when attempting to snarf text on Windows 10 HOT 4
- ReadRuneAt coding error
- how do I configure plumb rule on window system HOT 6
- Undo isn't grouping sets of typed characters together. HOT 1
- MacOS IME integration HOT 1
- Make CrLf invisible HOT 7
- Column widths adjust strangely on window resize HOT 2
- Repeatable crash HOT 3
- plan9port support HOT 1
- Occasional crash HOT 1
- Event file missing chorded messages. HOT 4
- fatal error in Buffer.undone reading inserted contents: EOF HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from edwood.