Commit Graph

14962 Commits

Author SHA1 Message Date
Nathan Sobo
106621e161 Deprecate automatic assignment of autoHeight for text editors
Previously, we attempted to automatically determine whether the editor’s
height should be based on the editor’s content or the height of its
container. Unfortunately, DOM APIs are insufficient to make this
determination in a complete way, leading to unpredictable behavior.

This PR deprecates the automatic determination of this behavior. By
default, editors base their height on their content. If an editor has
an explicit height assigned via its style or is positioned absolute with
an explicit top and bottom, we disable the content-based autoHeight and
log a deprecation warning telling the user to assign autoHeight
explicitly.

This paves the way to add an autoWidth setting, which will default to
false.
2016-08-17 15:52:51 -06:00
Antonio Scandurra
1587dcbe89 Take the gutter width into account when sizing TextEditorElement 2016-08-17 19:21:56 +02:00
Antonio Scandurra
c37138e09e Revert refactoring to make the diff shorter 2016-08-17 18:08:02 +02:00
Antonio Scandurra
6f0fd965cd Clear out width on TextEditorElement only if autoWidth was previously on 2016-08-17 18:05:16 +02:00
Antonio Scandurra
e71027ed36 Ensure editors don't scroll or show scrollbars when autoWidth is enabled 2016-08-17 17:58:36 +02:00
Antonio Scandurra
5b44b51150 🎨 Clarify naming 2016-08-17 17:20:24 +02:00
Antonio Scandurra
e8f2e3a608 Size TextEditorElement according to the autoWidth property 2016-08-17 16:20:00 +02:00
Antonio Scandurra
2e37d7f0cf Change state.content.width based on autoWidth 2016-08-17 16:14:57 +02:00
Antonio Scandurra
683bf37907 Add autoWidth to TextEditor 2016-08-17 16:14:36 +02:00
Nathaniel Ringo
b32b8b40fe Adds configuration option for large file warning threshold. 2016-08-16 16:43:16 -05:00
Max Brunsfeld
c5a6e9c697 Merge branch 'master' into ns-mb-detangle-editor 2016-08-16 09:11:11 -07:00
Max Brunsfeld
782b070964 Use es6 export in null-grammar.js 2016-08-16 09:03:50 -07:00
Antonio Scandurra
f139c800e2 Merge branch 'master' into ns-modernize-build 2016-08-16 16:10:59 +02:00
Antonio Scandurra
2b3adaeace Merge pull request #12393 from atom/as-remove-backup-before-saving
Remove config option `editor.backUpBeforeSaving`
2016-08-16 13:29:59 +02:00
Max Brunsfeld
8018dc9d57 Allow ATOM_HOME to be reassigned if the new value is valid 2016-08-15 17:05:18 -07:00
Max Brunsfeld
4b0183d074 Remove extraneous TextEditor setter methods 2016-08-15 16:45:10 -07:00
Max Brunsfeld
0d099d2fd5 Serialize all TextEditor parameters needed for the DisplayLayer 2016-08-15 15:51:22 -07:00
Max Brunsfeld
4bcdbf4d2f Don't have registry update any editors before initial packages are loaded 2016-08-15 15:29:27 -07:00
Max Brunsfeld
1c99c399d1 Merge branch 'master' into ns-mb-detangle-editor 2016-08-15 11:17:07 -07:00
George Ogata
dfbe2232a7 Delegate TextEditor.getMarkerCount to default marker layer. 2016-08-15 01:49:06 -04:00
Antonio Scandurra
5fc2405801 Compile CSON, Babel and Coffeescript files using CompileCache 2016-08-13 12:49:46 +02:00
Damien Guard
d47fd28c86 Focus new window when existing copy of Atom running fixes #4324 2016-08-12 17:45:24 -07:00
Nathan Sobo
ebb03f022b Merge branch 'master' into ns-mock-animation-frames-in-editor-spec 2016-08-12 16:16:09 -06:00
Max Brunsfeld
bf644d1a6b Remove some unnecessary TextEditor accessor methods 2016-08-12 14:31:07 -07:00
Nathan Sobo
ced2174b5a Mock clock and animation frames in TextEditorComponent specs 2016-08-12 15:21:46 -06:00
Max Brunsfeld
a11a235ef1 Don't reset display layer twice in TextEditor constructor 2016-08-12 13:36:50 -07:00
Nathan Sobo
2710ce33d1 Merge pull request #12394 from atom/ns-as-switch-offset-test-to-mocha
Replace ChromeDriver integration tests main process Mocha tests
2016-08-12 14:17:16 -06:00
Max Brunsfeld
09d232ba41 Introduce TextEditorRegistry::build
This way, we can construct text editors with the right parameters from the start
2016-08-12 12:21:51 -07:00
Max Brunsfeld
65f385c0a4 Don't reset editor's display layer when setting identical invisibles 2016-08-12 12:21:03 -07:00
Antonio Scandurra
e02863e86e Destroy AtomEnvironment on window unload
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-08-12 18:15:51 +02:00
Antonio Scandurra
753db274fc Clear storage data after each AtomApplication test
This, along with using a temporary directory as the ATOM_HOME, will make
sure that tests won't share any state with one another, possibly
increasing the level of resiliency of the suite.
2016-08-12 15:20:58 +02:00
Antonio Scandurra
c422699c80 Call @config.load() in AtomApplication constructor
This is needed in order to test configuration settings like
`restorePreviousWindowsOnStart`. Even if this call has side effects, its
scope is pretty constrained because it affects only the temporary
directory we create before each atom-application test.
2016-08-12 11:21:37 +02:00
Antonio Scandurra
f287e8783f Return an AtomWindow array in loadState or null if no state is found 2016-08-12 10:49:46 +02:00
Antonio Scandurra
fff2ecd162 Extract a AtomApplication.prototype.launch method
...so that we can exercise loading previously opened windows stored
state after the application is restarted. In addition, this resembles
more what we run in production, and therefore allows us to have a better
coverage of the code paths we run in the real application.
2016-08-12 10:44:09 +02:00
Antonio Scandurra
a8c73f0529 Fix calling atom --version 2016-08-12 09:33:15 +02:00
Max Brunsfeld
f7baed515b Maintain grammar before maintaining config 2016-08-11 17:59:27 -07:00
Max Brunsfeld
ce379d4c9e Clear destroyed editor ids from TextEditorRegistry's grammar overrides 2016-08-11 16:48:58 -07:00
Max Brunsfeld
0a1834079f Rename getSoftWrapIndentLength -> getSoftWrapHangingIndentLength 2016-08-11 16:38:34 -07:00
Joe Fitzgerald
485cb71be7 🎨 envShouldBePatched > shouldGetEnvFromShell 2016-08-11 17:07:21 -06:00
Joe Fitzgerald
9ec63a8ffc 🎨 Cleanup
* shellShouldBePatched > envShouldBePatched
2016-08-11 16:45:19 -06:00
Max Brunsfeld
684952458f Remove new TextEditor setters; just use update 2016-08-11 15:34:54 -07:00
Nathan Sobo
dbfd0cc605 Move integration test of window persistence to main process tests 2016-08-11 15:28:11 -06:00
Max Brunsfeld
fc16eeadca Use TextEditor::update in TextEditorRegistry 2016-08-11 14:09:17 -07:00
Max Brunsfeld
ef94a940a9 Make the TextEditor setters call update() 2016-08-11 13:52:57 -07:00
Nathan Sobo
f1295d39a8 Close all windows in AtomApplication.destroy 2016-08-11 14:31:36 -06:00
Nathan Sobo
6994060e72 Use fat arrow where it is needed 2016-08-11 14:31:23 -06:00
Nathan Sobo
b5b3577d7c Fix null guard in StateStore 2016-08-11 14:31:08 -06:00
Nathan Sobo
2fe5027b57 Set the userData dir to a temp directory for main process tests
This ensures that the indexedDB is accessible even if another Atom is
running.
2016-08-11 14:30:52 -06:00
Nathan Sobo
324e8d6c7a Move env assignment into parseCommandLine
A bit of a misnomer but makes things more testable so I’ll accept it
until we can do more overhaul.
2016-08-11 14:30:22 -06:00
Max Brunsfeld
fb6b463818 Remove duplicate scrollPastEnd setter and getter 2016-08-11 12:14:11 -07:00