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