SublimeText encloses lines in white rectangles - syntax-highlighting

It's rather annoying and I can't seem to figure out why.

If you still have a problem with those solutions suggested above (with anaconda lint):
Disable linting altogether within the user-defined Anaconda settings file, Anaconda.sublime-settings, via the file menu:
Sublime > Preferences > Package Settings > Anaconda > Settings – User:
When it opens file, just type the following and save it away ;-)
{"anaconda_linting": false}
At least, it fixed my problem.
Blessings
(a debtor)<><

Looks like you have SublimeLinter installed. It highlights errors and warnings.

Disabling Annaconda linting in sublimetext 3 for current file:
Enter command palette by Cntrl + Shift + P or Command + shift + P for Mac OS X
Type Anaconda: Disable linting on this file and hit enter
To re-enable linting Anaconda: Enable linting on this file
Disabling linting persists between sessions.
Source

You probably can change "anaconda_linter_mark_style" to "none" and keep "anaconda_linter_underlines" as true. This way it'll only put a underscore under errors but not highlight the whole line.

If you don't want to disable SublimeLinter completely, you can set Syntax Specific Preferences.
Preferences -> Package Settings -> Sublime Linter -> Settings Syntax Specific User
The preferences is evaluated similar to CSS, it cascades. Think about the most user-specific, syntax-specific rules evaluated last.
E.g: I also do not like the white rectangle, so I opted for fills.
{
/*
Selects the way the lines with errors or warnings are marked; "outline"
(default) draws outline boxes around the lines, "fill" fills the lines
with the outline color, and "none" disables all outline styles
(useful if "sublimelinter_gutter_marks" is set).
*/
"sublimelinter_mark_style" : "fill",
/*
If true, lines with errors or warnings will be filled in with the
outline color.
This setting is DEPRECATED and will be ignored in future
versions. Use "sublimelinter_mark_style" instead. For backwards
compatibility reasons, this setting overrides "sublimelinter_mark_style"
if that one is set to "outline", but has no effect if it's set to "none".
*/
"sublimelinter_fill_outlines": false,
// If true, lines with errors or warnings will have a gutter mark.
"sublimelinter_gutter_marks": false,
// If true, the find next/previous error commands will wrap.
"sublimelinter_wrap_find": false,
}

For Anaconda/Sublime Users
I have Anaconda and the lint function is useful, but out of the box, it is draconian about style. When you hover over the rectangle, it will tell you the number of the rule it is enforcing. You can disable the ones that you feel are unneeded or get in the way as you code.
On Macs:
Go to Preferences | Browse Packages | Anaconda | Anaconda.sublime-settings
Search for "pep8_ignore"
Add the rules you want to remove.
I've put in my list the following rules that remove some of the white space rules that slow me down but keeps the "no tabs" rule.
"E201",
"E202",
"E203",
"E302",
"E309",
"W291",
"W293",
"W391"
You'll want to set "translate_tabs_to_spaces": true in your user settings if you go with this list.
Alternatively you can set "pep8" to false to stop it entirely.

If you are using Anaconda plugin (for Python development) this is it's linting functionality - it highlights Python syntax errors and PEP8 violations.
You can disable this feature completely or change the color of this outline by adding some custom rules to your current SublimeText theme:
In Sublime Text menu: Preferences > Browser Packages...
Locate source file of your current theme in opened directory (*.twTheme file with the name corresponding to the one, selected in Preferences > Color Scheme > ...)
Duplicate this file, add another name (for example Tomorrow-my.tmTheme from Tomorrow.tmTheme)
Paste the following code to this newly created theme file, right before </array> tag:
<dict>
<key>name</key>
<string>anaconda Error Outline</string>
<key>scope</key>
<string>anaconda.outline.illegal</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FF4A52</string>
<key>foreground</key>
<string>#FFFFFF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>anaconda Error Underline</string>
<key>scope</key>
<string>anaconda.underline.illegal</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FF0000</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>anaconda Warning Outline</string>
<key>scope</key>
<string>anaconda.outline.warning</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#DF9400</string>
<key>foreground</key>
<string>#FFFFFF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>anaconda Warning Underline</string>
<key>scope</key>
<string>anaconda.underline.warning</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FF0000</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>anaconda Violation Outline</string>
<key>scope</key>
<string>anaconda.outline.violation</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#ffffff33</string>
<key>foreground</key>
<string>#FFFFFF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>anaconda Violation Underline</string>
<key>scope</key>
<string>anaconda.underline.violation</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FF0000</string>
</dict>
</dict>
Adjust the colors to your needs. Save file.
Select your "new" theme in Preferences > Color Scheme > and observe the changes.
Point 3. was needed in my case because color wasn't updated immediately, after just saving theme and restarting Sublime/switching themes (sublime uses some kind of buffer?..). So, maybe you will have to repeat steps 3-6, when you want to play a little with the colors.
Source: Anaconda's Docs

On line 300 "anaconda_linter_mark_style": "none", in Preferences -> Package Settings -> Anaconda -> Settings - Default. This removes the "annoying" highlighting but still checks for pep8 errors

If none of the previous solutions worked for you, try this:
Go to Preferences | Package Settings | Pylinter | User settings
In the file, just add/modify the following lines:
"run_on_save": false,
"disable_outline": true
It worked for me, and in my case I had anaconda only as a folder, associating the python compiler of Sublime to the python compiler (python.exe) present in the anaconda folder.

I just found that this can also randomly happen on the last word that you searched. So if you searched for "integer" for instance. Then all instances of "integer" will have that white square around them.

In Anaconda with Sublime Text, if you don't want to make any changes to the settings:
In the case highlighting occurs, you can use a keyboard shortcut (in my case it's CTRL-ALT-R) to autoformat the code! The highlighting will be gone immediately.
You just have to repeat that every once in a while, after having added new code (which is not formatted according to the PEP8 rules).
The command is "anaconda_auto_format".

if you got the anaconda linting
go in the dir like this C:\Users\giova\AppData\Roaming\Sublime Text 3\Packages\Anaconda
and change the anaconda.sublime-settings (find the anaconda linter keys and set them to false). See if you installed other linter stuff and change their settings to false where it seems to rely on linting until everythings is right for you. I had installed different linters, so I had to change all of them.

you can disable warnings in anaconda.sublime-settings
via the file menu:
Sublime > Preferences > Package Settings > Anaconda > Settings – User:
In opened file type following code and press Ctrl + S to save file
{"pep8": false}
you can also type this:
{"anaconda_linting": false}
but it disables both warnings and errors, which is not good

For me, on sublime 3 this was the PyLinter Package. While the linting feature's useful i also wanted to get rid of the annoying highlight. Found this on their docs if it's helpful! :)
https://packagecontrol.io/packages/Pylinter
I was able to remove the highlight with Command + option + x
The plugin can be invoked by a keyboard shortcut:
OS X: Command+option+z
Linux, Windows: Control+Alt+z
**Toggle Marking**
The marking of the errors in the file can be toggled off and on:
OS X: Command+option+x
Linux, Windows: Control+Alt+x

Related

Updating the Perm Gen Memory Jenkins - MacOSX

I am trying to update the Perm Gen Memory in Jenkins, from what I have read adding this to the org.jenkins.plist file would do the trick but it is not changing it for me:
<key>-XX:PermSize</key>
<string>512m</string>
<key>-XX:MaxPermSize</key>
<string>1024m</string>
When I use the Jenkins monitoring tool is still tells me that:
Perm Gen Memory: 81mb
Am I doing something wrong?
Thanks
According to http://mgrebenets.github.io/mobile%20ci/2015/02/01/jenkins-ci-server-on-osx, you should be using <string> but not <key>, eg:
<string>-XX:MaxPermSize=1024m</string>
<key> denotes a section. In this case, you are setting program arguments that fall under the <key>ProgramArguments</key> section. What you specified as key sections is probably confusing the launcher. Look at that link for a complete example and compare to yours.
Abridged example:
<plist version="1.0">
<dict>
<key>Label</key>
<string>homebrew.mxcl.jenkins</string>
<key>ProgramArguments</key>
<array>
..... more props here...
<string>-XX:MaxPermSize=256m</string>
.... more props here
</array>
... more stuff here...
</dict>
Also note the instructions for properly restarting (unloading/loading) the instance so that the changes are applied. Once you restart it, confirm that the options you set translated properly to the command line:
ps aux | grep java
The properties should be properly formatted as follows:
-XX:PermSize=512m -XX:MaxPermSize=1024m

dispatch_once Error when running FacebookSDK

I don't know whats wrong, I installed FacebookSDK using Cocoapods (as always), and I am getting an error in this method:
_dispatch_once(dispatch_once_t *predicate, dispatch_block_t block)
{
if (DISPATCH_EXPECT(*predicate, ~0l) != ~0l) {
dispatch_once(predicate, block);
}
}
The red line of the error is on the line dispatch_once (predicate, block); . I am not doing anything different than other times using FacebookSDK.
Can anyone help?
Configure your info.plist (find it in the Supporting Files folder in your Xcode Project).
Right-click your .plist file and choose "Open As Source Code".
Copy & Paste the XML snippet into the body of your file (inside of the <dict>...</dict>):
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>FB + AP-ID</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string> AP-ID </string>
<key>FacebookDisplayName</key>
<string>App-Name</string>
If you use any of the Facebook dialogs (e.g., Login, Share, App Invites, etc.) that can perform an app switch to Facebook apps, your application's .plist also need to handle this.
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
Source: Facebook SDK Documentation
My app kept crashing and producing the error message:
'The service configuration is `nil`
on the same line:
dispatch_once(predicate, block);
while trying to implement AWS Auth via the Mobile Hub into my iOS app.
I spent a lot of hours editing my info.plist, googling solutions, and re-downloading the awsconfiguration.json file only to discover that my "Target Membership" box in the right side bar of Xcode was unchecked. Once I checked it my app successfully built with AWS Auth working fine.
Hope this helps someone.
So I had the same issue, and fixed it by reinstalling all of my pod files by removing from Podfile, running "pod update" and then readding them and running "pod update" again. Worked like a charm.

Why I can't Cmd-Tab to my application window on Mac OS X 10.9 after upgrading to XULRunner 33?

I have a standalone XULRunner application that was previously running XULRunner 1.9.2 (old, I know). I just upgraded to XULRunner 33.
Previously, When I was developing locally (MacBook Pro with Mac OS X 10.9.5), I would often Cmd+Tab between my IDE and my application.
After the upgrade, I can no longer do this. I still get a window on my desktop (as defined in main.xul), but it no longer appears in my Cmd+Tab list. I have to "find" it on the desktop.
Closing the window quits the application, etc., and the fact that I'm getting an application window at all implies that my main.xul is correct... but I don't know why this is.
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://my-app-name/skin/css/main.css" type="text/css"?>
<!DOCTYPE window SYSTEM "chrome://my-app-name/locale/main.dtd">
<window id="main" title="&window-title;" width="750" height="530" persist="width,height,screenX,screenY,sizemode" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script><!-- MY APPLICATION CODE HERE --></script>
<keyset>
<key modifiers="accel" key="W" oncommand="window.close()"/>
<key modifiers="accel" key="Q" id="quit"/>
</keyset>
<toolbox>
<menubar>
<menu id="menu_file" label="File" hidden="true">
<menupopup>
<menuitem id="menu_FileQuitItem" key="quit" label="Quit" oncommand="goQuitApplication();"/>
</menupopup>
</menu>
</menubar>
</toolbox>
</window>
I've read through the Windows and menus in XULRunner tutorial:
The same code on XULRunner 1.9.2 runs fine and I can "activate" the window. With the new XULRunner, the window title appears greyed out in Mac OS X and is not selectable.
Any ideas of what to try?
I don't know if it's helpful, but I also used to get a menu bar in OS X as well, when the window was selected. Even now if I click on the window's title bar, the menu bar that OS X displays does not show my application's menu.
I don't know what was changed, or when they changed it, but this behavior is somewhat documented on MDN.
Excerpt from Getting started with XULRunner:
On the Mac, before you can run a XULRunner application with everything intact, you must install it using the --install-app xulrunner commandline flag. Installing the application creates an OS X application bundle:
The page goes on with some steps for how to do this, but I was never able to get them to work with modern XULRunner versions.
The only way I was ever able to get modern XULRunner versions to fully work is to create the application bundle manually.
In this example, I am going to use the "hello world" example referenced in the MDN docs.
Step 1:
Create the following directory structure.
hello.app/
Contents/
MacOS/
Resources/
Step 2:
Download the version of XULRunner runtime you want (I'm using 33), and extract the XUL.framework.
Step 3:
Copy all of the files inside XUL.framework/Versions/Current/ to hello.app/Contents/MacOS/.
Also copy the dependentlibs.list into hello.app/Contents/Resources/
Step 4:
Download the example files, and copy the following files and directories to hello.app/Contents/Resources/.
chrome/
defaults/
application.ini
chrome.manifest
Step 5:
Due to another issue, the xulrunner binary will not automatically find the application.ini like it's supposed to. To work around this, we will need a stub loader, like this one I wrote previously.
#!/bin/sh
runpath="`dirname "$0"`"
contentsdir="`cd "$runpath"/.. > /dev/null && pwd`"
exec "$runpath/xulrunner" --app "$contentsdir/Resources/application.ini"
Create a new file named hello at hello.app/Contents/MacOS/hello, put the code above inside, and give it executable permissions (chmod +x hello).
Step 6:
Now we need a Info.plist file. Here is one I created based on the Deploying XULRunner example. Note that the CFBundleExecutable must match the stub loader file name above.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>hello</string>
<key>CFBundleGetInfoString</key>
<string>1.0</string>
<key>CFBundleIconFile</key>
<string>app_icon.icns</string>
<key>CFBundleIdentifier</key>
<string>net.yourcompany.yourapplication</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>applicationName</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
</dict>
</plist>
Save this file under hello.app/Info.plist.
Step 7:
Create a new file named PkgInfo at hello.app/PkgInfo, and put this text inside.
APPL????
Step 8:
You should now be able to run your application with and menu and doc icon, and Cmd + Tab capabilities. You can open it by Finder, or the command line.
$ ./hello.app/Contents/MacOS/hello

How can I suppress warnings in SublimeLinter for mixed spaces/tabs in comments?

Here is a link to a screenshot of the warnings:
I would like to be able to use the "cmd+/" shortcut to quickly comment out sections of code. Whenever I do, I get a bunch of space/tab mixing errors. I am required to use tabs for coding standards, but it seems Sublime 3 forces spaces for the comments. I also enjoy the error checking for space/tab mixing through non-commented code, so I would like to leave that intact if possible.
Is there a way to modify Sublime's settings to change the commenting shorcuts functionality or is there a way to modify SublimeLinter-jshint's settings to ignore these warnings?
Thanks in advance.
The easiest way to do this is to remove the space from after the //. Open your Packages folder via Preferences -> Browse Packages... and create a folder called JavaScript. I assume you're on OS X, so the full path to the folder is ~/Library/Application Support/Sublime Text 3/Packages. Next, create a new file in Sublime with the following contents:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Comments</string>
<key>scope</key>
<string>source.js, source.json</string>
<key>settings</key>
<dict>
<key>shellVariables</key>
<array>
<dict>
<key>name</key>
<string>TM_COMMENT_START</string>
<key>value</key>
<string>//</string>
</dict>
<dict>
<key>name</key>
<string>TM_COMMENT_START_2</string>
<key>value</key>
<string>/*</string>
</dict>
<dict>
<key>name</key>
<string>TM_COMMENT_END_2</string>
<key>value</key>
<string>*/</string>
</dict>
</array>
</dict>
<key>uuid</key>
<string>A67A8BD9-A951-406F-9175-018DD4B52FD1</string>
</dict>
</plist>
and save it in the Packages/JavaScript folder as Comments.tmPreferences. You'll notice that the TM_COMMENT_START value is //, whereas in the original it's //. Restart Sublime, and now when you're editing JavaScript or JSON files and hit Command ⌘/ your code will be commented out without the addition of a space.

Anyone had success with Copy Files build phases in Xcode 4 templates

I've been trying to add a Copy Files build phase to a project template for Xcode 4 but I cannot figure out how to add files to copy.
Here's what I've added to my target. Changes to DstPath, DstSubfolderSpec and RunOnlyForDeploymentPostprocessing are all reflected in projects created from the template. But no files. I have tried adding an array using keys named Files, Definitions, Nodes, nothing has any affect.
Any thoughts or ideas would be greatly appreciated!
<key>BuildPhases</key>
<array>
<dict>
<key>Class</key>
<string>CopyFiles</string>
<key>DstPath</key>
<string></string>
<key>DstSubfolderSpec</key>
<string>10</string>
<key>RunOnlyForDeploymentPostprocessing</key>
<string>NO</string>
</dict>
</array>
I found a little gem hidden in some weird python script that gave a "better" (as opposed to nothing) explanation of the mysterious DstSubfolderSpec…
# dstSubfolderSpec property value used in a PBXCopyFilesBuildPhase object.
'BUILT_PRODUCTS_DIR': 16, # Products Directory
: 1, # Wrapper
: 6, # Executables: 6
: 7, # Resources
: 15, # Java Resources
: 10, # Frameworks
: 11, # Shared Frameworks
: 12, # Shared Support
: 13, # PlugIns
There's actually quite a bit of interesting info in the script, (apparently it's part of pythonwebkit, or something).. but regardless, I posted a gist of it here if you want to try and glean any other useful tidbits.
So far I have this working:
<dict>
<key>Class</key>
<string>CopyFiles</string>
<key>DstPath</key>
<string>www</string>
<key>DstSubfolderSpec</key>
<string>7</string>
This creates a CopyFiles build phase that copies files to the folder "www" inside of Resources. (This would result in those files living under /www in the app bundle.) However, I haven't yet been able to specify which files get copied. This is similar to this question
I don't know the answer but this may be a workaround. It runs a script with each build.
<key>Targets</key>
<array>
<dict>
<key>BuildPhases</key>
<array>
<dict>
<key>Class</key>
<string>ShellScript</string>
<key>ShellPath</key>
<string>/bin/sh</string>
<key>ShellScript</key>
<string>~/hello.sh</string>
</dict>
Note that the path to the script is absolute. Maybe you can define a path with PathType Group to set it relative to a group inside the project (I didn't try).
DstPath is the destination path of the files to copy (I guess). I don't know what DstSubfolderSpec is, it only appears in the Command Line Tool with a value of 0. I guess you don't know it either.

Resources