Commit Graph

1807 Commits

Author SHA1 Message Date
Nathan Sobo
f76bab512f Most recently added scoped properties win in case of a specificity tie
This makes the scoped property system mimic the behavior of CSS. When 
there is a tie, the scoped properties loaded later in the cascade win.
I also optimize the scanning of all the properties, checking only those
sets of properties that have a value for the desired key path, to reduce
the need to match a ton of scope selectors.
2012-12-23 13:19:20 -07:00
Nathan Sobo
bbd2e384c5 Merge branch 'master' into config 2012-12-23 12:52:02 -07:00
Nathan Sobo
886995364f Start on syntax global. Use it to replace scoped config settings.
We'll store all syntax-related global state in the `syntax` global. For
now, this means that all scoped properties will be stored here, as well
as all grammars.
2012-12-23 12:50:58 -07:00
Kevin Sawicki
ff3b04e01e Support clicking line numbers in gutter
Clicking moves the cursor to the start of the
row and shift-clicking selects to the start of
the row
2012-12-22 23:40:23 -08:00
Kevin Sawicki
f7878a02dd Add no selection rule to spec selector 2012-12-22 22:13:51 -08:00
Kevin Sawicki
905002cd58 Highlight foreground of selected line numbers
Previously no gutter highlight was displayed unless
the selection was empty.

Now there is a separate CSS class for no selection
that changes the background color independently
from the foreground color.
2012-12-22 22:06:46 -08:00
Nathan Sobo
aaac5a8659 💄 2012-12-21 18:24:06 -07:00
Nathan Sobo
9b6c310239 Implement scoped config settings
You can pass a scope stack when calling `config.get`, which will prefer
settings under the most specific matching scope selector for the given
scope stack.
2012-12-21 18:20:20 -07:00
Kevin Sawicki
559b9132f9 Parse until position equals line length including trailing newline 2012-12-21 13:22:13 -08:00
Kevin Sawicki
8aba95191d Append anchor characters when placeholder is not added 2012-12-21 13:22:13 -08:00
Kevin Sawicki
9f6d1f987f Add initial support for replacing anchors 2012-12-21 13:22:08 -08:00
Nathan Sobo
25aadda742 Merge branch 'master' into config 2012-12-20 22:17:32 -07:00
Nathan Sobo
880edcd408 Increase waitsFor timeout in attempt to address intermittent failure 2012-12-20 22:17:08 -07:00
Nathan Sobo
c7605b8aa6 Move loadPackages to atom global. Handle '-tmbundle' in regex.
This simplifies the loading of TextMate bundles in the spec and benchmark helpers. Since `loadBundle` was already implemented on `atom`, it made sense to move this logic here. Config is now more focused on its core job of handling configuration, not loading bundles.
2012-12-20 21:34:07 -07:00
Corey Johnson
5ea9a4d365 Load TextMate Bundles from packages directories 2012-12-20 16:25:08 -08:00
Corey Johnson
cd3f481fa8 Remove unneeded console.log 2012-12-20 16:18:56 -08:00
Kevin Sawicki
7efaf084a0 Use editor settings for creating comparison string showing invisibles 2012-12-20 15:42:38 -08:00
Kevin Sawicki
3cd8a3304e Use values directly from editor in invisibles spec 2012-12-20 15:10:21 -08:00
Nathan Sobo
7dcb12ada2 RootView talks about packages and packageModules, not extensions
Now you call `rootView.activatePackage`, etc
2012-12-19 19:24:44 -07:00
Nathan Sobo
7768944f2c 💄 2012-12-19 17:32:04 -07:00
Nathan Sobo
8d63805072 Pull out ConfigObserver & Subscriber mixins; Add unobserveConfig 2012-12-19 17:32:04 -07:00
Corey Johnson & Nathan Sobo
1bd0cc4152 ChildProcess can handle commands that return large amounts of data.
When a command returned a large amount of data, it was blocking on the stderr  callback when `[fileHandle availableData]` was called. From what I can tell, this is because stderr was being called with a zero-length string.

This was fixed when `[fileHandle availableData]` was moved to run inside the NSTask thread (instead of on the main thread). It now returns a zero-length string rather than blocking forever.

An unresolved question is why stderr is being called with zero-length strings.
2012-12-19 11:47:50 -08:00
Kevin Sawicki
22d4c679f5 Move status-bar to packages folder 2012-12-18 22:09:02 -08:00
Nathan Sobo
4896302f7e Run specs for src/packages, not src/extensions 2012-12-18 20:32:24 -07:00
Nathan Sobo
acc0503684 Merge remote-tracking branch 'origin/master' into config
Conflicts:
	src/app/keymap.coffee
	src/extensions/outline-view/src/keymap.coffee
	src/extensions/outline-view/src/tag-reader.coffee
	src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee
	src/packages/fuzzy-finder/src/fuzzy-finder.coffee
2012-12-18 20:32:05 -07:00
Nathan Sobo
37f0aa3f90 Replace window.requireExtension with atom.loadPackage
The goal is that `loadPackage` will be the go-to place for loading all kinds of resources out of directories. `requireExtension` was only designed to load and activate extension modules.
2012-12-18 19:47:20 -07:00
Nathan Sobo
fc9bf38a2a *Must* use get and set to access config values.
The `config` object no longer stores config properties directly. Instead it stores them on an internal `settings` object, which makes it easier to serialize settings without getting them mixed up with non-setting state on the `config` object.
2012-12-17 20:56:37 -07:00
Nathan Sobo
b82fe25b99 When observing a key path, compare its new & old values structurally 2012-12-17 19:00:47 -07:00
Nathan Sobo
a7d1a29748 Use config.get/set methods. config.update now takes no args. 2012-12-17 18:52:20 -07:00
Corey Johnson & Nathan Sobo
bc49be6c2c Move project.ignoredNames to config.core.ignoredNames 2012-12-17 16:54:09 -08:00
Corey Johnson & Nathan Sobo
9f8547a8da Add config.fuzzy-finder.ignoredNames 2012-12-17 16:37:27 -08:00
Nathan Sobo
4538a70859 Add config.editor.autosave 2012-12-16 11:30:06 -08:00
Corey Johnson & Nathan Sobo
6b12288a82 💩 2012-12-14 16:38:22 -08:00
Corey Johnson & Nathan Sobo
e6362af711 Rename subscription.destroy to subscription.cancel 2012-12-14 16:38:04 -08:00
Corey Johnson & Nathan Sobo
54c0c277ed 💩 2012-12-14 15:47:51 -08:00
Corey Johnson & Nathan Sobo
8a675fd538 Use config.update w/ a key path everywhere we update the config 2012-12-14 15:21:36 -08:00
Corey Johnson & Nathan Sobo
b822cd7779 View#subscribe subscribes to an event emitter 2012-12-14 14:40:51 -08:00
Corey Johnson & Nathan Sobo
528fae9466 Cleanup all subscriptions when a view is removed from the DOM 2012-12-14 14:29:20 -08:00
Corey Johnson & Nathan Sobo
55dc3e1cdf Merge branch 'master' into config
Conflicts:
	spec/app/project-spec.coffee
	src/extensions/wrap-guide/src/wrap-guide.coffee
2012-12-14 14:14:50 -08:00
Kevin Sawicki & Nathan Sobo
b91c353d2b Add View#observeConfig as a space-pen extension 2012-12-14 14:08:57 -08:00
Kevin Sawicki
d8461641b9 Display matches when more than one tag is found 2012-12-13 17:12:42 -08:00
Kevin Sawicki
1686c97244 Add initial support for jump to declaration 2012-12-13 15:22:23 -08:00
Kevin Sawicki
82dd3ddf73 Remove extra it 2012-12-13 10:11:37 -08:00
Kevin Sawicki & Nathan Sobo
49d817a9c4 Observe the config from tree view to show/hide git-ignored files 2012-12-12 18:19:21 -08:00
Nathan Sobo
0a1b389994 Add Config#observe, which watches a key path for changes 2012-12-12 18:19:02 -08:00
Nathan Sobo
aedc86705e Merge branch 'master' into config 2012-12-12 16:48:58 -08:00
Nathan Sobo
7bf0022d3f Make the font size 16 in specs, because a few specs depend on it 2012-12-12 16:39:30 -08:00
Nathan Sobo
ff468371ae Nuke the config between specs 2012-12-12 15:58:50 -08:00
Nathan Sobo
c9b7618ea0 Move custom invisible glyph spec to editor spec 2012-12-12 15:55:12 -08:00
Nathan Sobo
c19c9e0d1f Save config changes on update 2012-12-12 15:49:01 -08:00