Commit Graph

1994 Commits

Author SHA1 Message Date
Kevin Sawicki & Nathan Sobo
98614592af Store line endings on a per-line basis in Buffer
The line ending for each line is recorded and reused
when lines are modified or inserted.

Closes #166
2013-01-27 16:01:22 -08:00
Kevin Sawicki
ecc50506c7 Render trailing carriage return as an invisible 2013-01-27 16:01:22 -08:00
Nathan Sobo
c16acc6b2c Disable 'package-that-throws-an-exception' except in spec that uses it
Loading this package logs a warning, so to minimize noise in the spec
console, it should only be loaded when `console.warn` is mocked.
2013-01-27 13:11:42 -07:00
Nathan Sobo
0be4ad547a Disable 'package-that-throws-an-exception' except in spec that uses it
Loading this package logs a warning, so to minimize noise in the spec
console, it should only be loaded when `console.warn` is mocked.
2013-01-27 12:12:39 -07:00
Kevin Sawicki
1b76b05e4d Bind ctrl-C to copy path to clipboard
Refs #173
2013-01-25 17:52:05 -08:00
Kevin Sawicki
985dd284dc 💄 2013-01-25 17:37:24 -08:00
Kevin Sawicki
22aeda6f1c Add move-to-top/bottom support to select list 2013-01-25 17:31:45 -08:00
Kevin Sawicki
fb4623d5d3 Don't populate list until elements have been set
Closes #174
2013-01-25 10:28:07 -08:00
Nathan Sobo
0d63d6459d Make TextMate snippets loading immune to hidden files & invalid plist
closes #143
2013-01-24 17:22:51 -08:00
Corey Johnson & Nathan Sobo
d4b5c8beac Don't make OnigScanner and OnigRegExp be window globals 2013-01-24 17:22:49 -08:00
Kevin Sawicki
7425f58f26 Only change end position if selection is mult-line 2013-01-23 16:46:43 -08:00
Kevin Sawicki
6324a60d72 Wrap selection in brackets
Enclose the selection in brackets when an opening
bracket is typed and the selection is non-empty

Closes #41
2013-01-23 16:24:40 -08:00
Kevin Sawicki
bc3646f180 💄 2013-01-23 16:24:40 -08:00
Kevin Sawicki
17f12c42d3 Delete end pair when begin pair is backspaced 2013-01-23 16:24:40 -08:00
Kevin Sawicki
41a15c7889 Update spec event coordinates for new default styles 2013-01-22 21:43:35 -08:00
Kevin Sawicki
5d404d7ee0 Use new unstyled expected gutter width 2013-01-22 21:10:11 -08:00
Kevin Sawicki
f6e4e69e2b Remove unused require 2013-01-22 18:32:05 -08:00
Kevin Sawicki
ca596db310 Extend AtomPackage directly in packages index.coffee 2013-01-22 18:26:48 -08:00
Kevin Sawicki
7c7ca4a6c3 Don't auto outdent if already fully outdented 2013-01-22 17:39:03 -08:00
Kevin Sawicki
59f7b6650c Don't auto outdent if preceding row is null 2013-01-22 17:38:23 -08:00
Kevin Sawicki
39fd4f7059 Remove extra subscribeToFile() call
This was causing an event listener to leak
on each call to save()

Closes #152
2013-01-22 14:44:34 -08:00
Jon Rohan
cb6798c357 fixing spec for ui test 2013-01-22 12:40:51 -08:00
Jon Rohan
7582952a13 fixing broken specs 2013-01-21 19:53:36 -08:00
Nathan Sobo
2389893799 Absorb parse errors and ignore hidden files when loading atom snippets 2013-01-21 13:49:24 -07:00
Andy Delcambre
759fe2dd5b Bind meta-= to autoindent currently selected rows
Closes #142
2013-01-18 11:33:20 -08:00
Kevin Sawicki
62f1155706 Don't prompt to save on close if buffer is opened elsewhere
Only prompt to save when the buffer is dirty and the last
open session on it is being destroyed.
2013-01-17 17:25:52 -08:00
Kevin Sawicki
0ad71a6008 un-f RootView spec 2013-01-17 17:25:12 -08:00
Kevin Sawicki
60f25d7069 Call atom.show() in spec bootstrap 2013-01-17 16:50:26 -08:00
Brian Lopez & Nathan Sobo
b82e9df5f5 Fix crash when deserializing a pane without a wrapped view 2013-01-17 16:30:09 -08:00
Kevin Sawicki
a950673767 Remove duplicate simulateDomAttachment function 2013-01-11 10:42:43 -08:00
Kevin Sawicki
3a582eab63 Display editor's grammar name in status bar
Clicking on the grammar name displays the list of
available grammars that can be switched to.
2013-01-10 17:51:15 -08:00
Nathan Sobo
b0fe034c9a Add autoflow package w/ autoflow:reflow-paragraph command 2013-01-10 17:29:41 -07:00
Kevin Sawicki
d27080cee6 Always set pathToOpen in RootView.initialize
Without this an untitled buffer will be opened when
Atom is reopened after being closed with no editors
open.
2013-01-10 16:24:40 -08:00
Kevin Sawicki & Nathan Sobo
63dbc2f783 Remove double spies on native pasteboard methods 2013-01-10 15:33:30 -08:00
Kevin Sawicki & Nathan Sobo
80c506340f Run specs from all package directory paths 2013-01-10 15:31:18 -08:00
Kevin Sawicki & Nathan Sobo
3af97c4e38 Add Event.currentTargetView() and Event.targetView() 2013-01-10 11:41:07 -08:00
Kevin Sawicki & Nathan Sobo
4dc7ade4e6 Globally mock pasteboard read and write in specs 2013-01-10 11:41:07 -08:00
Corey Johnson
c3a2b99b69 Merge pull request #124 from github/auto-indent-config
Auto-indent config
2013-01-10 11:02:54 -08:00
Corey Johnson
ca41bf0709 Set auto-indent config defaults 2013-01-10 10:38:44 -08:00
Corey Johnson
d53572d54d Rename editor.autoIndentPastedText to editor.autoIndentOnPaste 2013-01-10 09:42:20 -08:00
Corey Johnson
d2521ca8b8 Set editor.autoIndent to false for tests
Auto-indenting makes it more difficult to write simple tests. So we turn it off.
2013-01-10 09:41:49 -08:00
Corey Johnson
4f0e2c1e9b Add editor.autoIndentPastedText config option 2013-01-10 09:31:57 -08:00
Corey Johnson
d55dfc8a6f AutoIndent is a config property instead of a syntax property 2013-01-10 09:31:23 -08:00
Kevin Sawicki
c3a993c1f6 Support logging longest suites 2013-01-10 09:29:42 -08:00
Kevin Sawicki
7a89de077b Log longest specs explicitly
Instead of logging them to the console at the end of the run,
add two new methods, logLongestSpec() and logLongestSpecs(number)
to the window object that will print out the results.
2013-01-10 08:37:32 -08:00
Kevin Sawicki & Nathan Sobo
bb6bed85c6 Raise exception when destroyed repo is accessed 2013-01-09 17:12:15 -08:00
Corey Johnson
21fa3e5a0f autoIndent is stored as a syntax property 2013-01-09 16:26:57 -08:00
Corey Johnson
f5ee676e5e Pass autoIndent as an option flag
Instead of querying EditSession for autoIndenting
2013-01-09 15:24:04 -08:00
Nathan Sobo
46331ded03 Merge remote-tracking branch 'origin/command-extensions' into dev
Conflicts:
	spec/app/editor-spec.coffee
	spec/app/root-view-spec.coffee
	src/app/editor.coffee
	src/extensions/strip-trailing-whitespace.coffee
2013-01-09 14:18:10 -07:00
Nathan Sobo
2c4da1b8dd Merge branch 'snippets' into dev
Conflicts:
	src/app/package.coffee
	src/packages/snippets/src/snippets.coffee
2013-01-09 13:10:11 -07:00
Kevin Sawicki
ba614d5549 Throw error from GitRepository constructor 2013-01-09 11:53:13 -08:00
Corey Johnson & Nathan Sobo
c56788fd04 Catch packing loading exceptions in Package@load
Instead of in AtomPackage.load
2013-01-09 10:43:41 -08:00
Kevin Sawicki
8d0d62b486 Add Git.open that returns null on exceptions 2013-01-08 21:15:42 -08:00
Kevin Sawicki
6f5e29d48e Throw exception when repository fails to open
Removes need to check if the repository is valid before
each native API call and also removes calling into the
native-side if no repository can be opened for the project
page.
2013-01-08 21:15:41 -08:00
Corey Johnson
95dcf275e4 Remove *.getLastCursor() 2013-01-08 18:27:29 -08:00
Corey Johnson
f9e9b4203c *.getCursor() always returns last cursor (does not use index)
We weren't using the index functionality anywhere.
2013-01-08 18:27:29 -08:00
Kevin Sawicki
61600fcdf1 Reload grammar with edit session path changes 2013-01-08 17:12:08 -08:00
Kevin Sawicki
d9385888c8 Only update display when grammar changes 2013-01-08 16:54:51 -08:00
Kevin Sawicki
2b51a2ce73 Test firstLineRegex first when finding grammar
This is required for the property-list bundle to highlight
.plist files that maybe in XML or non-XML formats.

Also specify the cached buffer disk contents to grammarForFilePath
so fs.read doesn't need to be called again if the contents are
already read.
2013-01-08 16:15:38 -08:00
Corey Johnson & Kevin Sawicki
131708ba37 Serialize grammar overrides for paths 2013-01-08 15:24:14 -08:00
Corey Johnson & Kevin Sawicki
c67fbef2b2 Store grammar overrides on project 2013-01-08 14:39:32 -08:00
Kevin Sawicki
fee1e7bc8b Escape ext in RegExp from fs.base 2013-01-08 13:31:37 -08:00
Kevin Sawicki
594813be34 Escape path in RegExp from fs.directory() 2013-01-08 13:30:41 -08:00
Kevin Sawicki
321d424c44 Support unsetting explicit grammar for path 2013-01-08 13:17:47 -08:00
Kevin Sawicki
3b47c26b4d Change an edit session's grammar on meta-l 2013-01-08 13:17:12 -08:00
Corey Johnson & Nathan Sobo
12794672b7 Merge branch 'objective-c-grammar' 2013-01-08 10:55:24 -08:00
Corey Johnson & Nathan Sobo
7372ae00cd Resolve $base includes correctly in TextMate grammars 2013-01-08 10:50:23 -08:00
Kevin Sawicki
7465ae5052 Close all editors in pane with meta-P 2013-01-08 09:06:20 -08:00
Nathan Sobo
1b1d8b0390 Merge remote-tracking branch 'origin/master' into cson-snippets 2013-01-07 21:53:36 -07:00
Kevin Sawicki
ebe7ff7090 Destroy inactive editor sessions that are dirty
A confirm dialog is now displayed whenever a session
with a dirty buffer is closed so dirty sessions can now
be processed when 'editor:close-other-tabs' is fired.
2013-01-07 16:50:20 -08:00
Kevin Sawicki
0adae3c634 Prompt to save dirty buffers from destroyEditSessionIndex
Previously only the active editor session was prompting to
save dirty buffers before closing.  This caused the confirm
dialog to not display when closing from a tab since the
Editor.destroyEditSessionIndex is used there.
2013-01-07 16:24:51 -08:00
Kevin Sawicki
5ded74b3e6 Close inactive editor sessions on alt-meta-w 2013-01-07 15:41:26 -08:00
Kevin Sawicki
b43c756820 Only deactivate the RootView once during shutdown
Previously window.shutdown() was called multiple times
if window.close() was called since the shutdown handler
was also fired in the native window controller.

This prevented proper serialization of the RootView
from occurring when then window was closed via meta-w or
meta-W since it was called a second time when already
empty of packages and editors.
2013-01-07 14:41:10 -08:00
Corey Johnson
255df32f4d spelling 2013-01-07 14:22:39 -08:00
Kevin Sawicki
88ff5cac29 Add spec for string characters before escape character 2013-01-07 14:22:39 -08:00
Kevin Sawicki
0f71848b2b Add spec for semicolon at end of line 2013-01-07 14:22:39 -08:00
Kevin Sawicki
15d7b2f159 Add failing spec 2013-01-07 14:22:39 -08:00
Kevin Sawicki
0e082878f3 Close window on meta-W 2013-01-07 13:41:27 -08:00
Corey Johnson & Nathan Sobo
f008ff52e8 Load snippets from any atom package with a snippets directory 2013-01-07 14:28:47 -07:00
Corey Johnson & Nathan Sobo
6efe533650 Add atom.getPackages so we can access package objects anywhere 2013-01-07 14:28:47 -07:00
Kevin Sawicki
b4654ea435 Use buffer position when end of word isn't found
Previously if null was returned for the end of word position then
it was interpreted as 0,0 which would select the entire contents
before the current word instead of the current word.
2013-01-07 11:30:30 -08:00
Kevin Sawicki
bbdff31faf Lowercase current word/selection with meta-U 2013-01-07 09:37:51 -08:00
Kevin Sawicki
2a0ee62685 Uppercase current word/selection with meta-u 2013-01-07 09:37:51 -08:00
Kevin Sawicki
7e95bf96a5 Don't highlight ending line if it ends at column 0 2013-01-05 19:45:45 -08:00
Nathan Sobo
af3d3bf4cc 💩 Reset fs.write mock before test. 2013-01-04 18:08:52 -07:00
Nathan Sobo
0624ebaf5d Set config defaults for a package from its module's configDefaults 2013-01-04 17:23:24 -07:00
Nathan Sobo
d509093076 Don't write config defaults out to config.json 2013-01-04 17:08:25 -07:00
Nathan Sobo
8591c86733 Pass a name string to RootView.activatePackage & deactivatePackage
Previously we were relying on the package module itself to have a
`name` field. But now that we're using `atom.loadPackage` to load up
packages, we can infer the name of the module from the name of the
package directory.
2013-01-04 14:33:01 -07:00
Nathan Sobo
0a08d03c68 Rename Buffer, TokenizedBuffer, and Selection events 2013-01-04 13:59:11 -07:00
Kevin Sawicki & Nathan Sobo
96aaefdd7d Rename Project events to be past-tense 2013-01-04 13:46:27 -07:00
Kevin Sawicki & Nathan Sobo
725c4cf132 Rethrow exceptions during undo, redo, and pushOperation 2013-01-04 13:20:58 -07:00
Kevin Sawicki & Nathan Sobo
82d4550ff3 Throw exception when aborting/committing without a transaction 2013-01-04 13:02:56 -07:00
Kevin Sawicki & Nathan Sobo
da095cdfe9 Leave the undo stack intact when aborting empty transactions 2013-01-04 13:02:33 -07:00
Kevin Sawicki & Nathan Sobo
ec13c38c7d Add EditSession.transact and friends
`EditSession.transact` adds more semantics on top of `UndoManager`'s
version pertaining to restoring selections on undo/redo of the
transaction.
2013-01-04 12:42:09 -07:00
Kevin Sawicki & Nathan Sobo
e64047854d Add UndoManager.abort and .commit
When `UndoManager.transact` is called with no function, you later need
to `abort` or `commit` the transaction manually. This allows
transactions to last longer than the dynamic scope of the single
function passed to `transact`.
2013-01-04 11:52:39 -07:00
Kevin Sawicki & Nathan Sobo
428900fdba Rename File 'remove' & 'move' events to passive voice
'remove' -> 'removed'
'move' -> 'moved'
2013-01-04 11:25:46 -07:00
Kevin Sawicki & Nathan Sobo
8098ee69f3 Rename Editor attach and remove events in accordance w/ new scheme
'editor-open' -> 'editor:attached'
'before-remove' -> 'editor:will-be-removed'
2013-01-04 11:25:45 -07:00
Kevin Sawicki & Nathan Sobo
8e835acea4 Rename Buffer 'will-save' event to 'will-be-saved' 2013-01-04 11:25:45 -07:00
Kevin Sawicki & Nathan Sobo
2ffc0cf13d Rename 'active-editor-path-change' to 'root-view:active-path-changed' 2013-01-04 11:25:45 -07:00
Kevin Sawicki & Nathan Sobo
0589012e86 Rename 'editor-path-change' to 'editor:path-changed' 2013-01-04 11:25:45 -07:00