Commit Graph

122 Commits

Author SHA1 Message Date
Cristian Maglie 48384a7ad0 tests: added some missing null checks 2017-10-20 13:17:09 +02:00
Cristian Maglie e4ebd4a6fc Fixed CommandLineTest for windows 2017-04-10 13:49:04 +02:00
Cristian Maglie 39f396e55a Added test to check preference saving from cmd line
See #6067
2017-03-22 12:59:38 +01:00
Cristian Maglie 1f35bfca53 Fixed regression tests on Indent/Unindent and Comment/Uncomment actions
RSTA for some reason doesn't fire update signals on DocumentListeners.
2017-03-01 10:38:09 +01:00
Cristian Maglie 3f74631762 Added test for command line regression
See #5836
2017-01-23 13:41:03 +01:00
Cristian Maglie 21ff728c59 Merge remote-tracking branch 'cmaglie/fix-win-paths' 2016-11-03 12:10:24 +01:00
Cristian Maglie 2856600463 Windows: Use Shell32 utility to determine known paths 2016-10-19 16:28:21 +02:00
Matthijs Kooijman 982d4f3fbf Use a separate RSyntaxTextArea for each editor tab
RSyntaxTextArea appears to support using a single instance and replacing
the underlying text and document when switching between tabs, but in
practice this support is not complete and even though the
RSyntaxTextArea developers did some work to improve the situation, they
recommend to just use a seperate instance for each tab.

This commit implements exactly that. A new class EditorTab is introduce
to wrap the RSyntaxTextArea and containing scroll pane, and to
encapsulate the code related to handling the text area itself. Doing so
removes some quirks and prepares for some later additions. In
particular, error highlights are now no longer shared between all tabs,
which was previously the case.

This commit mostly moves code from Editor into EditorTab, and updates
the callers to use getCurrentTab() and call methods on the result
instead of calling them on Editor. Some code is added to take care of
creating multiple EditorTab objects and switching between them. Some
small changes have been made to make the flow of opening files work,
though these are mostly a bit hacky.

While moving code, changes to the rest of the code were kept minimal,
retaining existing interfaces as much as possible. This sometimes result
in less than ideal code, which should be cleaned up in subsequent
commits.

The SketchCodeDocument class has been pretty much emptied out, since
it was mostly used to store things for tabs in the background, which are
now just stored in each RSyntaxTextArea separately. The last remaining
bits of this class can probably be moved or implemented differently
later, so it can be removed.

The entire flow of working with sketches and files needs to be cleaned
up next, so no thorough attempt at testing this commit was done. It is
likely that there are plenty of corner cases and race conditions, which
will be fixed once the reset of the code is cleaned up.

Fixes #3441
2016-08-26 16:42:44 +02:00
Cristian Maglie 49b98959c5 Correctly handle "-snapshot" and "+build" in semantic versioning
This fix a regression introduced in:

048a8a61 (VersionHelper now correctly strip snapshot info)

actually neither 048a8a61 nor the version before are correct becuase:

048a8a61 - strips all the extra `-snapshot` and `+build`
previous - doesn't handle the case `x.y-snapshot`

Now both are handled correctly and a test has been added to verify this.

To be completely semver compliant we should deny versions in the
format `x.y`, but this will break all legacy version that have been
published until now, so this changed should be postponed for the next
major release of the IDE.

Fix #5251
2016-08-16 11:00:35 +02:00
Cristian Maglie fa4876b7b1 Fixed unit-test UploaderFactoryTest
It was broken after merging #4107
2015-12-21 15:19:22 +01:00
Federico Fissore 98d5ff79eb Upgrading arduino-builder to 1.3.7, which changes the way messages are sent
back to the IDE. Instead of having just stdour and stderr, stdout only is
used, but each message has a log level: info, warn, debug, error
Plain stdout/stderr are still used by child processes
2015-12-11 14:25:13 +01:00
Federico Fissore 9729b1b069 Windows: in case Shell Folders entry is missing, attempts to discover Documents folder using User Shell Folders. See #4124 2015-11-18 15:55:26 +01:00
Federico Fissore 2e80ee5bbd Testing translation for proper formatting. This test will fail when a
translation uses wrong syntax, thus avoiding any future issue similar to #4095
2015-11-06 17:24:26 +01:00
Federico Fissore 0102a58122 "static" makes sense for constants and few other things. Avoid it if you don't have a specific reason for using it. 2015-10-26 15:49:31 +01:00
Cristian Maglie 2ae36940c6 Fixed parsing for SystemProfiler on Macosx El Capitan
Should alleviate #3928
2015-10-20 23:36:56 +02:00
Cristian Maglie 28ad89d694 Make SystemProfilerParser.extractVIDAndPID() static
There is no need to instantiate a SystemProfilerParser object
each time extractVIDAndPID is invoked.

Added also `synchronized` keword to avoid reentrance problems
if the method is being used in multiple threads.
2015-10-20 23:34:27 +02:00
Cristian Maglie 2eaa6ff937 Removed unused imports 2015-10-20 18:29:40 +02:00
Federico Fissore 6128dace42 Removed some old code, including PdePreprocessor and OldCompiler 2015-09-21 15:20:31 +02:00
Federico Fissore 5b84aef301 Build path is now a function of sketch path. This allows to recycle previously
compiled files even when working with different sketches at the same time. In
such cases, recompiling is way faster
2015-09-18 10:47:23 +02:00
Federico Fissore e5ddd0be3b New compiler 2015-09-14 15:21:15 +02:00
Federico Fissore 36e43713c2 Deleted I18NTest. It's been disabled for a long time and it was not really useful 2015-08-21 12:31:58 +02:00
Federico Fissore 5e518b9929 Added missing license headers 2015-08-21 08:41:50 +02:00
Federico Fissore 17032ec543 Added proxy PAC file support functions 2015-08-21 08:41:50 +02:00
Federico Fissore 0c7e0d6bb4 CustomProxySelector: auto proxy (PAC) needs login info too 2015-08-21 08:41:50 +02:00
Federico Fissore 708da3bd86 Introducing CustomProxySelector 2015-08-21 08:41:50 +02:00
Federico Fissore dc93bb93d0 ProgressListener is now a method arg (was an instance arg) 2015-08-06 10:27:51 +02:00
Federico Fissore 987cad2633 Added core "post install" and "pre uninstall" script support.
If a core has a post/pre install/uninstall script, it will be execute at the appropriate time IF:
1) source (package_*_index) is trusted (GPG signed)
2) or users have explicitly added line "contributions.trust.all=true" to their preferences.txt
Some minor refactor and clean up while I was at it
2015-07-03 16:35:08 +02:00
Federico Fissore e15ba64ee2 New console: replaces previous EditorConsoleStream with one that's faster and doesn't discard end chars.
See #2798
2015-06-29 16:18:40 +02:00
Federico Fissore 9089fecbe4 Windows: working on reg query encoding issue #3360. German encoding is Cp852 2015-06-19 17:44:28 +02:00
Federico Fissore 88e8019419 Extending remote upload. Sketch merge with bootloader is done by the IDE (using "noblink" bootloader if board definition provides one). If platform provides a "remote" upload tool, that tool is used, otherwise falls back to hardcoded "run-avrdude" 2015-06-18 15:43:10 +02:00
Federico Fissore 8c60054af0 Windows: ListComPortsParser was reporting the same VID/PID for both COM12 and COM1. Fixes #3333 2015-06-18 09:23:29 +02:00
Federico Fissore 64fcc716c9 MacOSX: SystemProfilerParser nows claims to have found the device even if the name is not exactly the same 2015-06-12 14:21:08 +02:00
Federico Fissore e9d66015a4 Windows: reg query uses different separators on xp, fooling parser. Fixed 2015-06-04 11:44:56 +02:00
Federico Fissore c84fb7fc90 Removed a handful of static methods delegates 2015-05-28 15:25:44 +02:00
Federico Fissore a3eae13e5d Missing call to BaseNoGui.getPlatform().init() in tests 2015-05-26 14:53:15 +02:00
Federico Fissore 5faa1c9866 Removed Preferences.init: no one used it 2015-05-25 14:43:32 +02:00
Federico Fissore ab7b7351f5 Removed lots of calls to BaseNoGui.getPlatform(): static is evil 2015-05-22 15:58:47 +02:00
Federico Fissore 94b16a550e Faster library list downloading by downloading gzipped version 2015-05-21 17:02:21 +02:00
Federico Fissore 365b0bdc94 Closing streams using IOUtils.closeQuietly
Fixed badly handled stream found in the meanwhile
2015-05-21 16:50:49 +02:00
Federico Fissore 202f70a782 Test files should not be modified 2015-05-21 13:47:39 +02:00
Federico Fissore 37adee2553 Merge pull request #3194 from ffissore/windows-jna
Got rid on JNA
2015-05-21 10:25:54 +02:00
Federico Fissore 9166828bfe Due to website configuration changes, every url starting with http://arduino.cc has been changed to http://www.arduino.cc. Fixes #3191 2015-05-20 17:10:06 +02:00
Federico Fissore f6546aea45 Windows: got rid on JNA, thus no more UnsatisfiedLinkError (at least when accessing native OS functions). Fixes #3190 2015-05-20 16:33:33 +02:00
Federico Fissore f13fe9a4f7 LibraryManagerUI: library types order fixed 2015-05-19 13:13:49 +02:00
Federico Fissore 03283bb098 Avoid referring directly to RSyntaxTextArea, at least in the names 2015-05-12 16:20:54 +02:00
Federico Fissore 96b7c5ec6b MacOSX: fixed some failing tests 2015-05-12 15:23:22 +02:00
Federico Fissore 5bc6cee118 Added missing licenses/copyrights 2015-05-07 17:30:05 +02:00
Federico Fissore f8aecd0f9c Autoformat was generating two undo action, the first one being an empty editor. Tested and fixed 2015-05-07 17:15:51 +02:00
Federico Fissore c0a1ffa27a Fixed failing PdeKeywords test
Autoformat was not saving caret position any more. Fixed
2015-05-07 17:15:51 +02:00
Federico Fissore 9ebe916fac Restoring keyword.txt loading and parsing. Added token type identifiers and related style in theme.txt 2015-05-07 17:15:50 +02:00