Comments (11)
what about just re-doing Neogen command and it does it automatically ? So no need of a sync function?
This will not work because it'll override the annotation
from neogen.
Hmm it seems difficult to implement, as how we could retrieve easily the annotation and see if it has been changed
Do you have any ideas ? Maybe with some regex
from neogen.
Really what's needed is a treesitter grammar for the annotations themselves-- so it would be a feature that relatively few languages support, but IMO definitely worth it for popular ones.
I could implement this for Python google-style docstrings.
from neogen.
Really what's needed is a treesitter grammar for the annotations themselves-- so it would be a feature that relatively few languages support, but IMO definitely worth it for popular ones.
You mean creating a grammar for annotations ? That could work indeed, but as of right now, we don't have any.
from neogen.
you could retrieve the old annotation, create the new one, compare the "fields", see where values are set, set the im the new annotation -> profit :)
from neogen.
you could retrieve the old annotation
the problem is: how do you know something is the old annotation ? That's why having a parser for annotations could be a huge benefit, but I don't think it's something easily feasible
from neogen.
you just get the comment about the function and check if it's kinda like the annotations format e.g. ---
in lua
from neogen.
you just get the comment about the function and check if it's kinda like the annotations format e.g.
---
in lua
Even though, this check is not sufficient, take a look:
--- this is not meant to be an annotation
function test()
end
If we allow this type of behavior, this will mean that everything on top of the function, that has ---
will be deleted and replaced with new annotation. I don't think this is a good idea, because the user should be expected to clearly know the result of the command before typing it out.
from neogen.
hmmm
from neogen.
One way to handle this, would be to keep the Information about created annotation (with marks)
But that would mean that exiting neovim will lose the informations
from neogen.
For reference, it seems like this is possible with bare luasnip
(at least for the active session, exiting neovim still poses a problem). LuaSnip
's README
shows a GIF of this working, but the source code for the demo even admits that it is ugly and fragile. I'm not sure what the existing neogen
+luasnip
integration looks like, but I'm wondering if some combination of setting history = true
in luasnip
and using restoreNode
would get close?
from neogen.
Related Issues (20)
- Python google_docstring not behaving with optional arguments HOT 4
- C++ for functions with `[[nodiscard]]` HOT 1
- python reST HOT 5
- support ft=cpp.doxygen HOT 2
- Support for Moonscript HOT 2
- Support for python's `dataclass` members
- feat: change default annotation convention on the fly
- Cannot jump between marks HOT 2
- Doc: Snippet usage and example
- Ruby return is implicit HOT 2
- Check if generation possible for current cursor position HOT 2
- C# Xmldoc convention not working properly HOT 1
- Add Throw Support For Python Google Style (Raises:) HOT 1
- Duplicate @return tag in phpdoc HOT 1
- Python-raise expands with duplicate results
- Python type annotation missing HOT 4
- Using Neogen AST parsing for Syntax highlighting HOT 1
- Exclude bare-returns from generated Python docstrings HOT 1
- feature: please support /// comments for c and c++ HOT 1
- Incorrect parameter list in Python HOT 2
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 neogen.