-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feedback on API + integration #116
Comments
@stevearc Thank you for the feedback!
I hate obscure errors! For this event (a URI that is not able to find a match), you should an error that says netman cannot find a matching provider for the uri. I can word this in a better way if you would like, verbiage is quite important and if this error is not clear enough for a respective user of the framework, it needs to be updated to be more clear. That said, this error should crop up basically immediately when you attempt to do a
So given that a provider must adhere to what Netman says it can return, the metadata that is returned is all standardized. It can be found here and you can see an example of how it can be read, in a standard way here. I opted to go with the terminology
I am working through this right now actually! Though I made an active decision to not have I had no idea that async was going to be a main feature of Neovim, I am currently working through abusing libuv's Anyway! Thank you for the feedback, and once I get v1.1 merged into Main, that is when I would recommend taking a peek at this again (as I should have the kinks of consuming content from Netman worked out). I made a bit of a poor choice jumping to v1.0 when I did lol, but the decision is already made. If you would like, I can tag this issue when v1.1 is merged and I would be more than happy to help you integrate with Netman at that point (the less code I have to maintain, the better 😄 ) |
If you edit a file with two slashes as an absolute path (e.g.
That makes sense for the top-level API that you're trying to get all of your providers to conform to. It looks like there's some additional metadata for each of the entries, though (blksize, group, inode). Since you're already including that filesystem-specific information, I think it makes sense to also include a more detailed file type so we can distinguish a file from a symbolic link from a fifo, etc. Feel free to ping this issue when v1.1 is released, but I'm following the releases so I should get notified anyway :) |
Oh thats a true neovim error. I will look into that, you should get a netman error instead of the code crashing. Thanks for your help so far! I appreciate you :) |
With v1.15 in testing now, I think I have hit a good point where this issue can be closed out. I wouldn't call this "complete" per say (as has been called out a few times, my documentation is still lacking), but I do think overall netman has moved in a far enough direction that the various feedback points here have been addressed. @stevearc I may pull down oil and see if I can get netman integrated with it over christmas break. It has been on my list for a while and it seems like a decent start point for a new "thing" for netman. I don't promise anything usable but it is an interesting idea to poke at and spread netman :) |
Continuing the discussion from reddit, I took another stab at integrating netman into oil.nvim. I'm keeping the work in a branch for now. I was able to get further along than I did before, and I have a working proof-of-concept that can do read-only browsing. A couple of notes:
scp://host///path/to/file.txt
. For netrw, the equivalent would bescp://host//path/to/file.txt
. That extra/
threw me off for a while, because if it's missing I just get an obscure looking error. I personally prefer the netrw format (I don't see what the extra/
is for), but if you stick with this format I'd recommend adding some earlier url validation.TYPE = "regular file"
, whereas I'd expect that to beTYPE = "file"
to match libuv. That made me curious what other values are possible in that slot.This is probably as far as I'll go with the integration work until v1.1 is more stabilized. Nice work overall! Looking forward to seeing where this goes.
The text was updated successfully, but these errors were encountered: