Commit Graph

144 Commits

Author SHA1 Message Date
Daniel Mathiot
b525173cd7 Fix behavior when calling different types
This Closes #5 and exposes something that I was not aware of:
lua seems to perform shallow copies when doing table assignments
2021-08-27 13:17:27 +02:00
Daniel Mathiot
4cebcbcfdf (c) Fix return_statement in tree
As the return statement in inside the body (aka compound_statement in TS), it was not being recognized.
I added it and return_statement is now being retrieved.
2021-08-27 12:09:35 +02:00
Andreas Schneider
29679840d6 Add support for C-doxygen 2021-08-27 12:00:07 +02:00
Daniel Mathiot
fddd50553e (lua) types are now guessed for type annotations
This made me to do small adjustments to the tree extractor, and it now
can retrieve fixed positions from the tree. If no node_type name is
specified, it will put all nodes fetched from fixed positions to ["_"]
= values
2021-08-26 12:28:46 +02:00
Daniel Mathiot
d90b697104 Only append annotation if there's one 2021-08-26 12:27:56 +02:00
Daniel Mathiot
48f8f4dd65 (lua) Full specs for type annotations 2021-08-26 11:03:41 +02:00
Daniel Mathiot
93797725e6 (js) Add support for class 2021-08-25 15:49:26 +02:00
Daniel Mathiot
b57e833e32 Fix template not rendering with no opts.type 2021-08-25 14:29:26 +02:00
Daniel Mathiot
a8954178da (lua) add type annotation for variables 2021-08-25 14:13:32 +02:00
Daniel Mathiot
1002ae5948 Add support for multiple types, see Readme:Usage 2021-08-25 13:39:55 +02:00
Daniel Mathiot
f5390e1c1f Refactor of default generator 2021-08-25 12:32:17 +02:00
Daniel Mathiot
ce765cc43c (lua) Add support for returns in local_functions
The extractor function being the same, I refactored the lua config file
a little bit
2021-08-25 12:22:36 +02:00
Daniel Mathiot
85cd80f8e6 If blank line is specified, do not add indentation
Closes #4
2021-08-24 22:11:54 +02:00
Daniel Mathiot
b58292f71f Add default comments when no results (python, lua) 2021-08-24 17:06:32 +02:00
Daniel Mathiot
bf66cb12b5 (js) Add support for functions in var_declarations 2021-08-24 12:52:16 +02:00
Daniel Mathiot
14424a0887 (js) Add support for functions in statements 2021-08-24 12:44:33 +02:00
Daniel Mathiot
3a40a1d111 Add support for empty jsdoc comment 2021-08-24 12:09:43 +02:00
Daniel Mathiot
98329fcf77 Add basic support for javascript
At the moment, it recognizes simple functions, their params and their
direct return statements.
2021-08-24 11:43:45 +02:00
Daniel Mathiot
77515a574d Refactor to a simpler tree parsing
You can now parse the syntax tree more efficiently with the new
utilities functions.
For examples, please check out the lua and python configurations
2021-08-24 09:41:15 +02:00
Daniel Mathiot
790c98edf1 Removed return if body is not found (python) 2021-08-23 20:03:14 +02:00
Daniel Mathiot
ee1e1a491c Add support for numpydoc 2021-08-23 19:11:44 +02:00
Daniel Mathiot
88c4d40078 Support for optional params in python 2021-08-23 18:31:22 +02:00
Daniel Mathiot
969c0342af Add typed parameters support in python 2021-08-23 18:19:24 +02:00
Daniel Mathiot
82b943ccdf Add return statement for python function 2021-08-23 17:54:01 +02:00
Daniel Mathiot
3272811aa7 Add support for attributes in python class 2021-08-23 17:30:19 +02:00
Daniel Mathiot
52128c1bd5 Add utilities
After a refactoring of utilities, I added a function to get the first
child node that matches the node name.

Documentation is provided in neogen.utilities.nodes
2021-08-23 16:00:43 +02:00
Daniel Mathiot
6b08b2297c Delete unused FIXME 2021-08-23 15:24:48 +02:00
Daniel Mathiot
46febe447c Use child name to append text after parent
Instead of providing the number of childs to append after the parent, it
will append the comment just after the first child encountered with
child_name
2021-08-23 15:23:27 +02:00
Daniel Mathiot
03781f23d6 Make comment in after position more resilient 2021-08-23 15:08:41 +02:00
Daniel Mathiot
40616b25d7 Add python support
At the moment, only supports params for function definitions.
I added more options to configure the default generator (please see the
templates field in configuration/python.lua)
2021-08-23 12:53:27 +02:00
Daniel Mathiot
2eb4f76cc9 Make template.annotation_convention a standard
The default generator will now use the annotation_convention field in
template in order to use the requested template
2021-08-23 11:33:08 +02:00
Daniel Mathiot
dd54ea7708 Specify template convention in lua 2021-08-23 10:51:29 +02:00
Daniel Mathiot
96319356fa Add input_after_comment configuration
When set to true (default true), the cursor will go back to the start of
the added comments and trigger insert mode
2021-08-21 18:20:29 +02:00
Daniel Mathiot
ec09985e9d Add return statement for lua
At the moment, it only extracts return statements from direct children
of the function_definition
2021-08-21 18:05:03 +02:00
Daniel Mathiot
ebeb5aa329 Refactor
More documentation, changed function signature
2021-08-21 16:47:49 +02:00
Daniel Mathiot
f42e14f633 Add documentation
Added docs in multiple places, refactored some functions and changed
places.
2021-08-21 07:31:57 +02:00
Daniel Mathiot
c4f3725af7 Refactor
This is a first iteration of refactoring the codebase, and generating
annotations along the way.
Added "variable_declaration" as parent node for lua
2021-08-19 22:42:57 +02:00
Vhyrro
86a600849f feat: rewrite the entire core 2021-08-19 16:43:35 +02:00
Daniel Mathiot
d59313daa7 Refs and support for local functions in lua 2021-08-17 22:34:17 +02:00
Daniel Mathiot
dc3c7eb4ea Add query for return statement in an if block 2021-08-17 21:46:09 +02:00
Daniel Mathiot
4f639a9d3a Recognize indentation level
The plugin now recognizes indentation level and will write the comments
at the same indentation level as the function.
for example:

function()
    -- this is junk
    -- this is junk

    -- The annotation will be created here
    function()
    end
    -- this is junk
    -- this is junk
end
2021-08-17 21:35:35 +02:00
Daniel Mathiot
b73d0cba99 Moved description annotation on first line 2021-08-17 18:42:41 +02:00
Daniel Mathiot
11d463b08c Add description on top of annotation 2021-08-17 18:40:20 +02:00
Daniel Mathiot
b807e2df52 First commit 2021-08-17 18:09:17 +02:00