steelbrain / linter Goto Github PK
View Code? Open in Web Editor NEWA Base Linter with Cow Powers http://steelbrain.me/linter/
License: MIT License
A Base Linter with Cow Powers http://steelbrain.me/linter/
License: MIT License
EDIT: Sorry for the buzz, Upon further inspection, this seems to be an issue with Atom itself.
> [email protected] install C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl\node_modules\linter\node_modules\copy-paste\node_modules\execSync
> node-gyp rebuild
C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl\node_modules\linter\node_modules\copy-paste\node_modules\execSync>node "c:\Program Files\Atom\resources\app\apm\node_modules\atom-package-manager\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild
npm http GET https://registry.npmjs.org/copy-paste
npm http GET https://registry.npmjs.org/emissary
npm http GET https://registry.npmjs.org/font-awesome/4.0.3
npm http GET https://registry.npmjs.org/shelljs
npm http GET https://registry.npmjs.org/temp/0.6.0
npm http GET https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/xregexp/2.0.0
npm http 304 https://registry.npmjs.org/shelljs
npm http 304 https://registry.npmjs.org/temp/0.6.0
npm http 304 https://registry.npmjs.org/copy-paste
npm http 304 https://registry.npmjs.org/emissary
npm http 304 https://registry.npmjs.org/jshint
npm http 304 https://registry.npmjs.org/lodash
npm http 304 https://registry.npmjs.org/xregexp/2.0.0
npm http 304 https://registry.npmjs.org/font-awesome/4.0.3
npm http GET https://registry.npmjs.org/execSync
npm http GET https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/osenv/0.0.3
npm http GET https://registry.npmjs.org/underscore-plus
npm http GET https://registry.npmjs.org/mixto
npm http GET https://registry.npmjs.org/property-accessors
npm http 304 https://registry.npmjs.org/execSync
npm ERR! Error: ENOENT, lstat 'C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl\node_modules\linter\node_modules\shelljs\src\chmod.js'
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR! <http://github.com/npm/npm/issues>
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "c:\\Program Files\\Atom\\resources\\app\\apm\\node_modules\\atom-package-manager\\bin\\\\node.exe" "c:\\Program Files\\Atom\\resources\\app\\apm\\node_modules\\atom-package-manager\\node_modules\\npm\\bin\\npm-cli.js" "--globalconfig" "c:\\Program Files\\Atom\\resources\\app\\apm\\node_modules\\atom-package-manager\\.apmrc" "--userconfig" "C:\\Users\\Jan\\.atom\\.apmrc" "install" "C:\\Users\\Jan\\.atom\\.node-gyp\\.atom\\.apm\\linter\\0.4.9\\package.tgz" "--target=0.11.10" "--arch=ia32" "--msvs_version=2012"
npm ERR! cwd C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.4
npm ERR! path C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl\node_modules\linter\node_modules\shelljs\src\chmod.js
npm ERR! fstream_path C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl\node_modules\linter\node_modules\shelljs\src\chmod.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack c:\Program Files\Atom\resources\app\apm\node_modules\atom-package-manager\node_modules\npm\node_modules\fstream\lib\writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! Error: ENOENT, lstat 'C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl\node_modules\linter\node_modules\font-awesome\src\3.2.1\assets\font-awesome\css\font-awesome-ie7.min.css'
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR! <http://github.com/npm/npm/issues>
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "c:\\Program Files\\Atom\\resources\\app\\apm\\node_modules\\atom-package-manager\\bin\\\\node.exe" "c:\\Program Files\\Atom\\resources\\app\\apm\\node_modules\\atom-package-manager\\node_modules\\npm\\bin\\npm-cli.js" "--globalconfig" "c:\\Program Files\\Atom\\resources\\app\\apm\\node_modules\\atom-package-manager\\.apmrc" "--userconfig" "C:\\Users\\Jan\\.atom\\.apmrc" "install" "C:\\Users\\Jan\\.atom\\.node-gyp\\.atom\\.apm\\linter\\0.4.9\\package.tgz" "--target=0.11.10" "--arch=ia32" "--msvs_version=2012"
npm ERR! cwd C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.4
npm ERR! path C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl\node_modules\linter\node_modules\font-awesome\src\3.2.1\assets\font-awesome\css\font-awesome-ie7.min.css
npm ERR! fstream_path C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl\node_modules\linter\node_modules\font-awesome\src\3.2.1\assets\font-awesome\css\font-awesome-ie7.min.css
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack c:\Program Files\Atom\resources\app\apm\node_modules\atom-package-manager\node_modules\npm\node_modules\fstream\lib\writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! Error: ENOENT, lstat 'C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl\node_modules\linter\node_modules\jshint\data\non-ascii-identifier-start.js'
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR! <http://github.com/npm/npm/issues>
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "c:\\Program Files\\Atom\\resources\\app\\apm\\node_modules\\atom-package-manager\\bin\\\\node.exe" "c:\\Program Files\\Atom\\resources\\app\\apm\\node_modules\\atom-package-manager\\node_modules\\npm\\bin\\npm-cli.js" "--globalconfig" "c:\\Program Files\\Atom\\resources\\app\\apm\\node_modules\\atom-package-manager\\.apmrc" "--userconfig" "C:\\Users\\Jan\\.atom\\.apmrc" "install" "C:\\Users\\Jan\\.atom\\.node-gyp\\.atom\\.apm\\linter\\0.4.9\\package.tgz" "--target=0.11.10" "--arch=ia32" "--msvs_version=2012"
npm ERR! cwd C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.4
npm ERR! path C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl\node_modules\linter\node_modules\jshint\data\non-ascii-identifier-start.js
npm ERR! fstream_path C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl\node_modules\linter\node_modules\jshint\data\non-ascii-identifier-start.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack c:\Program Files\Atom\resources\app\apm\node_modules\atom-package-manager\node_modules\npm\node_modules\fstream\lib\writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm http 304 https://registry.npmjs.org/rimraf
npm ERR! Error: ENOENT, lstat 'C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl\node_modules\linter\node_modules\lodash\dist\lodash.compat.js'
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR! <http://github.com/npm/npm/issues>
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "c:\\Program Files\\Atom\\resources\\app\\apm\\node_modules\\atom-package-manager\\bin\\\\node.exe" "c:\\Program Files\\Atom\\resources\\app\\apm\\node_modules\\atom-package-manager\\node_modules\\npm\\bin\\npm-cli.js" "--globalconfig" "c:\\Program Files\\Atom\\resources\\app\\apm\\node_modules\\atom-package-manager\\.apmrc" "--userconfig" "C:\\Users\\Jan\\.atom\\.apmrc" "install" "C:\\Users\\Jan\\.atom\\.node-gyp\\.atom\\.apm\\linter\\0.4.9\\package.tgz" "--target=0.11.10" "--arch=ia32" "--msvs_version=2012"
npm ERR! cwd C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.4
npm ERR! path C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl\node_modules\linter\node_modules\lodash\dist\lodash.compat.js
npm ERR! fstream_path C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl\node_modules\linter\node_modules\lodash\dist\lodash.compat.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack c:\Program Files\Atom\resources\app\apm\node_modules\atom-package-manager\node_modules\npm\node_modules\fstream\lib\writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm http GET https://registry.npmjs.org/temp
npm http 304 https://registry.npmjs.org/mixto
npm http 304 https://registry.npmjs.org/underscore-plus
npm http 304 https://registry.npmjs.org/property-accessors
npm ERR! not found: git
npm ERR!
npm ERR! Failed using git.
npm ERR! This is most likely not a problem with npm itself.
npm ERR! Please check if you have git installed and in your PATH.
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "c:\\Program Files\\Atom\\resources\\app\\apm\\node_modules\\atom-package-manager\\bin\\\\node.exe" "c:\\Program Files\\Atom\\resources\\app\\apm\\node_modules\\atom-package-manager\\node_modules\\npm\\bin\\npm-cli.js" "--globalconfig" "c:\\Program Files\\Atom\\resources\\app\\apm\\node_modules\\atom-package-manager\\.apmrc" "--userconfig" "C:\\Users\\Jan\\.atom\\.apmrc" "install" "C:\\Users\\Jan\\.atom\\.node-gyp\\.atom\\.apm\\linter\\0.4.9\\package.tgz" "--target=0.11.10" "--arch=ia32" "--msvs_version=2012"
npm ERR! cwd C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.4
npm ERR! code ENOGIT
npm http 304 https://registry.npmjs.org/osenv/0.0.3
npm http GET https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/temp
gyp: binding.gyp not found (cwd: C:\Users\Jan\AppData\Local\Temp\apm-install-dir-11459-8088-191nofl\node_modules\linter\node_modules\copy-paste\node_modules\execSync)
gypnpm WARN optional dep failed, continuing [email protected]
npm
So I built https://github.com/rockymadden/linter-sbt
One of the larger cons to this linter is the startup time involved with SBT itself (~6s). However, SBT has the ability to watch for project filesystem changes and automatically compile via sbt '~ compile'
, all of which is fast (~250ms).
I am running rudimentary version of this concept on my local workstation where essentially sbt '~ compile'
is spawned just once for all of Atom and the linter essentially looks for events in the stdout stream coming out from it.
While I still use parts of Linter, some code essentially circumvents it entirely to handle for this scenario. To the end user, they cannot tell. However, I was curious if you had run into such a scenarios before (perhaps with Sublime linters) and if there is a more graceful way you might suggest going about it?
If I have several linter packages installed and disable one in the settings, linter will crash on init with
Failed to activate package named 'linter' TypeError: Cannot read property 'metadata' of undefined
I think that atom.packages.getAvailablePackageNames()
gives all package names even if they're disabled.
I'm currently implementing more possibilities to change the behaviour of the linter. One important thing in the java-world is linting for specific versions. Currently i'm going to offer an additional package-setting to achieve that.
But I think it would be better to put this in a project-wide config-file. F.e. into .editorconfig
. What do you think?
Hi @hd-deman I think we can get more people to use the Linter by really specifying it can lint on edit in the description.
This is kinda the key feature against https://github.com/yujinakayama/atom-lint
Me and @lazzurs are (hopefully) going to see if we can implement a Puppet linter! π
On a basic level, I can use
perl -MO=Lint
to check the syntax of a perl file.
Results look like:
syntax error at line 9, near "my &ref"
Global symbol "$hash_" requires explicit package name at line 14.
syntax error at line 15, near "system"
BEGIN not safe after errors--compilation aborted at line 20.
I think that i understand how you create the individual linters, but I don't understand
@syntax: ['source.js', 'source.js.jquery', 'text.html.basic']
Or at least I'm not sure how to target perl files in particular.
I am using the perl grammar at https://github.com/atom/language-perl but I don't see an analogue for specifying perl syntax
Uncaught TypeError: Object #<Object> has no method 'toggle'
init.coffee:12
And I get this warning before that
Failed to activate package named 'linter' TypeError: Cannot read property 'metadata' of undefined
at Object.module.exports.activate (/Users/yisraeldov/.atom/packages/linter/lib/init.coffee:18:55)
at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app/src/package.js:161:27)
at /Applications/Atom.app/Contents/Resources/app/src/package.js:147:28
at Package.module.exports.Package.measure (/Applications/Atom.app/Contents/Resources/app/src/package.js:95:15)
at Package.module.exports.Package.activate (/Applications/Atom.app/Contents/Resources/app/src/package.js:141:14)
at PackageManager.module.exports.PackageManager.activatePackage (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:101:21)
at PackageManager.module.exports.PackageManager.activatePackages (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:90:14)
at PackageManager.module.exports.PackageManager.activate (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:77:19)
at Atom.module.exports.Atom.startEditorWindow (/Applications/Atom.app/Contents/Resources/app/src/atom.js:345:21)
at Object.<anonymous> (/Applications/Atom.app/Contents/Resources/app/src/window-bootstrap.js:14:8)
at Object.<anonymous> (/Applications/Atom.app/Contents/Resources/app/src/window-bootstrap.js:20:4)
at Module._compile (module.js:455:26)
at Object.Module._extensions..js (module.js:473:10)
at Module.load (/Applications/Atom.app/Contents/Resources/app/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:363:17)
at require (module.js:379:17)
at window.onload (file:///Applications/Atom.app/Contents/Resources/app/static/index.js:20:5)
There is node bug will truncate stdout from child process.
With this bug, lint-jscs does not work fine in Windows, every time, it only returns 2 lines
<?xml version="1.0" encoding="utf-8"?>
<checkstyle version="4.3">
But, when I run the command directly in cmd, it will return:
<?xml version="1.0" encoding="utf-8"?>
<checkstyle version="4.3">
<file name="c:\Users\junlel\Repositories\Ymarks\app.js">
<error line="27" column="31" severity="error" message="Operator + should not stick to preceding expression" source="jscs" />
<error line="27" column="31" severity="error" message="Operator + should not stick to following expression" source="jscs" />
<error line="27" column="35" severity="error" message="Operator + should not stick to preceding expression" source="jscs" />
<error line="27" column="35" severity="error" message="Operator + should not stick to following expression" source="jscs" />
</file>
</checkstyle>
Is there a way to avoid use child process exec to run linter? Any idea on this issue?
Hi,
I'm doing a jscs
linter base on your Linter
project, this will be ready soon here : https://github.com/iam4x/linter-jscs
Any plan on adding a C/C++ linter? I know there isn't many, so I was thinking about Clang, that isn't a linter by itself, but do a great job on linting when you're compiling code.
Also, https://github.com/yujinakayama/atom-lint have it (but it's kinda buggy), so I think it's possible.
I get the following error with linter on startup. I'm running the latest version of linter and Atom 0.9.6.0.
Failed to activate package named 'linter' TypeError: Cannot read property 'metadata' of undefined
at Object.module.exports.activate (/Users/iansoper/.atom/packages/linter/lib/init.coffee:17:55)
at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app/src/package.js:161:27)
at /Applications/Atom.app/Contents/Resources/app/src/package.js:147:28
at Package.module.exports.Package.measure (/Applications/Atom.app/Contents/Resources/app/src/package.js:95:15)
at Package.module.exports.Package.activate (/Applications/Atom.app/Contents/Resources/app/src/package.js:141:14)
at PackageManager.module.exports.PackageManager.activatePackage (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:109:21)
at PackageManager.module.exports.PackageManager.activatePackages (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:98:14)
at PackageManager.module.exports.PackageManager.activate (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:85:19)
at Atom.module.exports.Atom.startEditorWindow (/Applications/Atom.app/Contents/Resources/app/src/atom.js:349:21)
at Object.<anonymous> (/Applications/Atom.app/Contents/Resources/app/src/window-bootstrap.js:14:8)
at Object.<anonymous> (/Applications/Atom.app/Contents/Resources/app/src/window-bootstrap.js:20:4)
at Module._compile (module.js:455:26)
at Object.Module._extensions..js (module.js:473:10)
at Module.load (/Applications/Atom.app/Contents/Resources/app/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:363:17)
at require (module.js:379:17)
at window.onload (file:///Applications/Atom.app/Contents/Resources/app/static/index.js:20:5)
Linter should highlight files that have lint errors in the tree view.
In supporting this it should be considered that compilation tools such as grunt, or rake may output errors for specific files when running. It should be possible for tools supporting build processes to report errors to the shared core.
Love this linter. β€οΈ
Python linting seems to be having an issue. I am putting this under Linter because it seemed at first like at least one other linter (coffeescript) was having the same issue, but I cannot reproduce it now β only python.
I have Linter package is enabled, with Lint on Modified, Lint on Save, Show Gutters, Show Highlighting, Show Messages Around Cursor.
Looking at the Atom console, when I open a .py
file I notice the error traceback:
Uncaught TypeError: Cannot read property 'displayBuffer' of undefined linter.coffee:156
Linter.computeRange linter.coffee:156
Linter.createMessage linter.coffee:129
(anonymous function) linter.coffee:99
self.forEach /Users/bmh/Dropbox/Apps/Atom/packages/linter/node_modules/xregexp/xregexp-all.js:542
Linter.processMessage linter.coffee:97
(anonymous function) linter.coffee:85
exithandler child_process.js:713
EventEmitter.emit events.js:104
maybeClose child_process.js:821
(anonymous function) child_process.js:1038
EventEmitter.emit events.js:101
(anonymous function) net.js:459
I am on Atom 0.96.0, and my packages are:
$ apm list
...
/Users/bmh/.atom/packages (26)
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected] (disabled)
βββ [email protected]
βββ [email protected] (disabled)
βββ [email protected] (disabled)
βββ [email protected]
βββ [email protected] (disabled)
βββ [email protected]
βββ [email protected] (disabled)
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected] (disabled)
βββ [email protected] (disabled)
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
Let me know if I can be of further assistance.
Cheers.
When I'm editing the end of a file and linter warnings/errors pop up, some annoying things happen, in varying degrees:
I have the change interval set to the default 1000ms since I want to see my errors quickly, so increasing this isn't a great solution, and even if I did this, what I just typed would still get covered up by the status bar. Ideally, the status bar would never appear in the area where I'm typing, perhaps similar to how the status bar in Chrome moves to avoid the mouse.
Let me shorten the story. Telling you the cause
We are using temp
0.6.0 version to open a temp file
temp
0.6.0 version is using osenv
0.0.3 version to get os.tmpdir
.
the packages.json file for temp
0.6.0: https://github.com/bruce/node-temp/blob/v0.6.0/package.json
osenv
has a bug to return /home/{username}/tmp
as temp folder on Linux
the related bug: npm/osenv#4
Finally, we are using /home/{username}/tmp
to store the temp data, which is often does not exists. An error is thrown.
Resolve method:
Simply update the temp
package from 0.6.0 to 0.8.0, which is not dependent on osenv
any more. It is using nodejs pure os.tmpdir
to get temp folder, which is /tmp
on Linux.
I will send a RP soon. Feel free to verify the bug.
I have linter-jshint installed at the moment and sometimes when an error is found on a line, I can't use hotkeys on that line. I've been running into it a lot when commenting out lines. If I comment out an assignment of a variable and get the "not defined" error on a line using that variable, I can't comment it out.
Right now all the linters extract the base linter capabilities using the following code
linterPath = atom.packages.getLoadedPackage("linter").path
Linter = require "#{linterPath}/lib/linter"
findFile = require "#{linterPath}/lib/util"
We should be able to make this more like...
{Linter, findFile) = require "linter"
By exposing the public classes across the node package. (not sure how we need to bind in to make require "linter"
work though, thus why no pull request yet.
If anyone has any good ideas let me know.
Any plans on adding an Erlang
linter? As far as I know there are no real ones, most plugins (e.g. SublimeLinter) just parse/regex the result of escript
(http://www.erlang.org/doc/man/escript.html). They do a pretty decent job with this way.
The Linter is not displaying results if the Cursor is on the EOL because of line-length-shortening and the linter-implementation does not provide a range.
I was trying to delay the feedback a bit, avoiding it from flashing while I type my code. Inserted a delay of 2500 (ms) in the box but it does do any effect, still lints in realtime.
I could imagine a refactoring of the Linter, to have a more robust interface, detecting weaknesses in the linters (providing a usable debug-information, which may be reported), being fully test-suited and well-documented. As long as the whole system isn't too big it should be done in effortable time.
β
Lint Scala on the fly, using SBT which allows for the use of Scala based linters, such as WartRemover, and your own scalac options. If your SBT setup leverages linters and/or options, so does linter-sbt.
Links:
https://github.com/rockymadden/linter-sbt
https://atom.io/packages/linter-sbt
/Users/jaresty/.rvm/gems/ruby-2.1.2/bin/rubocop --format emacs /var/folders/2_/7s_9bc4s5q586np5tmjh3tn80000gr/T/114421-34324-5q1bi0source.ruby
While finishing the linter-pylint
I ended up in the following shell-error during linter-execution:
"/bin/sh: /var/folders/2r/mdqjbmzs5vlb3c7g2qj3g1j80000gn/T/114421-6791-1gz3frjsource.python: Permission deniedβ΅"
Does anybody know where it comes from? The var-folders should be accessible in general. And if they aren't shouldn't we check that?
Do you think you can either create a changelog file or add a page to the wiki with a changelog of the package?
Uncaught TypeError: Cannot call method 'tokenAtBufferColumn' of undefined
Similar to the issue with some linters returning line 0, some linters do not return any position information at all for some errors. e.g. csslint has a few rules:
https://github.com/CSSLint/csslint/blob/master/src/rules/important.js
https://github.com/CSSLint/csslint/blob/master/src/rules/font-sizes.js
The error occurs here: https://github.com/AtomLinter/Linter/blob/master/lib/linter.coffee#L190
The calculated rowStart ends up being NaN due to the undefined lineStart
and line
properties. Changing to:
rowStart = parseInt(match.lineStart ? match.line ? 0) - 1
Seems to fix it but I'm not sure if this breaks anything else.
We should have a build step for getting biscotto documentation added to gh-pages
Files in atom can have multiple grammars listed. Like javascript in an html page, or ruby erb templates. The grammar for ruby.erb looks like this
https://github.com/atom/language-ruby/blob/master/grammars/html%20(ruby%20-%20erb).cson
It creates sub scopes for the places where the ruby grammar should be used. The linter should be able to inspect the editor grammar, recursively find syntax definintions, and lint the sub ranges of the file with the correct linter.
Then we wouldn't need to depend upon support in the base linter being able to parse within a container file, such as how jshint needs --extract=auto
to parse within html files.
Came to here to trim out a console.log that was inundating my console only to find out its already been fixed. Release 0.4.9?
Also, thanks for "ending the linter war". ;)
It would improve performance and reduce the flickering of the errors while typing if the linter were to debounce the 'lint on modified'.
Just a thought. :)
i am talking about those colored vertical lines on the left side. they are unobtrusive compared to having circles everywhere.
Disabling Lint On Modified
and simply leaving Lint On Save
enabled only seems to fire when a buffer is opened. It does not fire when you save via the menu or shortcut. I believe the event should be core:save
, perhaps additionally:
https://github.com/AtomLinter/Linter/blob/b3a4664bc4bf30e0a2551ffe3663a25af23fa1c5/lib/linter-view.coffee#L92
https://github.com/atom/atom/search?q=core%3Asave&type=Code
Dear All,
I'm having strange rendering issues:
https://dl.dropboxusercontent.com/u/5999/jumping2.mov
https://dl.dropboxusercontent.com/u/5999/jumping.mov
My I propose to use fixed sized boxes for lint messages?
Thanks!
Im not a huge fan of how "Show Highlighting" marks the errors, so i prefer to keep just the gutter marks active. Currently though, the plugin isn't showing anything in the gutter area.
When linting it displays Uncaught TypeError: First argument must be a file descriptor
apm list
Built-in Atom packages (74)
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
βββ [email protected]
/home/carlos/.atom/packages (3)
βββ [email protected]
βββ [email protected]
βββ [email protected]
I'm not sure if this is the same issue as #1. But I don't get any warning. In fact I'm not not sure if this is a problem anyway. It's just I get an error when starting the editor saying that there is no method toggle() defined on the linter plugin.
That's the line of code
# Activate the plugin
activate: ->
atom.workspaceView.command 'linter:toggle', => @toggle()
@linterViews = []
The error is
Uncaught TypeError: Object #<Object> has no method 'toggle'
Hi @hd-deman
Sometimes the file is deleted before it can be linted (occurs often when I first open the file)
It's arround the line 90 on linter-view.coffee
.
And I see you use temp.track()
also, why not use temp.cleanup()
instead of fs.unlink()
as you do?
Didn't really find out what was going wrong, so if you have an idea.
Probably you'd like to propagate https://github.com/florianb/linter-javac, too. I'd like to see you hosting it, working on a fork would be good enough for me. :)
Implemented linter-pylint
- it should be published as version 0.1.0. π»
A heads up that I've created a linter-scalac package:
https://atom.io/packages/linter-scalac
https://github.com/rockymadden/linter-scalac
I have some more graceful handling for classpaths in order, but I am waiting to see what Atom does about per-project settings before getting too crazy.
Hi! I built Atom on Ubuntu 14.04 and I get the following error when the linter runs (on any supported file):
>>> Uncaught TypeError: First argument must be file descriptor fs.js:503
The root of the error is in
~/.atom/packages/linter/node_modules/temp/lib/temp.js:152
Exactly here, in the open
function:
var filePath = generateName(affixes, 'f-')
The generated path has the user's home as root so it tries to create the temporary file in
/home/username/tmp/[...] // No tmp directory present by default in a user's home -> error
instead of just
/tmp/[...]
My workaround was to add a line to clean the path
var filePath = generateName(affixes, 'f-')
filePath = filePath.substr(filePath.indexOf('/tmp'));
After this modification the linter runs perfectly fine. Hope you can fix the problem. A thousand thanks for your effort! π
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.