Skip to content

Instantly share code, notes, and snippets.

@pablomayobre
Last active November 18, 2017 21:33
Show Gist options
  • Save pablomayobre/649c24a8d7c11e5f3601eee605ff5f87 to your computer and use it in GitHub Desktop.
Save pablomayobre/649c24a8d7c11e5f3601eee605ff5f87 to your computer and use it in GitHub Desktop.
Atom setup to develop LÖVE apps and games

Atom

Packages

  • Comment: I use this to easily comment out lines of code. (I added support for Lua)
  • Hyperclick-LÖVE: I don't use this much but is useful to see what a function does and/or if exists. (I found this awkward so I'm not ussing it anymore)
  • Language-Lua: This is required in order to get syntax highlighting for Lua.
  • Linter-Luacheck: Luacheck helps a lot at identifying possible problems in a Lua file so this package is a MUST. I provided the LÖVE standard to Luacheck and help maintain the linter-luacheck plugin.
  • LÖVE-Atom: Add snippets for autocompletion of LÖVE functions. I help rm-code with this he is always improving it.
  • Build-LÖVE: Provides an easy way to run LÖVE projects and get console output and inlining errors from Atom, this replaces love-launcher
  • Aligner-Lua: Align sections of code between lines so that they match and are easily readable (Not really needed)

Extras

NOTE: I installed some of this packages through LÖVE-IDE which may pre-configure some stuff, I ended uninstalling this one because it didn't provide features I was really needing

"*":
"atom-ide-ui":
hyperclick:
win32TriggerKeys: "altKey"
autosave:
enabled: true
core:
allowPendingPaneItems: false
disabledPackages: [
"elmjutsu"
"linter-eslint"
"linter-js-standard"
"linter-js-standard-engine"
"welcome"
"symbols-view"
"styleguide"
"open-on-github"
"git-diff"
"ide-typescript"
"linter-ui-plus"
]
restorePreviousWindowsOnStart: "always"
telemetryConsent: "limited"
themes: [
"one-light-ui"
"one-light-syntax"
]
editor:
fontFamily: "Fira Code"
zoomFontWhenCtrlScrolling: false
"exception-reporting":
userId: "7bbd62b2-e9f3-4b86-ae80-0a8bcbd71b03"
fonts: {}
"highlight-selected":
highlightBackground: true
ignoreCase: true
"linter-luacheck":
executablePath: "C:\\Users\\nano0\\AppData\\Local\\Lua\\bin\\luacheck.bat"
"linter-ui-default":
panelHeight: 110
minimap:
charHeight: 3
charWidth: 2
displayPluginsControls: false
plugins:
cursorline: true
cursorlineDecorationsZIndex: 0
"find-and-replace": true
"find-and-replaceDecorationsZIndex": 0
"highlight-selected": true
"highlight-selectedDecorationsZIndex": 0
linter: true
linterDecorationsZIndex: 0
"minimap-autohide": true
"minimap-autohideDecorationsZIndex": 0
"minimap-autohider": true
"minimap-autohiderDecorationsZIndex": 0
"minimap-linter":
markerType: "highlight-outline"
"status-bar":
fullWidth: false
"tree-view":
hideVcsIgnoredFiles: true
packages: [
"aligner"
"aligner-lua"
"build"
"build-love"
"autocomplete-lua"
"love-atom"
"comment"
"language-glsl"
"language-lua"
"linter"
"linter-ui-default"
"linter-luacheck"
"minimap"
"minimap-cursorline"
"minimap-find-and-replace"
"minimap-highlight-selected"
"minimap-linter"
"file-icons"
"fonts"
"package-sync"
"pristine-ui"
"highlight-selected"
"indent-guide-improved"
]
@import "syntax-variables.less";
@import "ui-variables.less";
atom-text-editor.editor {
// LIGATURES //
text-rendering: optimizeLegibility;
-webkit-font-feature-settings: "liga" on, "calt" on;
// HIGHLIGHT TRAILING WHITESPACE //
/*
div.line:not(.cursor-line) {
.trailing-whitespace {
background-color: @background-color-error;
color: contrast(@background-color-error);
}
}
*/
// HIGHLIGHT SELECTED //
// Box
.highlights .highlight-selected .region {
border-color: transparent;
background-color: fadeout(purple, 94%);
}
// FADE CURSOR //
.cursor {
border:none;
border-left: 2px solid @syntax-cursor-color;
transition: opacity 0.45s;
}
// FOLD ARROWS ALWAYS VISIBLE //
.line-number.foldable .icon-right {
visibility: visible;
}
// NO ITALIZED COMMENTS //
.syntax--comment {
font-weight: lighter;
font-style: normal;
}
// SELECTION COLOR //
.selection .region {
background-color: @syntax-selection-color;
border-bottom: 1px solid darken(@syntax-selection-color, 20%)
}
// CURRENT LINE TRICKS //
.line.cursor-line {
-webkit-font-feature-settings: "liga" off, "calt" off;
background-color: fadeout(@syntax-cursor-line, 2%);
transition: text-shadow 0.4s;
text-shadow: 0px 0px 1.2px fadein(@syntax-cursor-line, 20%)
}
// SQUARE BRACKET MATCH //
.bracket-matcher .region {
border: none;
border-radius: 0;
border-bottom: 2px solid fadeout(darken(@syntax-cursor-color, 40%), 30%);
box-sizing: border-box;
background-color: fadeout(@syntax-cursor-color, 80%);
z-index: 1;
}
// WHITE INIVISIBLE CHARACTERS //
.invisible-character {
color: @syntax-background-color;
}
}
// INDENT GUIDE IMPROVED //
.indent-guide-improved {
background-color: fadeout(@syntax-indent-guide-color, 10%);
&.indent-guide-stack {
background-color: fadein(@syntax-indent-guide-color, 10%);
&.indent-guide-active {
background-color: fadein(@syntax-indent-guide-color, 40%);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment