Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactored packages #84

Merged
merged 42 commits into from
Mar 25, 2016
Merged

Refactored packages #84

merged 42 commits into from
Mar 25, 2016

Conversation

zoli
Copy link
Member

@zoli zoli commented Mar 17, 2016

As a whole this pr is about #71 it doesn't resolve all of the issues but it gets us closer to modularity/optionality. Now the core backend doesn't know anything about sublime packages for using them in the frontend we just need to add

import _ "github.com/limetext/lime/backend/sublime"

closes #64

As there are a lot of commits and changes I'll address the main changes:

  1. packages package which most of the code and the package is documented
  2. sublime package the code is now much cleaner also we have separate tests
  3. removed lime-packages dependency from backend we dont need this submodule for lime-backend anymore

zoli added 30 commits May 29, 2015 14:01
Introduced new interface item so that every package should implement it.
first one was caused because of calling editor loadSettings more
than once. second one was because passing pointer to view to log.Error
we were not unlocking the watcher before calling the callbacks
so if one of the callbacks wanted to watch sth else we would stuck
on a dead lock what we should do is unlock the lock before the
callback and lock it again after the callback finished
changed item interface Load method the method doesn't return error
exported watch function in items package
each item will load in a separate go routine
unexporting watch function in packages package
removed Init() from packages we can use init for now
on editor Init we create window/view closes
limetext/lime#539
mentioned some todo's in code for reaching out later
some tweaks in sublime package
open new window and file after calling init callbacks on
editor.Init()
@zoli
Copy link
Member Author

zoli commented Mar 17, 2016

I tested the frontends against this pr they won't crash but they don't load any packages currently because I need to work a bit on lime-packages repo.

@zoli zoli mentioned this pull request Mar 18, 2016
@zoli
Copy link
Member Author

zoli commented Mar 18, 2016

closes #85

@coveralls
Copy link

Coverage Status

Coverage decreased (-1.3%) to 58.421% when pulling 02d187f on packages into 1f446ac on master.

bug on loading sublime package settings and keybindings
Because we are initializing setting and keybinding hierarchy on
GetEditor() we should remove the checking in loadSettings() and
loadKeyBindings()
@coveralls
Copy link

Coverage Status

Coverage decreased (-1.3%) to 58.396% when pulling cb459ef on packages into 1f446ac on master.

moved sublime_PackagesPath from generated format to manual because
in sublime api packages_path works without passing any value
now we don't produce *.pyc files we can get rid of __pycache__
folders
@coveralls
Copy link

Coverage Status

Coverage decreased (-1.0%) to 58.726% when pulling c3f7f27 on packages into 1f446ac on master.

keyInput: make(chan keys.KeyPress, 32),
keyInput: make(chan keys.KeyPress, 32),
defaultSet: new(HasSettings),
platformSet: new(HasSettings),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These should probably still be defaultSettings and platformSettings for clarity.

@zoli
Copy link
Member Author

zoli commented Mar 25, 2016

All mentioned problems are resolved.

@zoli zoli merged commit 0429561 into master Mar 25, 2016
@zoli zoli deleted the packages branch March 25, 2016 17:45
@zoli zoli mentioned this pull request Mar 25, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Editable package paths
3 participants