This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-12-18
Channels
- # admin-announcements (12)
- # adventofcode (2)
- # beginners (10)
- # boot (340)
- # cljs-dev (1)
- # cljsrn (30)
- # clojure (79)
- # clojure-germany (4)
- # clojure-japan (4)
- # clojure-nl (2)
- # clojure-russia (141)
- # clojurescript (125)
- # core-async (9)
- # datascript (2)
- # datavis (8)
- # datomic (9)
- # editors (5)
- # editors-rus (4)
- # hoplon (69)
- # ldnclj (63)
- # off-topic (1)
- # om (291)
- # parinfer (7)
- # portland-or (3)
- # proton (248)
- # rdf (3)
- # re-frame (14)
- # remote-jobs (4)
I'm not sure if the register-xxx
approach is the right one. I tried @geksilla solutions first but ran into a deadend
Haha funny timing. I’ll go through another PR first and then start on yours. Maybe you’ll be back when I have some feedback
Also if you have linters you wanna add, feel free to branch off my branch and I cherry-pick it in (no PR necessary)
This says that the linter-pep8
package has a dependency on the :tools/linter
layer, right?
hmm maybe a different name for that fx is better... it means that :linter-pep8 depends on :tools/linter. If :tools/linter is not there, :linter-pep8 is not resolved
Or in other other words… if you try to install/activate linter-pep8, you need to activate the linter layer?
I mean, linter-pep8 installs linter
even though the linter layer is not enabled. So on restart, proton would wipe linter
(because it's not enabled) and linter-pep8
would install it again
I did a lot of refactoring.
- Empty multimethods don't need to be inside layers anymore
- init-layer!
is now receiving config
and layers
- added a new print function that distinguishes proton messages on the console from the rest
- introduction of the register-{{xxx}}-dependencies
function
This commit is the culprit somehow: https://github.com/dvcrn/proton/commit/7ab8693ca60a457d4e96a02374396bdd9c3302f9
{
:layers
[
:core
:tools/git
:tools/minimap
:lang/clojure
:lang/python
:lang/julia
:lang/latex
:lang/markdown
; :lang/rust
]
:additional-packages
[
:advanced-open-file
:build
:build-make
:nvatom
:tomorrow-night-eighties-syntax
:project-manager
:language-matlab-only
:markdown-preview-plus
:markdown-writer
:date
:file-icons
:merge-conflicts
:time-status
:battery-status
:atom-alignment
:nuclide-quick-open
:nuclide-fuzzy-filename-provider
:nuclide-open-filenames-provider
:nuclide-recent-files-provider
:nuclide-recent-files-service
:comment-commander
; :indent-detective
]
:configuration
[
;; appearance
["atom-material-ui.ui.accentColor" "Blue"]
["atom-material-ui.tabs.showTabIcons" "Show on active tab"]
["atom-material-ui.tabs.tabMinWidth" true]
["atom-material-ui.tabs.tabSize" "Small"]
; ["atom-material-ui.fonts.fontSize" "Small"]
["atom-material-ui.panels.panelContrast" true]
["editor.lineHeight" 1.2]
["editor.tabLength" 4]
["editor.softWrap" true]
["editor.softWrapHangingIndent" 2]
["editor.fontFamily" "Hasklig-ExtraLight"]
["editor.fontSize" 11]
["editor.scrollPastEnd" true]
["editor.showIndentGuide" true]
["editor.backUpBeforeSaving" true]
["editor.tabType" "soft"]
["tabs.showIcons" true]
["tabs.usePreviewTabs" true]
["tabs.enableVcsColoring" true]
;; markdown settings
["markdown-preview-plus.pandocPath" "/usr/local/bin/pandoc"]
["markdown-preview-plus.enablePandoc" true]
["markdown-preview-plus.pandocBibliography" true]
["markdown-preview-plus.pandocBIBFileFallback" "/Users/sglyon/Research/library.bib"]
["markdown-preview-plus.pandocCSLFileFallback" "/Users/sglyon/.pandoc/csl/apsa.csl"]
["markdown-preview-plus.pandocMarkdownFlavor" "markdown+implicit_figures+pipe_tables+table_captions+yaml_metadata_block+fenced_code_blocks+fenced_code_attributes+tex_math_dollars"]
["markdown-preview-plus.pandocArguments" ["--template=/Users/sglyon/.pandoc/templates/html.template"
"--filter pandoc-citeproc"]]
["markdown-writer.fileExtension" ".md"]
["markdown-writer.tableExtraPipes" true]
;; other
["ink.monotypeResults" true]
["nvatom.directory" "/Users/sglyon/Research/randomNotes"]
["spell-check.grammars" ["source.gfm"
"source.git-commit"
"text.tex.latex"
"text.html.php"]]
["atom-alignment.addSpacePostfix" true]
["atom-alignment.alignBy" ["=>" ":=" "=" "$" "&" "#"]]
["autocomplete-plus.confirmCompletion" "tab"]
["racer.racerBinPath", "/Users/sglyon/.cargo/bin/racer"]
["racer.rustSrcPath" "/Users/sglyon/src/rust/src"]
;; stuff for proton
["proton.core.showTabBar" true]
["proton.core.quickOpenProvider" :nuclide]
["proton.core.relativeLineNumbers" true]]
;; Don't like a keybinding or want to add something yourself? Do it here
;; (not implemented yet)
:keybindings {}
;; Want some custom behavior inside a certain window?
;; For example you prefer navigating with esc and enter? Add it here.
:keymaps [{:selector ".tree-view" :keymap [["escape" "tree-view:toggle"]]}]}
It only works when I do apm uninstall EVERYTHING-NUCLIDE
and then reinstall from command line while atom is closed
Then it takes a little bit of time to warm up when I next launch atom and works fine after that
btw with the changes I made in my branch we should probably start removing empty functions
(defmethod get-initial-config :lang/latex []
["proton.lang.latex.use-latex-plus" false])
["atom-material-ui.ui.accentColor" "Blue"]
["atom-material-ui.tabs.showTabIcons" "Show on active tab"]
["atom-material-ui.tabs.tabMinWidth" true]
["atom-material-ui.tabs.tabSize" "Small"]
; ["atom-material-ui.fonts.fontSize" "Small"]
["atom-material-ui.panels.panelContrast" true]
i like this. maybe we can put some of it into corespeaking of which, we should probably fix SPC tab
. I wanted to copy spacemacs behaviour to always jump to the last buffer but it behaves weird
would be cool if we could add "theme" layers or something like that. [theme :sglyon]
and then it downloads that theme, sets the configs and so on
For some reason when I have this in my config:
["core.themes" ["isotope-ui" "atom-material-syntax”]]
It loads isotope properly before proton init starts, but as soon as proton finishes loading it goes to a funky state where it is 1/2 isotope 1/2 material
proton|linter ⇒ cat ~/.atom/config.cson
"*":
"file-watcher": {}
"exception-reporting": {}
welcome:
showOnStartup: false
core:
themes: [
"isotope-ui"
"atom-material-syntax"
]
So it is definitely not doing what we want here — seems like for the theme we are overwriting stuff
I’d like even more compact in the tree view, but I don’t think you can without mucking around in your stylesheet
yeah we need a very solid default and then give the option to make it however the user wants
No I’m updating how I handle the package list based on config — not the vector of vectors thing
if you have more theme ideas btw, put them in here https://github.com/dvcrn/proton/pull/59
on one side the user can just disable it, on the other side when we remove a package, we add it to the disabledPackages
first so atom unloads it
but that key is never getting cleaned up so when the user enables the layer again and the package gets installed, it doesn't get enabled
well we need to keep track of which packages we want to have disabled. Like tab-bar for example
I think it might be easier to just make sure what we need is enabled and not disabled 😛
;; Method definitions
(defmethod get-initial-config :core []
[["proton.core.showTabBar" false]
["proton.core.relativeLineNumbers" false]
these are 2 config keys that have ownership over a package. if showTabBar
is false, proton makes sure that tab-bar
is disabled on loadby flush I mean remove packages that aren’t installed anymore — don’t touch anything else
that was the other problem I had. Disabled packages didn't show up in atoms API anymore
;; set the user config
(atom-env/insert-process-step! "Applying user configuration")
(doall (map #(atom-env/set-config! (get % 0) (get % 1)) all-configuration))
(atom-env/mark-last-step-as-completed!)
Well, predicatably if I set isotope to be my theme from the default config section of the core layer it works fine
if that's the case, we need to write a filter function that filters based on the config key (first element in the vector)
If we end up liking the linter solution we can do something similar for the build
family of packages
I never used it to be honest, but it sounds like something that should be in there by default
I tried for a bit, but didn’t succeed. I have to move on to one more thing before calling it a night
Can we make the timeout on closing the proton modal panel shorter? I think the 3 second delay is too long
OK well that was the last one from me tonight — I really do need to do that one more thing and get some sleep
also wanna to add https://atom.io/packages/imdone-atom to
:apps/imdone
and appropriate keybingings within SPC a
categoryadded javascript layer on top of linters branch, will send PR when linters will be merged.
Imdone is cool. I didn't ever start using it full time because it alters the source of your files (adds their own Metadata to your todo comments) and I was working with others on a project.
also i created one package for atom inspired by helm-ag https://github.com/geksilla/atom-fuzzy-grep