-
Notifications
You must be signed in to change notification settings - Fork 160
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
Becoming ESLint-like #5
Comments
Hi @sohkai, Thank you for this feedback! From my opinion first three points is interesting. But business value of its is not so much - how it required implementation. I think maybe we schedule its implementation in future. Point #4 and #6 is awesome tasks for next release! Point #5 is interesting I think make sense to schedule it in future. Last point from my opinion may increase complexity of config and soft. I am not sure that it make sense to decompose security to separate project when our linter is too small. What do you think @sohkai? |
Thanks a lot for the feedback, @sohkai. Some thoughts:
These two should be straightforward, right @idrabenia?
This may be a little harder, and in my opinion using 0, 1, and 2 to mean "off", "warn", "error" is a bad practice, so I'd just add some clarification.
Do you mean to suppress the "extra" output of the program? Or to not report warnings?
I've still not dived into the code, so I don't know how much work this would take. But I agree that the "zero-config, plugins and bundles of plugins" seems to be the approach most tools are using (babel, eslint). |
"Change init-config to --init" "I've still not dived into the code, so I don't know how much work this would take. " I am not sure that it make sense to decompose security to separate plugin. I does not seeing any benefits for usability / maintainability / quality. But we will have development efforts and some additional actions will require for end-users to configure it. I think it make sense just to provide possibilities to create plugins without decomposition of any rules to its. - Ilya |
This isn't a big point, just a discrepancy I saw when comparing to ESLint.
I like security as its own plugin because of separation of concerns: there are basic syntax and style linting rules, and then there are purpose-specific rules like those in security. Although I guess we could argue that security is a basic tenet of programming in solidity and so could be considered basic syntax ;). It's also just a good chance to dogfood the plugin infrastructure. I haven't thought up of too many use cases for additional plugins, save some potential optimization checks (e.g. grouping
Just not report warnings. Useful sometimes, to not flood the output (e.g. when you have a lot of errors to fix).
Totally agree! Just a small note in the rules page should be fine. |
Hi guys, what is this issue status? Shall it continue open? |
None of the items listed was done, so I don't see why would we close it, except maybe to open a separate issue for each item. |
I'm finding actually a perfect vim support for solhint and come across this. Feel it brings lots of value to be I use coc-eslint (https://github.com/neoclide/coc-eslint) and did some search this morning to see if it's possible for |
Just to get the discussion rolling, I was wondering if it might make sense to conform to some of ESLint's CLI and options given how this project uses a lot of the great ideas that have come out of ESLint.
Some ideas (that may be better as separate issues if agreed upon):
solhint.json
tosolhintrc.json
(we could use cosmiconfig for this)init-config
to--init
--quiet
to only report errors.ignores
-type filesolhint-plugin-security
-type packageA lot of these features are either present or coming via solium@1, but I don't see much of a point in having both when solhint seems like a cleaner implementation already using antlr4.
The text was updated successfully, but these errors were encountered: