Commit Graph

2498 Commits

Author SHA1 Message Date
Kevin Sawicki
f51f097615 Add back checkmark for selected grammar 2013-02-25 15:13:48 -08:00
Corey Johnson
ad14e65ef9 Add atom.getVersion(callback) 2013-02-25 14:58:11 -08:00
Kevin Sawicki
5d0c23e0fa Sort grammars by name in select list 2013-02-25 14:50:55 -08:00
Kevin Sawicki & Nathan Sobo
99c1819ceb Install cli to /opt/boxen if it exists 2013-02-25 12:40:59 -08:00
Kevin Sawicki & Nathan Sobo
f3dac141ff Open pathToOpen before packages load
Previously pathToOpen was opened after packages
were loaded which prevented packages from accurately
relying on rootView.getActiveEditSession().
2013-02-25 12:23:00 -08:00
Kevin Sawicki & Nathan Sobo
969327e822 Require user init script path after user keymaps
Previously the user init script path was required before the
packages and user keymaps were loaded which could override
config and keymap settings set by the user init script path.
2013-02-25 11:46:34 -08:00
Kevin Sawicki
49c9536358 Guard against no fold end regex
Not all bundles specify this and an error will be
raised when trying to fold inside a grammar that does
not have this property defined if this check isn't done.
2013-02-25 09:31:00 -08:00
Kevin Sawicki
9b231e8c4e Add increase indent pattern for GFM scope 2013-02-25 08:58:47 -08:00
Kevin Sawicki
d35c871e17 Install atom executable during window.startup()
Previously this was done during `rake install`.

Also default to `~/github/atom` as the default resource path
when no `--resource-path` argument is specified.  This argument
will now be required when running in dev mode if the repository
is not at the default location.

Closes #300
2013-02-22 21:19:34 -08:00
Corey Johnson & Kevin Sawicki
31d8151c3e Copy themes to ~/.atom/themes when config loads 2013-02-22 14:46:30 -08:00
Corey Johnson & Kevin Sawicki
fa81871907 Initialize ~/.atom when config is loaded
Closes #299
2013-02-22 14:46:30 -08:00
Kevin Sawicki & Nathan Sobo
5da5bf94b6 Add 'editor:save-debug-snapshot' command. Closes #191.
This saves the state of the rendered lines, the display buffer, the
tokenized buffer, and the buffer to a file. If a problem arises with
rendering, hopefully we can use it to diagnose in which layer things
went awry.
2013-02-22 14:28:04 -07:00
Kevin Sawicki
9ca7214d39 Add --dev flag and remove --stable flag
Atom now runs in stable mode by default and only
runs in dev mode when the --dev flag is specified.

Closes #198
2013-02-22 11:54:54 -08:00
Kevin Sawicki
b8aaad06a4 💄 2013-02-22 10:56:19 -08:00
Kevin Sawicki
dae46eab87 Create class array for each whitespace type
Previously if the token has both leading and
trailing whitespace the classes would bleed
across the cases and cause an exception to be
thrown.

Closes #298
2013-02-21 16:12:49 -08:00
Corey Johnson
aa84256774 - and _ are not considered word characters by default.
Fixes #297
2013-02-21 13:41:21 -08:00
Kevin Sawicki
2b002e0ef9 Use Range.getClientRects() to find mouse event column
Previously document.caretFromRange() was used which
required hiding and showing the overlayer which would
cause a relayout and entire repaint of the editor area.

Now the text nodes on the selected row are iterated over
until the column corresponding to the event's pageX value
is found.

Closes #290
2013-02-21 12:33:04 -08:00
Kevin Sawicki
32abf2cda8 Only create span class once
Previously this was being generated on each match even though
the same classes were used for every match.
2013-02-20 15:46:51 -08:00
Kevin Sawicki
2457e7f5b2 Add indent guide to whitespace lines
The whitespace in lines that have no non-whitespace
text is treated as trailing whitespace so add the
indent guide to the trailing whitespace tokens when the
line is 100% whitespace.
2013-02-20 15:40:44 -08:00
Kevin Sawicki
1db21c91cc Give first line regex the required amount of lines
Certain bundles require multi-line matches in the firstLineMatch
value so count the number of newlines in the regex and only test
the regex against only those lines.
2013-02-20 15:11:07 -08:00
Kevin Sawicki
881efd9c5d Restore selection when undoing an insert newline below 2013-02-20 14:09:40 -08:00
Kevin Sawicki
af58c1e83f Bind meta-shift-enter to insert newline above current line
Closes #292
2013-02-20 13:44:30 -08:00
Corey Johnson
e0212ba02b Only use the first line when determine the syntax via file contents 2013-02-20 12:46:53 -08:00
Kevin Sawicki
27f44fbfd7 Invalidate empty lines proceeding a change event
The indent guide on empty lines will now be updated when
the non-empty line preceeding the empty lines is updated.
2013-02-20 12:20:15 -08:00
Kevin Sawicki
101b1aba12 Add indent guide to editor
The guide displays a continuous vertical line across lines with
the same indent levels.

Closes #50
2013-02-20 12:20:15 -08:00
Corey Johnson & Nathan Sobo
5c1fb99037 Requiring window no longer has no side-effects
Call window.setUpEnvironment instead.
2013-02-20 11:44:39 -08:00
Corey Johnson & Nathan Sobo
2123fabae6 Window is only shutdown if a rootView and project exist
Keeping the shutdown state as a local var in window.coffee causes spec failures because window.shutdown can only be called once in the entire spec suite
2013-02-20 11:31:36 -08:00
Corey Johnson & Nathan Sobo
b24a13991a Make sure window.shutdown is only called once 2013-02-20 10:18:19 -08:00
Corey Johnson & Nathan Sobo
43aa1aaeb7 Rename startApplication to startup and stopApplication to shutdown 2013-02-20 10:02:16 -08:00
Corey Johnson & Nathan Sobo
f5ecaf436e Move core:close into handleWindowEvents 2013-02-20 09:58:34 -08:00
Corey Johnson & Nathan Sobo
cb1e48bfef Make toggle-dev-tools command work in spec window 2013-02-20 09:58:00 -08:00
Kevin Sawicki
d9eba58698 Create default project/root-view if deserialization fails
If either fails to deserialize from the persisted state
then fall back to the default constructors.

This ensures Atom will still start even if the serialization
format changes and the previous stored state can no longer
be successfully deserialized.
2013-02-19 22:45:26 -08:00
Kevin Sawicki
9c372fa9bf Load text package before deserializing path state
This is required for any editors that are deserialized
since a fallback grammar is always needed.
2013-02-19 21:55:23 -08:00
Kevin Sawicki
6047590544 Register deserializer for Project class 2013-02-19 21:53:48 -08:00
Kevin Sawicki
dedde7b222 Only add newline when insert row exceeds last row
Previously if the line before a trailing newline was
duplicated an extra newline would inserted with the
duplicated line.
2013-02-19 21:02:25 -08:00
Kevin Sawicki
d27bbee37d Support selecting editor lines from the gutter
Mouse events that occur in the gutter are forwarded to the
rendered lines with the y-coordinate translated to be the
leftmost pixel of the editor to simulate the event originating
from column 0 of the current line row.

Closes #287
2013-02-19 18:16:29 -08:00
Nathan Sobo
a6ae1fc44e Load user keymaps after packages so they can win 2013-02-19 18:29:00 -07:00
Corey Johnson & Nathan Sobo
9e8831f710 RootView.initialize no longer assigns window.rootView or calls open 2013-02-19 18:26:50 -07:00
Corey Johnson & Nathan Sobo
0b5ea8578f Eliminate rootView.project references. 2013-02-19 18:26:50 -07:00
Nathan Sobo
7f2747ead0 Make project a global and refactor startup process 2013-02-19 18:26:50 -07:00
Corey Johnson & Kevin Sawicki
7db83662b5 Only terminate worker after the worker completes work 2013-02-19 10:57:04 -08:00
Nathan Sobo
9cd6fda3e1 💄 add trailing newlines 2013-02-19 10:02:09 -07:00
Nathan Sobo
7bdd51b456 Rename deserializeView to deserialize
In additional, rename `registerViewClass(es)` to `registerDeserializer(s)`.
This moves us to a situation where any kind of object may want to be
deserialized, not just views.
2013-02-19 09:48:40 -07:00
Nathan Sobo
d3c2623b61 Make deserializeView a global method
…along with `registerViewClass(es)`
2013-02-18 18:08:18 -07:00
Kevin Sawicki
2910f7798a Always use global rootView object
This removes the last few places where rootView was
looked up via jQuery selector and instead just uses
the rootView property available on the window.
2013-02-15 09:56:03 -08:00
Kevin Sawicki
f730672e9d Use ? instead of or 2013-02-15 09:56:03 -08:00
Nathan Sobo
69da0bb2aa Add alt-meta-left and alt-meta-right bindings for tab switching
These are common bindings for switching tabs. Before we used them to
split views, but this is a more expected behavior.
2013-02-15 10:39:15 -07:00
Nathan Sobo
a300337557 Change split-view bindings to avoid confusion w/ tab-switching
Now you can use the vim-style `ctrl-w *` bindings, or use `ctrl-|` and
`ctrl--`, which resemble horizontal and vertical splits as characters.
2013-02-15 10:39:15 -07:00
Corey Johnson
e7a8e4e3c4 Add atom.update and atom.getUpdateStatus 2013-02-14 16:40:24 -08:00
Nathan Sobo
2f71ee9a0d Prevent clicks on a focused editor from unfocusing its hidden input
This closes #233. When an editor is focused, what's *actually* focused
is a hidden input element inside the editor. So clicking on a focused
editor was temporarily stealing focus away from the hidden input, and
then moving it back to the hidden input (which the editor always does
when it is focused). Returning false from the mousedown handler when
the editor is already focused prevents this bouncing of focus and
prevents the fuzzy finder from hiding when you click its editor.
2013-02-14 13:38:46 -07:00