Commit graph

51 commits

Author SHA1 Message Date
Smirnov Oleksandr
e9f2eef5e7
refactor: treesitter utils (#91)
* refactor(ts_utils): i dont know why event it was here

* fix: typos

* fix(struct_tags)!: remove statement that i used for debug

* refactor(ts_util): start from scratch

* refactor(struct_tags): use new ts_util

* fixup! refactor(struct_tags): use new ts_util

* test(struct_tags): add support for multiple structs

* fix(gotests): use new api

* fix(impl): refactor some logic, use new api

* docs(ts): add an explanation

* refactor(_utils.ts): all public methods are just adapters

* fix(comment): now it works

* fixup! refactor(_utils.ts): all public methods are just adapters

* fixup! fixup! refactor(_utils.ts): all public methods are just adapters

* test(comment): e2e

* tests(comment): fix

* refactor(utils.ts): fix, docs

* test(comment): fix tests again

* fix(tests/comments): well, now i fell stupid

* refactor(ts): add assert just to be sure that all elements are in the result

* fix(ts): type annotations

* fix(ts): pass bufnr to vim.treesitter.get_node

* chore(ci): disable nightly

* chore(ci): reorganize
2025-03-19 15:09:57 +02:00
Smirnov Oleksandr
d1a21bffab
feat(iferr): add -message support (#89)
* feat(iferr): add *-message* support

* generate docs
2025-03-03 14:22:28 +02:00
Smirnov Oleksandr
57b5dbf62e
feat(struct_tags): set default tag (#87)
* feat(struct_tags): add config option for default tag

* docs: docgen

* fix(struct_tags): as it turns out it didnt work as i supposed to before, but now it does
2025-03-02 17:19:00 +02:00
Smirnov Oleksandr
c2f64db4a8
refactor(health): remove deprecations (#86) 2025-03-02 16:43:30 +02:00
Smirnov Oleksandr
6016ca57d4
refactor: use vim.system instead of pleanry (#85)
* refactor!: migrate to vim.system

* refactor(gotests): use vim.system

* refactor(iferr): use vim.system

* refactor(impl): use vim.system

* refactor(installer): use vim.system and add sync mode

* test: fix gotests' tests

* refactor(struct_tags): use vim.system

* chore(ci): install all deps explicitly

* refactor(installer)!: add sync as an option

* docs: update readme
2025-03-02 16:31:50 +02:00
Smirnov Oleksandr
837897a79d
fix: typos (#82)
* docs(gotests): update and fix

* fix(health): typos

* docs(impl): update and fix typos

* docs(config): typos

* docs(iferr): update

* typos

* docs(struct_tags): update

* docs: fix typos

* docs: Capitalization

* docgen
2025-02-25 14:08:15 +02:00
Smirnov Oleksandr
cd8a5efc88
refactor!: remove dap adapter (#81) 2025-02-25 13:16:24 +02:00
Smirnov Oleksandr
da960189c1
tests: improve testing (#80)
* chore: setup mini.test

* chore(ci): setup new test runner, install plugin deps

* chore(ci): test only on stable and nightly releases

* test: iferr

* test: struct_tags

* test: impl

* test: gotests
2025-02-24 14:21:01 +02:00
Smirnov Oleksandr
0ed14a40d9
fix(iferr): improve error handling (#75) 2024-12-23 22:44:13 +02:00
Smirnov Oleksandr
a995af3415
sync develop and main (#68)
* healthcheck: refactoring, remove deprecation wanings (#35)

* refactor(checkhealth): remove deprecation warnings, complete rewrite

* refactor(checkhealth): rename util file

* style(healthchecker): reformat lua in vim file

* refactor(health): move all report function into table

* add editorconfig (#36)

* refactor of public plugin's api (#37)

* refactor: move all plugin functionality to init.lua

* fix(commands): now it uses correct module paths

* refactor(config): change way how it handles options

* refactor(gotests): use correct config, change way how deps required, fix some typos

* fix(healthchecker): use correct config

* refactor(iferr): change api

* refactor(impl): change api

* refactor(installer): change api

* refactor(struct_tags): change way of importting deps

* refactor(struct_tags): rename M to struct_tags

* run stylua

* refactor(dap): make it all in one file, and make some refactoring

* refactor(_utils): change way how it organizes

* fix: use new _utils api

* refactor(_utils.health): reorganize module

* refactor(_utils.ts): some renameing, moving requires lines

* run stylua

* update tooling (#38)

* chore: delete pre-commit

* chore: switch from makefile to taskfile

* chore(ci): update and add one more linter

* chore(editorconfig): add config for Go

* chore(editorconfig): remove max_line_length

* fix: editorconfig-check on README.md

* feat: run tests independent from user's nvim config

* remove editorconfig-checker

* fix(config): now it not removes .setup() from itself after calling
.setup()

* fix(config): now it works correctly

* chore: update taskfile, and linter config

* feat(config): make it optional to call .setup()

* run tests independent of user nvim setup (#39)

* chore(lua_ls): now lua_ls knows about testing functions

* spec: change way how tests srtuctured

* test(config): refactor tests

* test: utils

* refactor(utils): remove not used function

* chore(ci): add test runner

* chore(ci): remove taskfile from deps

* fix: now it works

* fix(dap): now dlv uses cmd to run from config

* chore(ci): run tests on many versions of nvim

* refactor: commands runner (#42)

* feat(utils): first impl of own commands runner

* refactor(gotests): uses own runner instead of vendored

* refactor(utils): back to plenary.job

* refactor(gotests): use new runner, clean code

* fix(runner): now it returns output correctly

* refactor(iferr): use vim.system

i have tried to use _utils.runner, but i can't figure out how to make `< file.go` for the command

* refactor(impl): use new runner

* refactor(installer): use new runner

* refactor(struct_tags): use new runner

* refactor: commands such as :GoGet runs with new runner

* refactor: throw errors in more lua way, i think

* refactor(utils): notify now has title

* refactor: use more correct way of notifying

* refactor(runner): write error message on error

* add ability for setting custom tools options (#44)

* feat(gotests): add custom templates support

* feat(struct_tags): add support for custom `transform` option

* fix(health): check if bin is installed, and added message about treesitter parser

* fix: fix iferr config (#56)

* Add support for named tests (#50)

* fix(typo): README.md (#47)

* feat: add support for named tests

* test

* tags in table

* debug installer msg

* test

* hardcoded @develop

* get gotests tag from setup()

* update readme

* store install tag in urls table

* removed gotests tag

* update README.md

* remove urls installer index reference

* remove named arg from add_test()

* .

* update README.md

* update README.md

---------

Co-authored-by: Steve M <gearcog@users.noreply.github.com>

* reformat .editorconfig config

* refactor(api)!: mave tags and gotests api into their sub tables

* add help file, and docs (#59)

* idk how good this idea is

* this could be working but i still cant figure out how to run it

* ignore tags that mini.doc gens, but why?

* chore(taskfile): force exiting after tests

because i got infinit ci

* chore(ci): add more nvim versions to run on

* chore: update taskfile

* feat: add docs generator

* docs: its only begining

* refactor: update docgen script

* docs: write some more

* docs(config): update

* docs: update readme

* language

* hope it would work

* what about that?

* maybe this would work?

* update md

* upd

* WHY DOESNT IT WORKING

* idk by but 0.9.3 just fails the ci, so i deleted it from suite

* again update, why does markdown not work in embeded html

* maybe it can help?

* upd

* again update

* kinda fix

* fix: formatting

* again some updating

* some readme updating

* fix, this shouldnt be in repo

* i finnaly undertood how to fix this fking skill issue

* fix(struct_tags): typo

* refactor(docs): change the order in generated file

* docs: install deps

* refactor(scripts): rename doc-gen script

* docs(impl): write docs

* docs(dap): add doc

* stylua .

* docs(struct_tags): add doc

* docs(gotests): add docs

* docs(iferr): add docs

* docs(comment): add doc

* update CONTRIBUTING.md

* docs(README): talk about `develop` branch

* docs: update README.md

* refactor(health): keep in mind new way of health check (#63)

* feat: add logger (#64)

* refactor(health): keep in mind new way of health check (#63)

* feat(log): add logger module

* refactor(utils): remove unused code

* refactor(log, utils): get plugin name from config

* refactor(logger): add some type annotations

* refactor(utils): log notifications

* feat: LOGGER™

* feat(config): TYPES

* refactor(log): dont give a thing about var that is not even declared

* feat(log): add easy way to open log

* refactor(log): some types

* update types

* docs: regen

* fix(log): make setting log level by config work

* feat(iferr): write error to log file if occur

* feat(gotests): add logger

* add deprecation message (#67)

---------

Co-authored-by: Arne Van Maele <93863978+arnevm123@users.noreply.github.com>
Co-authored-by: Alex <49870662+ysomad@users.noreply.github.com>
Co-authored-by: Steve M <gearcog@users.noreply.github.com>
2024-06-15 12:43:06 +03:00
Elliott Minns
03cabf675c
Resolve Neovim Deprecations for version 0.10 (#26)
* fix deprecation warnings for treesitter parse_query

* use treesitter.query.parse

* fix get_node_text deprecation
2023-05-07 17:56:26 +03:00
Pavel
cc46546a93
Fix typo (#25) 2023-02-01 14:42:26 +02:00
Smirnov Oleksandr
2f0edbfdfc
refactor: move requires in place where they used (#22)
* refactor(comment): move require to a function

* refactor(gotests): move requires inside of functions

* refactor(health): move requires inside of function

* refactor(iferr): move requires inside of a function

* refactor(impl): move some requires inside of functions

* refactor(installer): move requires inside of function

* refactor(struct_tags): move requires into function

* refactor(dap): move import into function

* refactor(utils): move import into functions
2022-12-19 11:47:43 +02:00
Smirnov Oleksandr
e8fe6c5b15
feat(config): add types annotation (#21) 2022-11-13 12:08:23 +00:00
Smirnov Oleksandr
f835464d7f
Some refactoring (#20)
* feat: move all lua api into `api` module

* feat: remove boilerplate code, add go work suport

* refactor(utils): separete module for health

* refactor(dap): remove copy-paste code

* fix: comment

* chore(lsp): disable type checking

* feat: add `go work` command
2022-10-07 14:31:54 +00:00
Smirnov Oleksandr
d65884b182 Fix linters (#19)
* fix selene

* chore(ci): pin stylua version
2022-09-22 18:20:37 +03:00
Smirnov Oleksandr
aa535e7ed1 feat: add dlv as dep 2022-09-22 17:54:49 +03:00
Smirnov Oleksandr
9f6e94f46f feat(health): add check for nvim-dap 2022-09-22 17:36:14 +03:00
Smirnov Oleksandr
413efcc9f2 feat(dap): fist naive implementaion 2022-09-22 17:28:04 +03:00
Smirnov Oleksandr
eb19ecdc05
Add iferr integration (#15)
* feat(iferr): add to installer & config

* feat(iferr): add first implementation

* docs(iferr): add
2022-07-07 14:19:07 +03:00
Smirnov Oleksandr
4b83da6d7f style: reformat all lua code 2022-07-07 14:09:48 +03:00
Smirnov Oleksandr
4fee3543e0 fix(config): set default options if user provides empty table 2022-07-05 11:46:20 +03:00
Smirnov Oleksandr
bb494abd1e
Fix health check for nvim 0.7(#13) 2022-07-02 22:30:12 +03:00
Smirnov Oleksandr
0fcdceeb89
Add comment generator (#10)
* feat(_utils.ts): get package

* feat(_utils.ts): get interface

* feat(_utils.ts): update type annotations

* feat(comments): first naive implementation

* docs: add comment [skip ci]
2022-06-30 12:00:13 +03:00
Smirnov Oleksandr
40a2839eab
feat(config): add base implementation
* feat(config): naive implementation

feat(config): get command for a run from config

* docs: add config

* fix typo [skip ci]

* test: add config
2022-06-27 20:28:35 +03:00
Smirnov Oleksandr
1db0914cfc fix(init): use exist function for test_add 2022-06-27 20:24:49 +03:00
Smirnov Oleksandr
bfbee0f825 fix(gotests): print help message by vim.notify 2022-06-27 16:15:30 +03:00
Smirnov Oleksandr
ebb3894b3b fix(_utils): set notification level 2022-06-27 14:30:02 +03:00
Smirnov Oleksandr
2adbb49064 refactor(_utils): notify by vim.notify in _utils 2022-06-25 12:00:58 +03:00
Smirnov Oleksandr
096bc8e7ee feat: add help messages
feat(goget): add help message

feat(gomod): add help message
2022-06-24 15:28:52 +03:00
Smirnov Oleksandr
0b415c32e8 refactor: migrate to vim.notify from prints 2022-06-24 15:27:08 +03:00
Smirnov Oleksandr
b4fd34ec17 feat(gotests): generate tests only for exported func
docs(gotests): generate test for exported funcs
2022-06-23 13:24:29 +03:00
Smirnov Oleksandr
c5096aacc0 fix(installer): update gotests path 2022-06-23 13:17:46 +03:00
Smirnov Oleksandr
5642af746b fix(installer): run commands without timeout 2022-06-23 13:09:24 +03:00
Smirnov Olexander
250d4de718 refactor: add comments & update type anotation 2022-06-22 14:42:14 +03:00
Smirnov Olexander
c1de269ef4 feat(installer): add gotests 2022-06-21 17:58:10 +03:00
Smirnov Olexander
70297f28e7 feat(gotests): add generate all tests
docs(gotests): add generate all tests
2022-06-21 17:51:59 +03:00
Smirnov Olexander
acd414d454 feat(health): check on gotests 2022-06-21 17:51:59 +03:00
Smirnov Olexander
8b3c68e38a feat(gotests): add generate one test
docs(gotests): add generate one test
2022-06-21 17:51:59 +03:00
Smirnov Olexander
507ccb6347 feat: add GoGenerate command
feat(health): add gogenerate

docs(gogenerate): add doc
2022-06-21 14:31:37 +03:00
Smirnov Olexander
932c0aa0c3 refactor(installer): return function instead of M 2022-06-17 22:32:41 +03:00
Smirnov Olexander
a87334704c feat(health): check if impl installed 2022-06-16 18:11:29 +03:00
Smirnov Olexander
6fd413c4c2 feat: add impl support
docs: add impl
2022-06-15 13:00:02 +03:00
Smirnov Olexander
04e1af228b feat: add goget support
feat(goget): remove http or https from provided url
2022-06-07 01:35:34 +03:00
Smirnov Olexander
f507a37a72 feat: add health checker 2022-06-07 01:08:33 +03:00
Smirnov Olexander
40fe09ed63 refactor: gomod 2022-06-03 13:42:58 +03:00
Smirnov Olexander
807a0744a1 feat: add "go mod" support 2022-05-31 00:51:44 +03:00
Smirnov Olexander
303b539475 feat: add gomodifytags support 2022-05-30 23:34:09 +03:00
Smirnov Olexander
ca1bc4bd06 fix(installer): check return command value 2022-05-30 23:33:14 +03:00
Smirnov Olexander
08f3d2f88f feat: add treesitter utils 2022-05-30 23:33:14 +03:00