Commit Graph

2077 Commits

Author SHA1 Message Date
Nathan Sobo
7b7c77645c Rename SelectionView.destroyed to .needsRemoval to match CursorView 2013-04-05 14:17:20 -06:00
Nathan Sobo
f6bfab5dd7 Don't freak when selections are added & removed before display update
Previously, if a selection was added and removed before the editor got
a chance to update its display, it would try to add a selection view
for the destroyed selection. Now we check the new selections and
cursors to make sure they aren't destroyed before we add views for
them.
2013-04-05 14:17:20 -06:00
Nathan Sobo
31579703f0 Ensure new non-empty selections have an invisible cursor. 2013-04-05 14:17:20 -06:00
Nathan Sobo
34019951d3 💄 2013-04-05 14:17:20 -06:00
Nathan Sobo
af923cca9b Preserve original selection's range when adding selection's below
Just like the cursor tries to stay in its "goal column" when moving
vertically, here we try to keep the same selection even when adding
across shorter lines.
2013-04-05 14:17:20 -06:00
Nathan Sobo
26e53584c1 Add 'editor:add-selection-below' command
It still needs work, but the basic idea is for every selection to
add another another selection over the same column range of the line
below.
2013-04-05 14:17:20 -06:00
Kevin Sawicki
1e3d157f49 💄 2013-04-05 09:01:02 -07:00
Kevin Sawicki
84107317bb Support opening non-existent files from the CLI
This required changing text-buffer to support having a
path but not underlying file that exists yet.

Now calling RootView.open() with a non-existed path will
open a dirty empty editor to the path and the file will be
created on first save.
2013-04-04 17:08:05 -07:00
Kevin Sawicki
931ae677c1 💄 2013-04-04 16:37:52 -07:00
Kevin Sawicki
8745ef8723 💄 2013-04-04 16:29:15 -07:00
Kevin Sawicki
6166f8e681 Remove unused require 2013-04-04 13:40:48 -07:00
Kevin Sawicki
bb2ab15753 Open files specified via CLI in existing window
Activate the window and open an editor when a path is specified
that is already present in an existing window's project.

Closes #357
2013-04-04 13:40:48 -07:00
Kevin Sawicki
e442dfff11 Support joining editor lines with ctrl-J
This can be used with or without a selection to join one
or more lines with the line below it separated by a space.

Refs #134
2013-04-04 11:07:59 -07:00
Kevin Sawicki
9773751e79 Delete left when meta-backspacing at start of line
Previously EditSession.backspaceToBeginningOfLine() would do nothing
if at the beginning of the line.

Now it selects left and does a delete so it can be used to delete
multiple lines continuously without having to move the cursor.

Refs #134
2013-04-04 09:25:35 -07:00
Corey Johnson & Nathan Sobo
2f4bbd90a6 Don't emit grammars-loaded event 2013-04-03 18:34:54 -06:00
Corey Johnson & Nathan Sobo
2973a81293 Don't assign text grammar by default. Just use the null grammar. 2013-04-03 18:34:54 -06:00
Corey Johnson & Nathan Sobo
144984c726 Make LanguageMode unsubscribe from syntax global when destroyed 2013-04-03 18:34:54 -06:00
Corey Johnson & Nathan Sobo
1b56cfb270 LanguageMode switches to a better-matching grammar when it is added 2013-04-03 18:34:54 -06:00
Corey Johnson & Nathan Sobo
16b53d3183 Eliminate syntax.grammarsByFileType hash 2013-04-03 18:34:53 -06:00
Corey Johnson & Nathan Sobo
05d6adc6c7 Change syntax.selectGrammar to choose the highest-scoring grammar
This sets us up to switch to a grammar when it is loaded if it is a
better match for the current file.
2013-04-03 18:34:53 -06:00
Nathan Sobo
ed1c5d3417 Localize grammar reloading / setting to LanguageMode
Previously, logic associated with swapping grammars was a bit
scattered. Now grammar reloading / assignment methods delegate to
LanguageMode directly, and it emits a 'grammar-changed' event when
the grammar changes. Now EditSession and TokenizedBuffer listen for
this event and perform necessary actions for grammar change.
2013-04-03 18:34:53 -06:00
Kevin Sawicki
0b9f6b14ba Put 'atom' in window title when no panes are open
Previously the title would revert to 'index.html' when
focus was gained and no panes were open.
2013-04-03 15:53:07 -07:00
Corey Johnson & Nathan Sobo
101605e50f Add atom.crashMainProcess and atom.crashRenderProcess 2013-04-03 15:08:16 -07:00
Kevin Sawicki
5d2a0a0223 Use fs.chmod() to make atom.sh executable 2013-04-03 15:01:23 -07:00
Kevin Sawicki
8447a22419 Support reloading the window from the event palette 2013-04-03 14:48:11 -07:00
Kevin Sawicki
a5870cedd2 Use more generic core.excludeVcsIgnoredPaths config key 2013-04-03 11:45:55 -07:00
Kevin Sawicki
ede5e88a19 Merge origin/master into nak-powered-search
Conflicts:
	src/packages/command-panel/lib/preview-list.coffee
	src/packages/fuzzy-finder/lib/load-paths-task.coffee
2013-04-03 11:43:35 -07:00
Nathan Sobo
f03b6207de Make all requires of 'fs-utils' assign to fsUtils var instead of fs 2013-04-03 12:01:37 -06:00
Nathan Sobo
5df78812ef Rename EditSession.scanInRange to scanInBufferRange
This is more consistent with other range-oriented methods on
EditSession. At this layer, we need to be explicit about what kind
of range we are talking about.
2013-04-03 11:28:55 -06:00
Nathan Sobo
59a5a5bc8f Always pass a hash to TextBuffer.scanInRange iterators
This makes it easy to only assign variables for the information you
need in the iterator. Before, we always forced you to take a match and
a range as the first two arguments even if you weren't using them.
2013-04-03 11:16:49 -06:00
Nathan Sobo
11f140ac5a Don't save/load window state to/from disk when pathToOpen is undefined
This fixes a bug where `meta-n` was not opening a new buffer in the
opened window if window state was previously saved for an `undefined`
path.
2013-04-03 10:27:57 -06:00
Nathan Sobo
ec93dc38b7 Version serialized state of EditSession
Since buffers are now serialized directly, previous versions of the
EditSession state which used the buffer's path as the `buffer` key
are no longer valid.
2013-04-03 10:21:56 -06:00
Kevin Sawicki
ba028f6358 Support ~/.atom/user.less 2013-04-02 17:37:21 -07:00
Kevin Sawicki
34ca5ce949 nak no longer includes a space after the colon 2013-04-02 16:49:33 -07:00
Mutwin Kraus
9a6b5986fe Add editor.selectLine 2013-04-02 15:24:12 -07:00
Mutwin Kraus
a9c74762cc Add focusPreviousPane to pane container 2013-04-02 15:24:12 -07:00
Nathan Sobo
1bbc9f61e9 Remove unsaved buffer prompt on reload now that we handle it correctly 2013-04-02 15:45:17 -06:00
Nathan Sobo
dab8c5b53b Assign cachedDiskContents when unsaved buffer is deserialized
This allows the buffer to return to an "unmodified" state if the
unsaved changes are reversed.
2013-04-02 15:45:16 -06:00
Nathan Sobo
3150785db2 Ensure we never deserialize two instances of the same buffer
We might have two edit sessions pointing to the same buffer, for
example if we have a split pane… So when we deserialize a buffer, we
always need to check that we don't already have an instance of that
buffer on the project. If we do, then we've already deserialized it
once so we don't need to worry about the saved text.

We still have a problem when deserializing previously unsaved buffers,
because we can't use the path to identify them.
2013-04-02 15:45:16 -06:00
Nathan Sobo
e8216a8313 Don't store @project reference inside TextBuffer. Use the global. 2013-04-02 15:45:16 -06:00
Mutwin Kraus
cc87595e4e Serialize TextBuffer inside EditSession serialize 2013-04-02 15:45:16 -06:00
Mutwin Kraus
693d8258ad Preserve buffer contents for unsaved files when reloading 2013-04-02 15:45:16 -06:00
Kevin Sawicki
699212a13e Always pull line text from buffer
This accounts for positional changes that may occur if the marker
the operation is tracking moves.
2013-04-02 14:24:36 -07:00
Garen Torikian
7ab79d05f0 Merge master 2013-04-02 14:12:20 -07:00
Kevin Sawicki
d2f2011ea3 Skip leading space after colon in nak output
This was causing a spec to fail since the line text now had a leading
space for all results since the separator before the line text is now
': ' instead of just ':'.
2013-04-02 13:50:48 -07:00
Kevin Sawicki
f3e1a72882 Only populate list from timeout when still on DOM 2013-04-02 13:14:56 -07:00
Kevin Sawicki
995ae4c9e2 Merge branch 'absolute-paths-in-fuzzy-finder' 2013-04-02 09:28:53 -07:00
probablycorey
bd3eb02b1b Remove sortable list class
Because sortable list was only being used by tab bar view, I got rid
of the class hierarchy.
2013-04-01 17:10:48 -07:00
probablycorey
7e2ea8aff1 Allow tabs to be moved to the beginning and end of the tab bar
Closes #409 (409, puts grease on the run! http://www.dailymotion.com/video/xxsbbb_formula-409-1990-puts-grease-on-the-run-commercial-2_tv#.UVocOZbF30Y)
2013-04-01 16:46:57 -07:00
Garen Torikian
6f982c7c4c Fix spec 2013-03-31 01:11:19 -07:00