I've been messing around with nim for about a week or so now; one of the first tutorials I was going through mentioned the case insensitivity of Nim which struck me as a bit odd, though after reading some discussions about it online I think its a really great idea to be able to import external libraries and utilize them in whatever style you like.
That being said, I still think it would be great to enforce stricter conventions locally, especially among a team of developers, and since I am wanting to learn Nim I figured coming up with a little linter to do just that would be a great way to get my feet wet.
GitHub: https://github.com/jmsapps/nimstrict
Out of curiosity I cloned the Nim repo and nimstrict on it, the following is just a snapshot of what I was seeing in console:
tools/unicode_parsedata.nim(135) Warning: mismatch between 'toupperRanges' and redeclaration 'toUpperRanges' [IncorrectCase]
tools/unicode_parsedata.nim(135) Warning: mismatch between 'toupperSinglets' and redeclaration 'toUpperSinglets' [IncorrectCase]
tools/unicode_parsedata.nim(136) Warning: mismatch between 'totitleRanges' and redeclaration 'toTitleRanges' [IncorrectCase]
tools/unicode_parsedata.nim(136) Warning: mismatch between 'totitleSinglets' and redeclaration 'toTitleSinglets' [IncorrectCase]
tools/nimgrep.nim(595) Warning: mismatch between 'filename' and redeclaration 'fileName' [IncorrectCase]
tools/nimgrep.nim(599) Warning: mismatch between 'filename' and redeclaration 'fileName' [IncorrectCase]
tools/nimgrep.nim(601) Warning: mismatch between 'filename' and redeclaration 'fileName' [IncorrectCase]
tools/nimgrep.nim(338) Warning: mismatch between 'curCol' and redeclaration 'curcol' [IncorrectCase]
tools/nimgrep.nim(341) Warning: mismatch between 'curCol' and redeclaration 'curcol' [IncorrectCase]
compiler/ccgtypes.nim(1178) Warning: mismatch between 'rettype' and redeclaration 'retType' [IncorrectCase]
compiler/ccgtypes.nim(1182) Warning: mismatch between 'rettype' and redeclaration 'retType' [IncorrectCase]
compiler/ccgtypes.nim(1194) Warning: mismatch between 'rettype' and redeclaration 'retType' [IncorrectCase]
compiler/ccgtypes.nim(1316) Warning: mismatch between 'typeName' and redeclaration 'typename' [IncorrectCase]
compiler/ccgtypes.nim(1318) Warning: mismatch between 'typeName' and redeclaration 'typename' [IncorrectCase]
compiler/ccgtypes.nim(1319) Warning: mismatch between 'typeName' and redeclaration 'typename' [IncorrectCase]
compiler/docgen.nim(1925) Warning: mismatch between 'outfile' and redeclaration 'outFile' [IncorrectCase]
compiler/docgen.nim(1925) Warning: mismatch between 'outfile' and redeclaration 'outFile' [IncorrectCase]
compiler/docgen.nim(1926) Warning: mismatch between 'outfile' and redeclaration 'outFile' [IncorrectCase]
compiler/docgen.nim(1942) Warning: mismatch between 'outfile' and redeclaration 'outFile' [IncorrectCase]
compiler/docgen.nim(1947) Warning: mismatch between 'outfile' and redeclaration 'outFile' [IncorrectCase]
Is this an idea it would be worthwhile for me to continue to debug/develop? I've looked but I have not seen anything quite like this so far. I've read mention of the possibility of there being an auto formatter for Nim but I'm not sure if that was ever implemented. I am extremely new to this community but I would be enthusiastic to work on something like this.
It’s not only terrible, it’s also extremely slow. I am very interested in learning how to parse/lex, I will become good at it. Your recommended reading is very appreciated Araq, I promise I will read every line!
Also Juan, its pleasant to see you here, I happened to be looking through your package nim-html-dsl earlier today. I imagine a flavor of that syntax with react and styled components. I would even go so far as to say it is my dream for a front end UI.