The handling of ssecondary ids was problematic, special cases were
not well documented and depending on code paths, a secondary ID
of null would mean different things.
This commit fixes that documentation, defines shared constants, and
fixes the logic so secondary id dispayed terminals restore to the
correct location on restart.
Change-Id: Ia87b64f735a37d505e1a5a7b7a4a8e210dfb8c1e
The reverse linefeed should scroll down when the cursor is on the
first line of the scrolling region, not only on the first screen
line
Change-Id: I628ab135d48d868bc8e3eacd2ea57dda948873a8
Signed-off-by: Fabrizio Iannetti <fabrizio.iannetti@gmail.com>
This contains basic tests so far, as bugs are fixed other tests
can be added here, leading to easier development of escape sequences.
Change-Id: Iadd0b24d400f72927c446d61386f19cfd8bd05a0
The implementation of the read loop in the emulator can spin because
it uses Reader.ready() to determine if there is more data to read.
However the Reader contract does not specify that ready() means
that read() will return a character, simply it means that read()
won't block. As such, if a Reader won't block, but it has no
characters, the inner read loop will spin constantly polling.
The outer loop uses polling too - but it has a wait so that the
CPU does not hit 100% and yields.
Change-Id: Id9b2426c65e6c2a2c3ae817a78d2be435e568c1f
Java 9+ contains new API for getting/walking stack frames. It is much
faster and has a much cleaner API than using Throwable.getStackTrace
Change-Id: Id0c888aeb06665f10605ce5ab5f0a567249e068c
To enable the terminal to be built independently of the
rest of CDT, remove these unused dependencies.
AFAICT they may date back to a time when some of the
native code was part of the core?
Change-Id: I61505a2bfc6c85f6c2d6efd9d66ac788018f9e82
Scroll up is not working with `less`, `man`, probably
other programs.
Change-Id: I99d2472ab09df6b79fffbcaa581f3024c44d3ead
Signed-off-by: Fabrizio Iannetti <fabrizio.iannetti@gmail.com>
- hover with ctrl+mouse underlines word under cursor
- ctrl-click tries to open the word:
- if a relative path (not starting with /) a full path is
obtained by prepending the shell cwd
- if the fullpath maps to a workspace file, it is opened
- otherwise open the OpenResource dialog with the word as
filter text
- if there is line/column information (separated by colons)
then the opened editor jumps to that line
- http and https words are opened in a browser window
Change-Id: I3f46accbf1eac6743d7b0c3b34bf30ac5e7523bb
Signed-off-by: Fabrizio Iannetti <fabrizio.iannetti@gmail.com>
Also-by: Jonah Graham <jonah@kichwacoders.com>
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
These launch files are basically all defaults and fill every devs space
but no one is running them on a regular basis.
Change-Id: I194dadd2ca55a20489935e690e3cd94357026389
Added missed license headers
Updated baseline for the parent pom to CDT 10.2
Updated version for pom.xml to 10.3
Updated version for features and bundles to CDT 10.3
Updated copyright for about.properties to be 2021
Incremented version + 100 where needed
Change-Id: I79666fcc0402fee6607499d7dce1eaf87a5f446d
Signed-off-by: Alexander Fedorov <alexander.fedorov@arsysop.ru>
All the hard work had been done before, simply no one had actually
added the bit of code to update the title based on the listener.
Change-Id: Icdbc7b9b0a9b8fccf7d4eddf8d20674e50e0a170
New action to temporarily invert the terminal colors,
the preference setting is not altered by this action.
Only the active terminal is affected.
Change-Id: Idc01163838539c2ba5699556951c1742bbf07ad6
Signed-off-by: Fabrizio Iannetti <fabrizio.iannetti@gmail.com>
CSI commands should be recognised as private if the first
character is one of <=>? and not only ?
Change-Id: Idca36ba4dc6bb1bcb3d10f921b2315876769ea5b
Signed-off-by: Fabrizio Iannetti <fabrizio.iannetti@gmail.com>
This change adds an extra activity for the TM terminal main toolbar
contribution. This allows applications to disable the contribution
without disabling the rest of TM terminal functionality.
With this change, disabling of the TM terminal main toolbar button can
be done with a product customization file containing the line:
org.eclipse.ui.workbench/UIActivities.org.eclipse.tm.terminal.view.ui.activity.maintoolbar=false
The product customization file is specified to Eclipse arguments:
-pluginCustomization /some/path/plugin_customization.ini
Change-Id: Id1c34616f4f2a0ac77edbfe201c1db095f9ce7b8
Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
Version changes are all to refect non-API changes (micro version)
Change-Id: I372aa2671a4c7f5c765a42156d3f639b8eaff680
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
Bug 549697 introduced the new UI for setting colors, but the
selection color (while added to the pref page) was never
connected to the code.
Change-Id: I9934efe595efe141a14f0bca3bdf355f436d907d
Remove all equalIgnoreCase and equal with uppercasing for environment
variables
Change-Id: Ic15974b5fb62413c7b1826ced544ff6d4a8eba2f
Signed-off-by: jantje <eclipse@baeyens.it>
Sets the pattern to the default of upcoming tycho 2.0 in advance.
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
Change-Id: I31b3fc733d0cb888fbf6f566995ce2043f6cd621
Note: the Windows dll is not actually modified, apart from the embedded
date stamp to match the date of the jni/ modification
Also-by: Liviu Ionescu <ilg@livius.net>
Change-Id: Ice3d5e7ae5999a0e4d1866e76e515a91e30e9f11
New types TerminalColor and TerminalStyle replace StyleColor and Style
to separate the meta information about styles and colors from the
user currently selected colors.
The StyleMap maps the TerminalColor/Style to the concrete fonts and
colors used in the display.
Colors are now configurable via the terminal preference page using
the new TerminalColorsFieldEditor.
All preferences are now passed in to the VT100 control so that
different terminal consumers can have different preferences and
styles.
Remove dark theme contribution. The colors of the terminal are
now inherited from the editor settings (using SystemDefaultColors)
which come from the theme. If we were to invert colors
too when in Dark theme then the colors actually end up light
background.
Change-Id: I2cf5427ac0be9a189a7f0d3565cfc97ceedb8749
Env had a very old way of reading environment variables from
before Java supported environemnt variables from System. This
commit makes the code the same as core CDT's EnvironmentReader.
Env holds a copy of the EnvironmentReader code to avoid dependency of
terminal to other CDT.
Change-Id: I8929bf427af99d3d62cca28ee8090aa423c9aded
Signed-off-by: jantje <eclipse@baeyens.it>
The existing code had the assumption that >= 1 connector was installed
in the IDE. It is difficult to configure the IDE with no connectors as
the base terminal feature includes connectors, but it is technically
possible. So in that case display a simple error message and avoid
a hidden error (and stack trace to log).
Change-Id: Id17a1e5bff9aec251aa6f7fe6ff4e96cd2a01564
Using the mouse and not the focus listeners leads to lots
of weird, unintended consequences. For example:
- If mouse does not exit the control (because, e.g. it was not
in the control) then captureKeyEvents(false) is never issued
- If mouse does leave control, then control stops capturing
events. This means that although the cursor and focus is still
on the control, keyboard shortcuts no longer go to the control,
so Ctrl-C becomes copy again. This means, depending on where you
move the mouse changes the behaviour of the control.
This reverts commit 19351cbc2b.
Change-Id: I4f57c659e21d823df049b095159a34e5c110ef29
There are two ways of specifying fonts in the terminal,
one via font definitions, and one via the font directly. The
method via the font directly was already deprecated in the public
API, this commit follows that deprecation chain through to
make it easier to identify which code paths are not likely
relevant anymore.
These methods could simply be removed as part of the major version
bump.
Change-Id: I05d746c429c4e6c3ced5ee7bb7a6172e0a255c2d
GC.getForeground / Background always create a new Color object,
so this if expression was always true.
Change-Id: Ief4ccaf1adb70967301411b012c0474608f425cb