Sublime Forum

SublimeLinter

#29

Windows 7
Dev build 2156
Package List

  • Bracket Highlighter

  • Djaneiro

  • HMTL5

  • Jinja2

  • jQuery Snippets Pack

  • nginx

  • Nodejs

  • Package Control

  • Placeholders

  • Prefixr

  • SideBarEnhancements

  • Sublime Tweet

  • SublimeCodeIntel

  • SublimeLinter

  • SublimePaster

  • SublimeWebColors

  • Tag

  • Theme - Soda

  • Wordpress

  • Zen Coding

Aside from that it’s stock with the exception of opening/closing the sidebar being bound to ctrl+5, I haven’t changed any settings across any of these plugins or the preinstalled ones.

0 Likes

#30

[quote=“willy1234x1”]
Package List

  • Bracket Highlighter

  • Djaneiro

  • HMTL5

  • Jinja2

  • jQuery Snippets Pack

  • nginx

  • Nodejs

  • Package Control

  • Placeholders

  • Prefixr

  • SideBarEnhancements

  • Sublime Tweet

  • SublimeCodeIntel

  • SublimeLinter

  • SublimePaster

  • SublimeWebColors

  • Tag

  • Theme - Soda

  • Wordpress

  • Zen Coding

Aside from that it’s stock[/quote]

Yes, aside from that page long list of plugins, it’s stock. :laughing:

Anyway, I am seeing major weirdness with SublimeLinter on Windows in the latest build of ST2. I am not seeing the same symptoms on other platforms, so it seems to be a Windows-only issue. I’ll look into it some more.

0 Likes

#31

You still didn’t give me any sample files. There are 8 different linters, it would help if I knew under what circumstances next/previous error is not working.

0 Likes

#32

I’m sorry but I don’t understand what you mean by sample file. Do you just want a file full of code that next/previous isn’t working in? Here’s a simple Python file next/previous stopped working in. The Python Linter is the only one I really use but I can try the others if you would like.

# alternate implementation with lengths

def myzip(*seqs):
	minlen = min(len(s) for s in seqs)
	return [tuple(s[i] for s in seqs) for i in range(minlen)]

def mymapPad(*seqs, **pad):
	maxlen = max(len(s) for s in seqs)
	index = range(maxlen)
	return [tuple((s[i] if len(s) > i else pad) for s in seqs) for i in index]

s1, s2 = 'abc', 'xyz123'
print myzip(s1, s2)
print mymapPad(s1, s2)
print mymapPad(s1, s2, pad=99)
0 Likes

#33

I get errors on lines 3-5 and 7-10, and next/previous error is working perfectly for me. Please remove all plugins but SublimeLinter from the Packages directory, restart ST2 and see if it works. If it does, some other plugin must be eating those key combinations.

0 Likes

#34

If I disable a particular linter using sublimelinter_disable, will the name still appear in the console as having loaded? (i.e. “SublimeLinter: NAME_OF_LANGUAGE loaded”)

I’m just checking to see if I typed the name wrong or if it will still appear in the console…

Thanks.

0 Likes

#35

It is loaded but disabled.

0 Likes

#36

This is a great plugin!

I have a coloring question: I like the
“sublimelinter_fill_outlines”: true
option with a very light color that barely differs from the background (e.g. light red for white background). Doing this, however, overwrites the syntax highlighting for this line sublimelinter. foreground color. Is it possible to avoid that? I would like to preserve the text highlighting and only color the background slightly differently. Maybe it’s just a question of language definition but I wasn’t able to find a solution…

Thanks!

0 Likes

#37

Addition:

Based on next post, I’ve solved it!!

The path was a red herring. The issue was that somehow, my php files are classified as “html5”, not “php”. When I manually change the syntax to “php”, sublimelinter works!

For those that run into this problem:
a) open one of your php files
b) note in the lower right, it says “html5”, not “php”
c) left-click on that “html5”, and at the top, choose “Open all with current extension as…”
d) choose php
Thanks

Heya,

I’m not able to get sublimelinter to work. I’m on Windows 7 with the latest beta Sublime Text (2172).

I’m not sure exactly what “working” means since I haven’t seen SublimeLinter in action, but “not working” means: I’ve tried typing junk in the source file thinking something would pop up (nothing did), tried pressing ctrl-alt-l, nothing happens. I’ve done ctrl-shift-p and entered “lint”, but the only entry I see is “Sublime Linter: Extract Notations”. I choose that and a new empty file pops up named “Annotations from file.php”. But no lint output.

My User/Base File.sublime-settings contains:

"sublimelinter_executable_map":
{
	"php": "c:/wamp/bin/php/php5.3.8/php"
},

I’ve also tried c:\wamp\bin\php\php5.3.8\php", tried with single 's, tried with “php.exe”, tried upper/lower case drive c.

I’ve tried all the previous suggestions in this thread.

My console output is below. Any help appreciated; this sure sounds cool.

Thanks,
Bill

startup, version: 2172 windows x64 channel: dev
executable: /C/Program Files/Sublime Text 2/sublime_text.exe
working dir: /C/wamp/www/opttown
packages path: /C/Users/Bill/AppData/Roaming/Sublime Text 2/Packages
settings path: /C/Users/Bill/AppData/Roaming/Sublime Text 2/Settings
error parsing session: No data at: 0:0
package /C/Program Files/Sublime Text 2/Pristine Packages/ActionScript.sublime-package is newer than the installed version (/C/Users/Bill/AppData/Roaming/Sublime Text 2/Pristine Packages/ActionScript.sublime-package), running PackageSetup
PackageSetup returned: -1
catalogue loaded
found 8 files for base name Default.sublime-keymap
found 2 files for base name Default.sublime-mousemap
found 6 files for base name Main.sublime-menu
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\comment.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\copy_path.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\delete_word.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\detect_indentation.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\duplicate_line.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\echo.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\exec.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\fold.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\font.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\goto_line.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\indentation.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\kill_ring.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\mark.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\new_templates.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\open_file_settings.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\paragraph.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\save_on_focus_lost.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\scroll.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\side_bar.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\sort.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\swap_line.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\switch_file.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\transform.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\transpose.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Default\trim_trailing_white_space.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Diff\diff.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Git\git.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\HTML\encode_html_entities.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\HTML\html_completions.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Package Control\Package Control.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\SublimeCodeIntel\SublimeCodeIntel.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\SublimeLinter\SublimeLinter.py
SublimeLinter: coffeescript loaded
SublimeLinter: java loaded
SublimeLinter: JavaScript loaded
SublimeLinter: annotations loaded
SublimeLinter: Objective-J loaded
SublimeLinter: perl loaded
SublimeLinter: php loaded
SublimeLinter: python loaded
SublimeLinter: ruby loaded
SublimeLinter: pylint loaded
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\SublimeTODO\todo.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\SublimeTagmatcher\Elements.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\SublimeTagmatcher\SublimeTagmatcher.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\Tortoise\Tortoise.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\ZenCoding\dynamicsnippets.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\ZenCoding\sublimezen.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\ZenCoding\sublimezenplugin.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\ZenCoding\zenmeta.py
Reloading plugin C:\Users\Bill\AppData\Roaming\Sublime Text 2\Packages\ZenCoding\zentrackers.py
loading bindings
loading pointer bindings
found 1 files for base name Default.sublime-theme
theme loaded
app ready
pre session restore time: 0.734349
wrote startup cache, added files: 1 orphaned files: 0 total files: 109 cache hits: 108
startup time: 1.18203 (package setup was run)
loaded 1111 snippets
Package Control: Skipping automatic upgrade, last run at 2012-01-30 16:09:04, next run at 2012-01-30 17:09:04 or after

0 Likes

#38

I am having exactly the same issue as the above poster.

Using Windows 7 32bit and latest Sublime
Console output: pastebin.com/L4zbPAFi
Sublimelinter settings: pastebin.com/VKNz4aYS

EDIT:
Just tried sublimelint, and it’s working perfectly from the start.
Also noticed that if the Syntax is NOT PHP, sublimelinter doesn’t work at all.
Sometimes PHP can be embedded in HTML.
I got sublimelinter to work only when i pressed CTRL+ALT+l and i always get an error saying: No lint errors (there where errors in the document tho)

0 Likes

#39

Hi having a problem getting sublime linter to work. Win 7 64.

The console is outputting the following error:

SublimeLinter: php enabled (using “c:/PHP/php” for executable)
wrote startup cache, added files: 2 orphaned files: 5 total files: 102 cache hits: 100
startup time: 2.61651 (package setup was not run)
Package Control: Removed old directory for package SublimeCodeIntel
Traceback (most recent call last):
File “.\sublime_plugin.py”, line 176, in on_load
File “.\sublime_plugin.py”, line 155, in run_timed_function
File “.\sublime_plugin.py”, line 175, in
File “.\SublimeLinter.py”, line 619, in on_load
File “.\SublimeLinter.py”, line 84, in background_run
File “.\SublimeLinter.py”, line 102, in run_once
File “.\sublimelinter\modules\base_linter.py”, line 260, in run
File “.\sublimelinter\modules\base_linter.py”, line 193, in executable_check
File “.\subprocess.py”, line 701, in communicate
File “.\subprocess.py”, line 911, in _communicate
IOError: [Errno 32] Broken pipe

0 Likes

#40

I was doing most of the coding and support from end of July last year until recently. I can’t spare the time any more. It would be nice if some other people would step forward.

  • Aparajita
0 Likes

#41

I have been using SublimeLinter for quite a while, and I am a big fan.

But sometimes when I am looking at other peoples code, it is quite painful if the person does not follow my exact ruleset.

I am not picking on this code at all; everyone codes different. But this is not fun to code in if I want to edit someones code without reformatting all of their code. And I really don’t want to have to turn it off everytime I pull up someones code that is not mine.


So here is a proposal: a low profile linting mode (optional of course)

It could even be taken one step further and the red underlines could be hidden but that can be left up to discussion. Clicking on the line still shows you the issue in the status bar, and I can easily see what is an error, what is a warning without making the code unreadable.

I have made this change locally, and I am looking for input from people to see if this would be a desired option before I bother forking and trying to submit a pull request.

Anyways, input would be nice so I can decide whether to try and get this pulled.

0 Likes

#42

I really like what you’ve done here, while my code is to my specs it doesn’t necessarily translate to the libraries I use.

Have you implemented keybindings to flip between ‘traditional’ and ‘minimalistic’ modes? I think that would be valuable.

0 Likes

#43

[quote=“dribble”]

I really like what you’ve done here, while my code is to my specs it doesn’t necessarily translate to the libraries I use.

Have you implemented keybindings to flip between ‘traditional’ and ‘minimalistic’ modes? I think that would be valuable.[/quote]

Hadn’t thought of that, that might be nice. That way if you really want to make sure you see everything, you can just toggle it. I can look into if it seems people are really digging this idea. I am currently not putting much effort into this until I get some more feedback, but I will make a not of this request.

0 Likes

#44

[quote=“facelessuser”]I have been using SublimeLinter for quite a while, and I am a big fan.

But sometimes when I am looking at other peoples code, it is quite painful if the person does not follow my exact ruleset.

I am not picking on this code at all; everyone codes different.[/quote]

[size=150]WHAT"S wrong with my first attempt at python?![/size]

[size=50]hehehe[/size]

Actually it’s quite discouraging, because I use Linter as well and I made sure to get rid of all those syntactical issues.

So either that’s an old version of the code or something is different between us: Linter Settings or the Source Code in question. (I’m assuming an old version of source; let me know if it is still syntacticly awful [accessible via package control])

Regardless, not a bad idea. Sincerely, I’m glad my failed attempt at coding actually sparked a creative idea!

0 Likes

#45

@viisual, it is an old version I believe. I am not at all picking on your code, trust me. There are a number of plugins by more experienced python people out there that cause a bunch of highlighting. Just because the linter marks a line, it doesn’t mean the code isn’t sound; just that it isn’t following the format rules of that I have set in my linter settings. Yours was the first file I grabbed that really highlighted a bunch.

I just wanted to show how code could look. Having to turn off the linter doesn’t give me feed back on the lines I am touching, but leaving it on makes it hard to read. The alternative is to have it highlight only on save, but I personally like having the instant feedback.

I don’t even know if people will go for this approach; I just thought I would throw it out there. SublimeLinter was the first plugin I thought of when I realized you could change the gutter icons.

I checked out the SublimeLinter repository and I saw a bunch of pull requests, some that have been there a while. So I am not sure if/when this could/would ever get pulled. From what I understand from reading this thread, the maintainer doesn’t really have the time they used to have.

No hard feeling hopefully. I think your plugin is pretty cool, I wouldn’t have had it on my computer to use if I didn’t like it :smile:.

0 Likes

#46

@viisual, since you asked, the one from Package control still has a lot of lint warnings and such. The only setting I disable is the 80 chars per line warning.

It is mainly things like trailing spaces, using tabs instead of spaces, variables set but not used, un-needed semi-colons, and lastly spaces after “(” or before “)”. None of these are big deals, the code is sound, and some people straight up don’t like some of these rules. It is no big deal. I have strict rules for my python plugins just so I don’t cause the linter to highlight a bunch of lines when someone from the community tries to make edits to my plugin. Someone once made a complaint when I had a pull request about not following PEP8 standards, so I started following PEP8 standards. I just really want to minimalize the feedback.

I want the linter to show me what I need to know without hindering me.

0 Likes

#47

Just to start discussion:

Gutter icons are nice, but too many gutter icons is… too much.

IMHO, when there is so many gutter icons like the print screen of low profile linting mode, it become almost useless.
Same for BracketHighlighter, I first liked the idea but now find it counter productive.

Add to the equation that only one gutter icon could be displayed per line, and it become a mess when used by more than one plugin.

But I like the idea of low profile mode for linter :smile:

0 Likes

#48

[quote=“facelessuser”]@viisual, it is an old version I believe. I am not at all picking on your code, trust me.

No hard feeling hopefully. I think your plugin is pretty cool, I wouldn’t have had it on my computer to use if I didn’t like it :smile:.[/quote]

Maybe I should have been more playful with my response, surely I wasn’t sincere.

In fact I used the Linter on a production JS file, which had countless lines of things highlighted I was … unaware were even plausible issues… but knowing how finicky some issues can be (trailing comma gotcha in IE6, for instance) I went ahead and applied the suggested Linter changes.

What would have taken me 30m-6h of debugging (IE6 really is a jerk, and terrible to deduce issues with) took all of 5 minutes.

Linter rocks.

And your idea is a good one.

0 Likes