Since the method is called everywhere with the following parameters
isReadOnly(
BaseNoGui.librariesIndexer.getInstalledLibraries(),
BaseNoGui.getExamplesPath())
)
the static calls to BaseNoGui have been inlined into isReadOnly()
removing all the duplications around.
Solves #7097; the user will be prompted if default sketchbook folder doesn't exist.
If needed, the exception will be thrown by getDefaultSketchbookFolder() as in Linux/OSX implementations.
Solves #5976; the new core's home is https://github.com/arduino/ArduinoCore-avr
Most of the history has been moved and is accessible, however the first 2 years are too much noisy (and SVN based) to be able to extract anything useful.
Please refer to Arduino main repo if you are doing any informatic archaeology :)
The serial.line_ending value was not present in the default
preferences file, so the default was implicitly 0, meaning "No line
ending". Since users often do not realize that they can even choose a
line ending, and "no line ending" is only rarely useful, it seems better
to default to sending a newline. Using both CR & NL would be more
consistent with Stream.println on the Arduino side, but just sending a
newline is probably easier to parse on the Arduino side.
User testing on skilled devs showed that "buttons appear on click" behaviour is far from being understood.
Accessibility features (like moving with Arrow keys) should be untouched.
Still not a perfect solution; two compilation outputs will mix up anyway.
A major refactor should be needed to avoid using System.out anywhere and inverse multiplexing the streams so they can be muted or replicated on any Console.
Scanning libraries is an heavy task if the sketchbook becomes huge;
This patch targets two points:
- remove the rescan() after setLibrariesFolders(), which already performs a rescan
- call setLibrariesFolders() only when the folder list has changed
- This ensures that no scan is performed when changing board in the same architecture
Could mitigate #6350