UNPKG

jquery.terminal

Version:

jQuery Terminal Emulator is a plugin for creating command line interpreters in your applications.

941 lines (833 loc) 101 kB
## 2.45.1/2.45.2 ### Bugfix * fix a broken prompt in Brave [#1018](https://github.com/jcubic/jquery.terminal/issues/1018) ## 2.45.0 ### Features * add `id` option that allow to create same terminal using hot reload [#978](https://github.com/jcubic/jquery.terminal/issues/978) * allow using Object URLs in links [#982](https://github.com/jcubic/jquery.terminal/issues/982) * experimental `--cols` CSS variable [#956](https://github.com/jcubic/jquery.terminal/issues/956) * add `terminal::lines()` [#966](https://github.com/jcubic/jquery.terminal/issues/966) * add small ASCII Art to signature [#972](https://github.com/jcubic/jquery.terminal/issues/972) * add `termina::output_ready()` [#987](https://github.com/jcubic/jquery.terminal/issues/987) [#1000](https://github.com/jcubic/jquery.terminal/issues/1000) * add `figlet.js` helper extension * update terminal::geometry [#995](https://github.com/jcubic/jquery.terminal/issues/995) ### Bugfix * fix `terminal::login()` when user already authenticated [#980](https://github.com/jcubic/jquery.terminal/issues/980) * improve mobile support * ignore empty command in Pipe extension [#984](https://github.com/jcubic/jquery.terminal/issues/984) * fix processing Hex HTML entities [#992](https://github.com/jcubic/jquery.terminal/issues/992) * fix returning Terminal instance from interpreter [#994](https://github.com/jcubic/jquery.terminal/issues/994) * fix removing blank lines when using `import_view()` [#1007](https://github.com/jcubic/jquery.terminal/issues/1007) * fix fallback interpreter return value [#1008](https://github.com/jcubic/jquery.terminal/issues/1008) * fix for external terminal style [#1009](https://github.com/jcubic/jquery.terminal/issues/1009) * fix redraw when echo async function which throws [#998](https://github.com/jcubic/jquery.terminal/issues/998) * fix browser shorcuts when terminal is paused [#1005](https://github.com/jcubic/jquery.terminal/issues/1005) * display exception from sync echo function [#997](https://github.com/jcubic/jquery.terminal/issues/997) * fix text on hover links when background is transparent [#990](https://github.com/jcubic/jquery.terminal/issues/990) * hide clipboard textarea from selection [#1015](https://github.com/jcubic/jquery.terminal/issues/1015) ## 2.44.1 ### Bugfix * fix errors with form autofill outside of the terminal [#977](https://github.com/jcubic/jquery.terminal/issues/977) ## 2.44.0 ### Features * new API `terminal::animation()` and `terminal::delay()` [#683](https://github.com/jcubic/jquery.terminal/issues/683) * add images in less now have `terminal-less` class * add `execHistory` main option and `history` option to `terminal::exec()` [#745](https://github.com/jcubic/jquery.terminal/issues/745) * add helper `$.terminal.remove_formatter` * escape xml in `$.terminal.escape_formatting` when xml formatter is used [#973](https://github.com/jcubic/jquery.terminal/issues/973) ### Bugfix * fix number of rows when using different `--size` [#969](https://github.com/jcubic/jquery.terminal/issues/969) * fix hidden cursor when using command that change `--size` [#968](https://github.com/jcubic/jquery.terminal/issues/968) * fix command prop in `export_view()` when in command [#967](https://github.com/jcubic/jquery.terminal/issues/967) * fix processing images in less [#970](https://github.com/jcubic/jquery.terminal/issues/970) * fix passing alt and class for image in less * fix width of images in less when image is bigger than the terminal * fix line-height of the lines to render less image slices properly * fix flashing of old prompt after prompt animation [#976](https://github.com/jcubic/jquery.terminal/issues/976) ## 2.43.2 ### Bugfix * fix scroll to bottom when using `terminal::import_view` ## 2.43.1 ### Bugfix * fix height when not using `--rows` [#962](https://github.com/jcubic/jquery.terminal/issues/962) ## 2.43.0 ### Breaking * echo of undefined or Promise that resolve to undefined no longer display string undefined ### Features * add support for `--rows` CSS custom property [#956](https://github.com/jcubic/jquery.terminal/issues/956) * add aborting signals [#940](https://github.com/jcubic/jquery.terminal/issues/940) ### Bugfix * fix CMD update performance issue [#961](https://github.com/jcubic/jquery.terminal/issues/961) * don't reflow the reflow the cursor on update [#932](https://github.com/jcubic/jquery.terminal/issues/932) * fix unexpected uncaught exceptions in promises * fix skip/skip_stop return value and add types * fix recursive call to echo in renderHandler [#733](https://github.com/jcubic/jquery.terminal/issues/733) ## 2.42.2 ### Bugfix * actual fix for blank lines typing animation [#946](https://github.com/jcubic/jquery.terminal/issues/946) ## 2.42.1 ### Bugfix * fix line wrapping when calling multiple echo `newline:false` [#952](https://github.com/jcubic/jquery.terminal/issues/952) * fix cursor position when echo `newline:false` fill the line * fix running typing animation on empty terminal [#950](https://github.com/jcubic/jquery.terminal/issues/950) * get rid of canvas warning from images in less [#955](https://github.com/jcubic/jquery.terminal/issues/955) * fix update with newline after echo without it [#954](https://github.com/jcubic/jquery.terminal/issues/954) ## 2.42.0 ### Features * add reverse style to formatting and XML [#943](https://github.com/jcubic/jquery.terminal/issues/943) * add XML formatting targets [#944](https://github.com/jcubic/jquery.terminal/issues/944) ### Bugfix * fix typing animation on emtpy lines [#946](https://github.com/jcubic/jquery.terminal/issues/946) * fix skip typing animation [#945](https://github.com/jcubic/jquery.terminal/issues/945) * fix use of `$.terminal.apply_formatters` with prism ## 2.41.2 ### Bugfix * fix commands in pipe operator with non string arguments * fix text selection of raw HTML [#939](https://github.com/jcubic/jquery.terminal/issues/939) * fix resume of exec on auth with sync token ## 2.41.1 ### Bugfix * fix paused terminal when echo broken image * fix returning String instance from interpreter ## 2.41.0 ### Features * allow to use class and other attributes in style XML tags (like `<bold/>` or `<glow/>`) * allow usage of String instance in greetings [#936](https://github.com/jcubic/jquery.terminal/issues/936) ### Bugfix * fix alt image attribute * fix visible formatting in prompt after animated exec [#938](https://github.com/jcubic/jquery.terminal/issues/938) * fix visible formatting in prompt during typing animation * cleanup duplicated attributes from XML formatter output * fix zoom on mobile (PR by [Riccardo Mura](https://github.com/cowuake)) [#935](https://github.com/jcubic/jquery.terminal/pull/935) ## 2.40.6 ### Bugfix * fix resize of text from long animation after finish ## 2.40.5 ### Bugfix * fix visible prompt during multiline typing animation [#934](https://github.com/jcubic/jquery.terminal/issues/934) ## 2.40.4 ### Bugfix * fix flash of old dynamic prompt on enter [#926](https://github.com/jcubic/jquery.terminal/issues/926) ## 2.40.3 ### Bugfix * fix `new_formatter` to allow usage of XML tags in formatter ## 2.40.2 ### Bugfix * fix usage with libraries that invoke fake click events [#931](https://github.com/jcubic/jquery.terminal/issues/931) ## 2.40.1 ### Bugfix * fix visible formatting in prompt when return string from command [#922](https://github.com/jcubic/jquery.terminal/issues/922) ## 2.40.0 ### Features * don't force any attributes when using xml (`span`, `img`, and `a` tags) [#913](https://github.com/jcubic/jquery.terminal/issues/913) * alow using attributes in color xml tags [#924](https://github.com/jcubic/jquery.terminal/issues/924) ### Bugfix * fix init and resize of long prompt [#919](https://github.com/jcubic/jquery.terminal/issues/919) * fix occasional selecting Accessibility label (about clipboard textarea) in CMD * fix sync commands and dynamic prompt [#923](https://github.com/jcubic/jquery.terminal/issues/923) * fix calling `onCommandChange` when command don't change * fix sequence of animations in echo without newline [#930](https://github.com/jcubic/jquery.terminal/issues/930) * fix ignoring colors and style when using JSON attributes in formatting ## 2.39.3 ### Bugfix * fix broken full screen terminal height on Desktop ## 2.39.2 ### Bugfix * fix when CSS is loaded after creation of the terminal (mostly for ReactJS) ## 2.39.1 ### Bugfix * fix visible CMD textarea when page use box-shadow ## 2.39.0 ### Features * Add support for jQuery 4.0 ## 2.38.0 ### Breaking * `onInit` runs before login ### Features * add support for BigInt numbers when parsing commands * add `--line-thickness` CSS variable to cursor animation * improve performance with long typing animations [#820](https://github.com/jcubic/jquery.terminal/issues/820) ### Bugfix * fix `\t` characters in ascii_table [#902](https://github.com/jcubic/jquery.terminal/issues/902) * fix race condition in refresh and flush [#897](https://github.com/jcubic/jquery.terminal/issues/897) * always execute function prompt after login [#898](https://github.com/jcubic/jquery.terminal/issues/898) * fix background color in prompt [#906](https://github.com/jcubic/jquery.terminal/issues/906) * update prism code to match function Prism.highlight [#905](https://github.com/jcubic/jquery.terminal/issues/905) * fix keepWords during typing animation [#867](https://github.com/jcubic/jquery.terminal/issues/867) * fix leading spaces during animation [#825](https://github.com/jcubic/jquery.terminal/issues/825) * fix edge case of of multiple echo with `newline: false` [#878](https://github.com/jcubic/jquery.terminal/issues/878) ## 2.37.2 ### Bugfix * fix for TypeScript from [Antoine](https://github.com/antoineol) ([#896](https://github.com/jcubic/jquery.terminal/pull/896)) and [KiddoV](https://github.com/KiddoV) ([#901](https://github.com/jcubic/jquery.terminal/pull/901)) ## 2.37.1 ### Bugfix * fix wrong calculation of characters with custom font [#892](https://github.com/jcubic/jquery.terminal/issues/892) ## 2.37.0 ### Features * add `rpc` interceptor [#883](https://github.com/jcubic/jquery.terminal/issues/883) * wait for the custom fonts to load [#892](https://github.com/jcubic/jquery.terminal/issues/892) ### Bugfix * fix CMD wrapping when prompt is empty [#882](https://github.com/jcubic/jquery.terminal/issues/882) * fix paused terminal when using array as interpreter and RPC without system describe * fix edge case of disappearing content after refresh [#871](https://github.com/jcubic/jquery.terminal/issues/871) * fix rendering empty lines prompt and during typing animation [#890](https://github.com/jcubic/jquery.terminal/issues/890) * fix rendering links in prompt and during typing animation [#891](https://github.com/jcubic/jquery.terminal/issues/891) ## 2.36.0 ### Features * split_equal accept optional object as 3rd argument with two options `trim` and `keepWords` * add `--padding` CSS Variable [#874](https://github.com/jcubic/jquery.terminal/issues/874) * add CSS transition to links [#870](https://github.com/jcubic/jquery.terminal/issues/870) ### Bugfix * fix leading spaces in text wrapping * fix glitch in typing animation when text have hyphen * fix regression in cursor animation color [#869](https://github.com/jcubic/jquery.terminal/issues/869) * fix `term::geometry()` [#873](https://github.com/jcubic/jquery.terminal/issues/873) * fix types for `term::push()` [#877](https://github.com/jcubic/jquery.terminal/issues/877) ## 2.35.3 ### Bugfix * fix object returned from the interpreter [#857](https://github.com/jcubic/jquery.terminal/issues/857) * fix greetings that use a callback [#855](https://github.com/jcubic/jquery.terminal/issues/855) * fix behavior of `onBeforeLogin` [#856](https://github.com/jcubic/jquery.terminal/issues/856) ## 2.35.2 ### Bugfix * fix mobile Chrome and Firefox [#846](https://github.com/jcubic/jquery.terminal/issues/846) ## 2.35.1 * Unpublished because of technical issues ## 2.35.0 ### Breaking * replace `imagePause` with `externalPause` ### Features * add bulletproof solution for generic selector (`*` or `div`) to overwrite terminal style * use jsDelivr for emoji that is way faster [#810](https://github.com/jcubic/jquery.terminal/issues/810) * pause terminal when loading iframes [#816](https://github.com/jcubic/jquery.terminal/issues/816) * allow to change or remove target and rel tags on links with JSON attributes * allow using transparent background [#698](https://github.com/jcubic/jquery.terminal/issues/698) * register CSS properties so you can use CSS Transition on terminal colors [#808](https://github.com/jcubic/jquery.terminal/issues/808) * add terminal::blur alias [#813](https://github.com/jcubic/jquery.terminal/issues/813) * allow to change scrollbar color with CSS property * add `process_formatting` static helper function * add `FormattingCanvasRenderer` for color animation [#819](https://github.com/jcubic/jquery.terminal/issues/819) ### Bugfix * fix up/down arrows when moving inside command that has emoji [#608](https://github.com/jcubic/jquery.terminal/issues/608) * fix pausing when loading images [#807](https://github.com/jcubic/jquery.terminal/issues/807) * fix scroll to bottom on echo images and iframes * fix jump to the end of the command when clicking below cmd [#814](https://github.com/jcubic/jquery.terminal/issues/814) * fix selection overlap previous line * fix scroll to bottom while animating [#791](https://github.com/jcubic/jquery.terminal/issues/791) * fix rendering of sixel images [#824](https://github.com/jcubic/jquery.terminal/issues/824) * fix handling promises in randerHandler * fix scroll to bottom during animation [#791](https://github.com/jcubic/jquery.terminal/issues/791) * fix `terminal::is_bottom` when using intersection observer * fix processing \r in Linux output of unix_formatting ## 2.34.0 ### Features * add `term::get_mask` method [#785](https://github.com/jcubic/jquery.terminal/issues/785) * add `onReady` event to `term::read` [#779](https://github.com/jcubic/jquery.terminal/issues/779) * improve performance of typing animation * add `prefers-reduced-motion` into main CSS * pause terminal when images are loading [#802](https://github.com/jcubic/jquery.terminal/issues/802) * allow disable scroll to bottom on resume [#800](https://github.com/jcubic/jquery.terminal/issues/800) ### Bugfix * fix line wrapping of cmd when using echo: newline [#773](https://github.com/jcubic/jquery.terminal/issues/773) * fix text selection on echo without newline text * fix rejected promises from echo [#790](https://github.com/jcubic/jquery.terminal/issues/790) * improve TypeScript types for typing animation [#794](https://github.com/jcubic/jquery.terminal/issues/794) * add missing mousewheel typing animation [#795](https://github.com/jcubic/jquery.terminal/issues/795) * fix iterate formatting over closing bracket [#792](https://github.com/jcubic/jquery.terminal/issues/792) * fix resolving promise from echo typing animation when previous command was async [#797](https://github.com/jcubic/jquery.terminal/issues/797) * fix double exception in terminal::destroy * fix double call to finalize function when echo DOM nodes * fix `$.terminal.substring` [#792](https://github.com/jcubic/jquery.terminal/issues/792) ## 2.33.3 ### Bugfix * fix newline in minified js file [#780](https://github.com/jcubic/jquery.terminal/issues/780) ## 2.33.2 ### Bugfix * fix scroll to bottom [#777](https://github.com/jcubic/jquery.terminal/issues/777) ## 2.33.1 ### Bugfix * fix padding removed by minifier ## 2.33.0 ### Features * add a color and background attributes to the font tag in the xml formatter * add `terminal-none` animation * allow to easily change border-radius on terminal [#766](https://github.com/jcubic/jquery.terminal/issues/766) * add clear_cache to cmd ### Bugfix * fix flicker of dynamic prompt on enter [#757](https://github.com/jcubic/jquery.terminal/issues/757) * fix re-rendering of jQuery/DOM nodes [#759](https://github.com/jcubic/jquery.terminal/issues/759) * fix regression in less + images * fix embedding the Terminal inside SVG [#744](https://github.com/jcubic/jquery.terminal/issues/744) * fix when the login function is not async * fix calling login_name in dynamic prompt * fix masking command on typing animation [#770](https://github.com/jcubic/jquery.terminal/issues/770) * fix selection/click on text that was echo without newline (when prompt is still in same line) * fix exception when outputLimit is used [#776](https://github.com/jcubic/jquery.terminal/issues/776) * fix showing links for emails like prompt [#768](https://github.com/jcubic/jquery.terminal/issues/768) * fix line wrapping when text between formatting have brackets [#772](https://github.com/jcubic/jquery.terminal/issues/772) ## 2.32.1 ### Bugfix * leading spaces with echo + keepWords [#754](https://github.com/jcubic/jquery.terminal/issues/754) * fix loading hidden terminal ## 2.32.0 ### Features * add insert typing animation * add `--text-shadow` css variable * new API method `parse_formatting` * allow to use terminal style of external element [#731](https://github.com/jcubic/jquery.terminal/issues/731) ### Bugfix * fix calculating number of rows (affecting less command) * fix glow with prism and error messages [#729](https://github.com/jcubic/jquery.terminal/issues/729) * fix prism and typing animation [#726](https://github.com/jcubic/jquery.terminal/issues/726) * fix various TypeScript typing errors * fix spacing between lines * fix wrong mouse cursor on terminal cursor and character before * fix catastrophic reflow when executing hundreds of echos in a loop * fix empty lines in prompt (visible when using typing animation) [#734](https://github.com/jcubic/jquery.terminal/issues/734) * fix trimming whitespace with echo keep_words [#738](https://github.com/jcubic/jquery.terminal/issues/738) * fix JSON working on processing nested formatting with html entities [#735](https://github.com/jcubic/jquery.terminal/issues/735) * fix echo array of numbers [#747](https://github.com/jcubic/jquery.terminal/issues/747) * improve performance when terminal don't have height * fix partial text (echo without newline) rendering [#751](https://github.com/jcubic/jquery.terminal/issues/751) ## 2.31.1 ### Bugfix * fixing low severity self XSS with potential more security implications [#727](https://github.com/jcubic/jquery.terminal/issues/727) ## 2.31.0 ### Breaking * remove undocumented `echo_command` (that was used by old `echo_newline` extension) ### Features * scroll to bottom for each line in multiline typing animation * allow to use `--glow: 1` with default animation * new API `terminal::enter` same as echo_command but supports animation * add global option `execAnimationDelay` default - 100 * make execAnimation work only with execHash [#723](https://github.com/jcubic/jquery.terminal/issues/723) ### Bugfix * fix prompt that return string or promise (in animation and set_prompt) [#724](https://github.com/jcubic/jquery.terminal/issues/724) * fix formatting in typing animation [#721](https://github.com/jcubic/jquery.terminal/issues/721) * fix formatting colors and `--glow` [#725](https://github.com/jcubic/jquery.terminal/issues/725) * fix record stop command being recorded [#719](https://github.com/jcubic/jquery.terminal/issues/719) ## 2.30.2 ### Bugfix * fix animated exec array with sync commands [#722](https://github.com/jcubic/jquery.terminal/issues/722) ## 2.30.1 ### Bugfix * fix record built-in commands in URL hash ## 2.30.0 ### Features * add `span` to xml formatting * allow to use class attribute in XML formatting (`span`, `link`, and `img`) * new API methods `clear_buffer()` and `get_output_buffer()` [#717](https://github.com/jcubic/jquery.terminal/issues/717) ### Bugfix * fix bug on Android with GBoard keyboard [#693](https://github.com/jcubic/jquery.terminal/issues/693) * fix refresh when scrollbar appear (using `scrollbar-gutter`) * fix link color to pass WCAG contrast ratio * remove tabindex attribute on links * add label to clipboard textarea for a11y * allow to escape angle brackets in XML formatting [#710](https://github.com/jcubic/jquery.terminal/issues/710) * fix black line before the image [#708](https://github.com/jcubic/jquery.terminal/issues/708) * fix scroll to bottom when echo an image [#716](https://github.com/jcubic/jquery.terminal/issues/716) * fix multiple echo with `!flush && !newline` [#709](https://github.com/jcubic/jquery.terminal/issues/709) * fix updating hash for long async commands [#703](https://github.com/jcubic/jquery.terminal/issues/703) ## 2.29.5 ### Bugfix * fix empty prompt when no wcwidth is included ## 2.29.4 ### Bugfix * fix empty lines when print single multi-line string ## 2.29.3 ### Bugfix * fix echo raw interfering with echo without newline [#695](https://github.com/jcubic/jquery.terminal/issues/695) * update hash with proper array if hash is escaped * invalidate cache and update CMD on `term::refresh()` [#699](https://github.com/jcubic/jquery.terminal/issues/699) * allow to add horizontal scrollbar with single wrap options [#692](https://github.com/jcubic/jquery.terminal/issues/692) * handle promise rejection in onInit [#691](https://github.com/jcubic/jquery.terminal/issues/691) ## 2.29.2 ### Bugfix * fix linkify of urls (better url detection) * fix linkify urls in command line (enable link in cmd) * fix two bugs with echo without newline (when prompt have 0 width and lines have different length) * fix applying glow shadow to transparent text * fix async responsive greetings * fix multiple echo of async functions and promises mixed with strings * fix `get_output()` on lines that are promises [#687](https://github.com/jcubic/jquery.terminal/issues/687) * fix echo newline when one of the values is promise or function * fix invalid css when partial output is no longer partial * add padding to terminal size i `term::geometry()` [#686](https://github.com/jcubic/jquery.terminal/issues/686) * clear extended commands from view when calling `import_view` [#690](https://github.com/jcubic/jquery.terminal/issues/7690) ## 2.29.1 ### Bugfix * remove `all: unset` CSS that was breaking resizing events and visibility of textarea ## 2.29.0 ### Breaking * remove undocumented `<large>`/`<big>`/`<wide>` and add `<font>` tag to XML formatter ### Feature * add animation to `exec` and `execAnimation` option [#679](https://github.com/jcubic/jquery.terminal/issues/679) * add warning when calling invoke_key on disabled terminal [#678](https://github.com/jcubic/jquery.terminal/issues/678) * if interpreter returns a promise and it's animating the terminal will not pause (for exec array) * allow to use brackets inside extended commands (e.g. JavaScript code to hide commands) * expose `$.terminal.xml_formatter.tags` * add `--glow` [conditional hack](https://www.kizu.ru/conditions-for-css-variables/) ### Bugfix * tweak types for cmd function prompt * fix broken order of execution in `exec` when using pause/resume * fix mixing extended commands and terminal formatting * fix invoking `get_command()` in interpreter (clear command after user action) * fix parse_command when command have leading spaces [#681](https://github.com/jcubic/jquery.terminal/issues/681) ## 2.28.1 ### Bugfix * fix applying style of text-decoration (e.g. underline) * fix using custom font in Canvas animations ## 2.28.0 ### Breaking * `nested_formatting` inherit styles by default ### Feature * add forms extension [#610](https://github.com/jcubic/jquery.terminal/issues/610) * rewrite xml_formatter and add new tags * add animation interface [#611](https://github.com/jcubic/jquery.terminal/issues/611) * use dash `-` as input file to read from STDIN in `from-ansi` executable * improve auth error message * add "enter" typing animation with prefix prompt * allow to render ansi in less correctly (using `ansi` option) ### Bugfix * fix rest of the extension files in NodeJS (regression since 2.22.0) * fix inheritance of attributes (including styles) and classes in nested formatting * fix echo and prompt with animation (using typing options) * fix empty prompt * disable keyboard on typing animation * fix resizing when using default cache [#677](https://github.com/jcubic/jquery.terminal/issues/677) ## 2.27.1 ### Bugfix * fix `from_ansi` and add option `--ansi -a` ## 2.27.0 ### Feature * add CSS and option `ansi` to echo to properly render ANSI art * add typing animation to set_prompt [#673](https://github.com/jcubic/jquery.terminal/issues/673) * return promise from `set_prompt` and `echo` when using typing animation * add `from_ansi` executable [#670](https://github.com/jcubic/jquery.terminal/issues/670) * new emoji ### Bugfix * fix bug in cache (when echo same string two times in a row) [#672](https://github.com/jcubic/jquery.terminal/issues/672) * fix exception when calling term::echo with typing animation * fix regression in width ([chess demo](https://codepen.io/jcubic/pen/NWxOZQE)) * fix usage in NodeJS (regression since 2.22.0) ## 2.26.0 ### Feature * Better API for prompt typing animation with term::read and term::echo ### Bugfix * fix return value from JSON-RPC (ignore only null) * fix missing TypeScript definitions for `typing` API method * fix multi-line prompt regression * remove extra space after prompt animation * fix echo string with newline at the end and with newline == false and refresh * fix `$.rpc` helper on Ajax error * add default `useCache` option & TypeScript definition * fix regression in text selection over prompt with fontawesome (Chrome bug [#1087787](https://bugs.chromium.org/p/chromium/issues/detail?id=1087787#c20)) * fix cutting off underscore in certain sizes of the terminal ## 2.25.1 ### Bugfix * fix wrong auth tokens when using exec to login * fix exec array for async login * fix Auth to nested RPC interpreter without system.describe * don't echo falsy values from RPC ## 2.25.0 ### Features * add new API `$.rpc` for JSON-RPC requests ### Bugfix * properly handle promise rejection in login * fix re executing extended commands on resize [#666](https://github.com/jcubic/jquery.terminal/issues/666) * fix rendering jQuery object with Canvas [#664](https://github.com/jcubic/jquery.terminal/issues/664) * fix right mouse click on link to not scroll to cursor [#644](https://github.com/jcubic/jquery.terminal/issues/644) ## 2.24.0 ### Features * add `terminal::typing` API method * add `--font` custom property [#662](https://github.com/jcubic/jquery.terminal/issues/662) * add alt tag to images from formatting [#661](https://github.com/jcubic/jquery.terminal/issues/661) * improve command parser [#657](https://github.com/jcubic/jquery.terminal/issues/657) ### Bugfix * fix TypeScript types for echo with promises [#658](https://github.com/jcubic/jquery.terminal/issues/658) ## 2.23.2 ### Bugfix * fix regression in scroll to view mechanism (that cause scroll up randomly) ## 2.23.1 ### Bugfix * fix reversed class in cmd (e.g. in less command) * fix hack to reflow the cursor in Firefox from [#654](https://github.com/jcubic/jquery.terminal/issues/654) ## 2.23.0 ### Features * include echo without newline into the core of the library ### Bugfix * remove unsafe eval (function constructor) that breaks CSP [#647](https://github.com/jcubic/jquery.terminal/issues/647) * fix up/down arrow when prompt is empty string [651](https://github.com/jcubic/jquery.terminal/issues/651) * fix prompt containing brackets [#648](https://github.com/jcubic/jquery.terminal/issues/648) * fix ANSI Art (add saving and restoring cursor using ANSI escape code) * fix mouse wheel and touch scroll in less when content is smaller than height of the terminal * fix regression in copy/paste with right click ## 2.22.0 ### Features * make unix formatting and basic tools work in web worker ### Bugfix * fix scrolling whole page when using mouse wheel in less * fix some missing cp_437 characters for ANSI Art * fix usage as bookmarklet on StackOverflow (force css of textarea) ## 2.21.0 ### Features * add `wrap` and `keepWords` option to less [#641](https://github.com/jcubic/jquery.terminal/issues/641) * add new method `term::geometry` to the API [#637](https://github.com/jcubic/jquery.terminal/issues/637) ### Bugfix * fix parsing JSON code inside strings [#642](https://github.com/jcubic/jquery.terminal/issues/642) ## 2.20.2 ### Bugfix * fix bold background and default color in Unix formatting (another ANSI artwork issue) * fix rendering 0x1E in ANSI art * fix when browser don't have ES6 Map object [#630](https://github.com/jcubic/jquery.terminal/issues/630) * fix echo_newline extension * fix handling of blink in ANSI Art * fix error in prism when calling without options and render flags (e.g.: echo or prompt) * fix background color for links that have set background using formatting * fix empty cursor on Windows when copy/paste [#634](https://github.com/jcubic/jquery.terminal/issues/634) ## 2.20.1 ### Bugfix * fix async synchronization of async functions and normal echo * fix exception when executing empty command with pipe * fix serialization of commands when using pipe operator and function interpreter * fix exception in `terminal::destroy` ## 2.20.0 ### Breaking * `set_interpreter` return a promise instead of terminal instance ### Features * add support for echo async functions [#629](https://github.com/jcubic/jquery.terminal/issues/629) * allow to run exec using onInit that will use pipe [#603](https://github.com/jcubic/jquery.terminal/issues/603) ### Bugfix * fix silent error when executing empty command from hash * with issues with browser that don't support css variables [#630](https://github.com/jcubic/jquery.terminal/issues/630) * fix exception in IE from formatters [#631](https://github.com/jcubic/jquery.terminal/issues/631) ## 2.19.1/2.19.2 ### Bugfix * fix prism highlighting ## 2.19.0 ### Features * add support blink ANSI escape (unix_formatting) * new unix formatting API options, `ansiArt` option change behavior of blinking ### Bugfix * fix prism when page have color set on span * fix visible textarea when global css set background image * fix exception `delete_word_forward` (ALT+D) `delete_word_backward` (CTRL+W) * fix page scrolling on enter when terminal don't have scrollbar * fix ANSI Art [#622](https://github.com/jcubic/jquery.terminal/issues/622) (unix formatting) * fix empty echo in CTRL+D [#626](https://github.com/jcubic/jquery.terminal/issues/626) ## 2.18.3 ### Bugfix * fix jumping to cursor position on mobile (with code) ## 2.18.2 ### Bugfix * fix when page use line-height on body ## 2.18.1 ### Bugfix * fix glitches in history navigation (visible when using multiline commands in history) ## 2.18.0 ### Features * new API to use `renderHandler` with update * new API (`apply_formatters` function option) to pick where processing of formatting should work [#588](https://github.com/jcubic/jquery.terminal/issues/588) * allow to toggle formatters in prism (enabled by default only for echo and command) * escape slash in `escape_formatting`/`escape_brackets` [#605](https://github.com/jcubic/jquery.terminal/issues/605) * add support for rgb(a) and hsl(a) colors [#590](https://github.com/jcubic/jquery.terminal/issues/590) * unify Firefox and Webkit (chrome) custom scrollbars [#607](https://github.com/jcubic/jquery.terminal/issues/607) ### Bugfix * fix same cases of wrong calculated size of the character when --size is used [#602](https://github.com/jcubic/jquery.terminal/issues/602) * add custom scrollbar on Firefox * fix colors of Webkit scrollbar * fix `renderHandler` in update * fix formatting in update - reusing options from echo * fix normal return string from prompt * fix pipe symbol inside strings [#606](https://github.com/jcubic/jquery.terminal/issues/606) * fix spaces in images in less & text selection * fix regresion in fontawesome icons * fix inconsistency with emoji and wide characters in terminal and cmd * fix rounding issue that cause exception in less when rendering images ## 2.17.6 ### Bugfix * fix adding duplicated prism formatters [#573](https://github.com/jcubic/jquery.terminal/issues/573) * fix inserting emoji using Windows 10 emoji picker * fix position of textarea in multi line command (probably will affect IME or Emoji picker) * make jump to bottom on click only when terminal is not enabled [#596](https://github.com/jcubic/jquery.terminal/issues/596) * fix init cmd plugin without terminal * fix underscore cut off in Firefox (visible in signature) * fix combined emoji characters and skin tone variations [#598](https://github.com/jcubic/jquery.terminal/issues/598) * fix down arrow at when cursor at the end of broken line [#601](https://github.com/jcubic/jquery.terminal/issues/601) * fix broken keymap inheritance in nested interpreters [#615](https://github.com/jcubic/jquery.terminal/issues/615) ## 2.17.5 ### Bugfix * fix eating last bracket from split_equal [#597](https://github.com/jcubic/jquery.terminal/issues/597) * fix false positive recursive echo error [#593](https://github.com/jcubic/jquery.terminal/issues/593) ## 2.17.4 ### Bugfix * fix jumping on right click near bottom and/or right edge when terminal is not full screen * fix double event fire on right mouse click * fix scrollbar size in Chrome ## 2.17.3 ### Bugfix * fix for font-family wildcard css rule * fix cursor on scrollbar * fix broken html with wide characters without formatting * fix jumping to address bar on CTRL+L [#587](https://github.com/jcubic/jquery.terminal/issues/587) * fix issue in less when only one image get rendered [#583](https://github.com/jcubic/jquery.terminal/issues/583) * fix jumping on focus on mobile when terminal content scrolled down [#572](https://github.com/jcubic/jquery.terminal/issues/572) * fix detecting iPad iOS 13as mobile [#589](https://github.com/jcubic/jquery.terminal/issues/589) * fix return false from onPaste to disable insert from clipboard * fix paste in command mode of less plugin [#581](https://github.com/jcubic/jquery.terminal/issues/581) * fix jumping when click near bottom and/or right edge [#592](https://github.com/jcubic/jquery.terminal/issues/592) ## 2.17.2 ### Bugfix * fix cursor on strings in prism ## 2.17.1 ### Bugfix * fix regressions in text selection, cursor and CSS variables [#584](https://github.com/jcubic/jquery.terminal/issues/584) * unify selection on font icons (fontawesome) and emoji ## 2.17.0 ### Features * new CTRL+ARROW DOWN/UP shortcuts and ignore the multi line commands (change history) ### Bugfix * fix ch unit bug for Firefox and IE [#579](https://github.com/jcubic/jquery.terminal/issues/579) * fix broken emoji [#578](https://github.com/jcubic/jquery.terminal/issues/578) * fix broken cursor navigation in Firefox [#577](https://github.com/jcubic/jquery.terminal/issues/577) * fix default cursor color animation on color cmd from formatting (e.g. prism) * fix font-awesome selection (partial - works only in Firefox) * fix consistency of data-text attribute and span * fix issue with split_equal when it swallow the line if the line had bracket at the end * allow to use .emoji CSS in .raw output * fix up/down on multi line command navigation when command have brackets and/or wrappings * fix empty lines after wrapping in CMD when splitted line length == cols * fix navigating of formatting when stacked formatters are used and one change length [#580](https://github.com/jcubic/jquery.terminal/issues/580) ## 2.16.1 ### Bugfix * fix disappearing cursor when use up down arrow in multi line CMD [#576](https://github.com/jcubic/jquery.terminal/issues/576) * fix broken color CSS variables [#575](https://github.com/jcubic/jquery.terminal/issues/575) * fix swallowed escape bracket as input in CMD [#574](https://github.com/jcubic/jquery.terminal/issues/574) ## 2.16.0 ### Features * style of scrollbars in WebKit * integration with fontawesome icons added using formatting ### Bugfix * fix version of widget.js ## 2.15.4 ### Bugfix * fix jumping when you scrolled down the div terminal [#565](https://github.com/jcubic/jquery.terminal/issues/565) ## 2.15.3 ### Bugfix * fix broken formatting in prism.js when processing brackets ## 2.15.2 ### Bugfix * fix toggle keyboard on multiple terminals on same page * fix jumping to prompt on press CTRL+C when terminal scrolled to top * don't scroll to bottom when click on terminal that already in focus ## 2.15.1 ### Bugfix * fix combination of mobile: focus, selection and touchscroll ## 2.15.0 ### Features * add new API event touchscroll for mobile (use it in less) [#556](https://github.com/jcubic/jquery.terminal/issues/556) * mobile paste [#458](https://github.com/jcubic/jquery.terminal/issues/458) * cmd::clip API method used internally, mostly for mobile ### Bugfix * fix vertical bar cursor animation on empty command line * fix edge case while splitting the command line with formatting (better fix for [#379](https://github.com/jcubic/jquery.terminal/379)) * fix option parser when using minus or double minus as argument * fix issue when wcwidth is added and there are no wide characters * fix prism + wide characters (e.g. Chinese and Japanese inside strings) ## 2.14.1 ### Bugfix * fix empty rows size ## 2.14.0 ### Features * allow to return promise from renderHandler * allow to extend the ansiParser in unix_formatting * add a way to to handle Sixel terminal image format [#553](https://github.com/jcubic/jquery.terminal/issues/553) * improve performance of cmd render when moving cursor * implement H cursor movement [#553](https://github.com/jcubic/jquery.terminal/issues/553) * unix formatting ANSI character replacements modes ### Bugfix * fix click on last line in multiline cmd [#554](https://github.com/jcubic/jquery.terminal/issues/554) * fix selecting textarea content when selecting cmd * fix possible loops in renderHandler * fix parsing image REGEXes in less * fix cmd cursor up/down with wrapping [#557](https://github.com/jcubic/jquery.terminal/issues/557) * fix issue with prism (html language) and less * fix left/right pagination in less, when not all lines are longer then cols * fix CTRL+ARROWRIGHT [#560](https://github.com/jcubic/jquery.terminal/issues/560) * fix urls inside formatting ## 2.12.0 ### Features * improve performance * add cache for formatting and processing lines * big improvements to less plugin re-rendering (e.g. when scrolling text with keyboard) * cursor movement in unix formatting (virtual cursor not supported in cmd, because it make no sense) [#553](https://github.com/jcubic/jquery.terminal/issues/553) ### Bugfix * fix empty lines in less * fix split_equal with keep works and formatting at the end. * fix searching inside links in less ## 2.10.1 (released on npm as 2.11.1) ### Bugfix * fix glow effect of prompt when it don't have formatting * fix exec commands from echo * fix echo formatting with newline and bracket at the end * fix single wide character exception * fix substring after string when string have bracket at the end [#550](https://github.com/jcubic/jquery.terminal/issues/550) * fix images & style from formatters inside cmd [#519](https://github.com/jcubic/jquery.terminal/issues/519) ## 2.10.0 ### Feature * improve performance by adding function `$.terminal.partition` * allow to use force resize `cmd::resize(true)` (to update init command line with emoji) * add glow style [#549](https://github.com/jcubic/jquery.terminal/issues/549) ### Bugfix * fix throw/reject in async function/promise [#546](https://github.com/jcubic/jquery.terminal/issues/546) * allow to return string from greetings function * fix low level iterate_formatting function to handle html entities properly * fix spacing of wider characters (Chinese/Japanese) in echo (to match cmd) * fix jumping on right click [#545](https://github.com/jcubic/jquery.terminal/issues/545) * fix selection on double click on cmd * fix parse_options [#547](https://github.com/jcubic/jquery.terminal/issues/547) * fix style of links with wcwidth [#544](https://github.com/jcubic/jquery.terminal/issues/544) * fix copy of empty lines in output [#548](https://github.com/jcubic/jquery.terminal/issues/548) ## 2.9.0 ### Features * allow to return a promise from greetings function [#531](https://github.com/jcubic/jquery.terminal/issues/531) * call onClear before clear and allow to cancel [#527](https://github.com/jcubic/jquery.terminal/issues/527) * new renderHandler option [#526](https://github.com/jcubic/jquery.terminal/issues/526) * allow to echo DOM nodes and jQuery objects [#526](https://github.com/jcubic/jquery.terminal/issues/526) * handle broken images in terminal and less (svg and error message respectively) * terminal have `terminal-less` class when `less` runs * pipe extension monkey patch terminal like echo newline, and it allow to use standard interpreter (old API work the same). ### Bugfix * fix links from formatters in cmd * fix images from formatters in cmd [#519](https://github.com/jcubic/jquery.terminal/issues/519) * fix less [#522](https://github.com/jcubic/jquery.terminal/issues/522) * fix recursive error when echo finalize throwed exception [#524](https://github.com/jcubic/jquery.terminal/issues/524) * fix prism - xml nested formatting and weird wrapping [#523](https://github.com/jcubic/jquery.terminal/issues/523), [#410](https://github.com/jcubic/jquery.terminal/issues/410) * limit number of characters in click on exception line [#525](https://github.com/jcubic/jquery.terminal/issues/525) * fix less search clear on resize [#528](https://github.com/jcubic/jquery.terminal/issues/528) * fix less search second instance (move one line to bottom) * don't delay backspace by default on Desktop + fix delay key check [#532](https://github.com/jcubic/jquery.terminal/issues/532) * fix pipe when argument is pipe in quote `echo "|"` * fix display_position (click on cmd) when using prism + unix formatting [#533](https://github.com/jcubic/jquery.terminal/issues/533) * allow path in URL for links and images * fix multiple issues with less plugin * few fixes to pipe * fix echo array after refresh [#540](https://github.com/jcubic/jquery.terminal/issues/540) * fix apply formatters in update [#543](https://github.com/jcubic/jquery.terminal/issues/543) * fix pause on login when using callback [#538](https://github.com/jcubic/jquery.terminal/issues/538) ## 2.8.0 ### Feature * new events `onBeforeLogin`, `onAfterLogin`, `onBeforeEcho` and `onAfterEcho` * inherit of style in nesting formatter (with flag `__inherit__ = true` on `nested_formatting`) [#513](https://github.com/jcubic/jquery.terminal/issues/513) * image formatting (less with images [#515](https://github.com/jcubic/jquery.terminal/issues/515)) * new `echo_command` API method (for echo_newline default action) * mobile delete disabled by default + option toggle [#506](https://github.com/jcubic/jquery.terminal/issues/506) ### Bugfix * add missing `onAfterCommand` and `onBeforeCommand` to d.ts file * fix Emoji [#514](https://github.com/jcubic/jquery.terminal/issues/514) * fix nesting with prism formatter ## 2.7.1 ### Bugfix * fix invoking methods by typing it into terminal [#512](https://github.com/jcubic/jquery.terminal/issues/512) * don't remove extended command when using echo with `exec: false` ## 2.7.0 ### Breaking/Feature * all classes are prefixed with `cmd` or `terminal` except `.token` (PrimsJS internals) and `.emoji` (this may be feature that fix some bugs, that also may break user code - but it's internal html structure and it's not documented as API) [#510](https://github.com/jcubic/jquery.terminal/issues/510) ### Bugfix * fix issue with space in IE and Edge [#507](https://github.com/jcubic/jquery.terminal/issues/507) * multiple bracket escaping issues [#505](https://github.com/jcubic/jquery.terminal/issues/505) * fix paste of images [#505](https://github.com/jcubic/jquery.terminal/issues/503) * fix xml formatter in Prism (regression) [#410](https://github.com/jcubic/jquery.terminal/issues/410) ## 2.6.3 ### Bugfix * fix mobile keypress invocation when no keypress (Android) * fix sizing issue with underscores [#501](https://github.com/jcubic/jquery.terminal/issues/501) ## 2.6.2 ### Bugfix * fix CTRL+C when terminal is not in focus (it should bypass enabled flag only when select text is inside terminal) [#499](https://github.com/jcubic/jquery.terminal/issues/499) * fix keepWord option in echo of last line [#497](https://github.com/jcubic/jquery.terminal/issues/497) * fix broken formatting in Prism [#496](https://github.com/jcubic/jquery.terminal/issues/496) ## 2.6.1 ### Bugfix * fix sourcemaps * fix prism + `--size` * fix echo double slashes * escape options to `$.terminal.format` (default to `true` - same behavior) to fix previous error ## 2.6.0 ### Features * new option `mobileIngoreAutoSpace` to fix issue on Android when typing keys: `, ) .` (default empty array) ### Bugfix * fix hold+backspace on command line with whitespace * fix context menu on Firefox [#494](https://github.com/jcubic/jquery.terminal/issues/494) ## 2.5.2 ### Bugfix * fix CTR+C when inside of single echo output is selected * fix paste + key on Mac/Chrome [#493](https://github.com/jcubic/jquery.terminal/issues/493) ## 2.5.1 ### Bugfix * fix 1px black space in style of selection after prism token * additional validate instead of just throw and capture JSON errors in format function (devtools improvement) * fix typescript types for version 3.3.29 and freeze the version ## 2.5.0 ### Features * Better API option `doubleTabEchoCommand` so you don't need to call `echo_command()` function in `doubleTab`. * new API `Cmd::column(boolean): number` * moving cursor up down in multiline command (like in Chrome Dev tools) ### Bugfix * fix wrong array detection in completion when array passed across iframes * fix prism.js and emoji.js dependencies when run with webpack * fix `keepWord` option for echo (`iterate_formatting` function that is called by `split_equal`) [#491](https://github.com/jcubic/jquery.terminal/issues/491) * fix press key after hold different key [#488](https://github.com/jcubic/jquery.terminal/issues/488) * fix echo empty line on longer lines (issue only happen in examples page in scheme inside dialog) * fix for jQuery UI dialog visibility change detection * fix hidden cursor in FireFox ## 2.4.1 ### Bugfix * show terminal content after it's resized when initially not visible (fix jumping of text) * fix pipe when using read + echo in first command and read in next * fix issue with jumping of terminal on keypress [#486](https://github.com/jcubic/jquery.terminal/issues/486) * fix hold key when key change fast (manifested by jumping to address bar on ALT+D) [#485](https://github.com/jcubic/jquery.terminal/issues/485) * fix scroll page when terminal don't have scrollbar [#484](https://github.com/jcubic/jquery.terminal/issues/484) * fix issue with call `.complete(['cd']);` because of default "clear" (moved code outside of `complete`) * fix Prism formatter when highlighted code have brackets * fix few async prompt issues including [#474](https://github.com/jcubic/jquery.terminal/issues/474) ## 2.4.0 ### Features * improvements to performance of rendering and navigating longer command lines * CTRL+C now retain newlines inside cmd and terminal output (modern browsers only) * more control over server side calls by using invokeMethods option in echo * warn users when they try to complete commands with newlines and word complete is set ### Bugfix * fix scrollbar flicker on right click on right/bottom edge of terminal when no scrollbar * fix text selections on multi line text without line breaks * fix small bugs in animations (replace all of them with box-shadow) * debounce HOLD+ARROWS (left/right) so they are usable again * fix exception when completion characters not safe for regular exception ## 2.3.0 ### Features * add experimental `$.terminal.pipe` function * allow to return string from onPaste (not only a promise) * add CTRL+Home and CTRL+End keys + HOME and END move cursor to the end and beginning of the line [#479](https://github.com/jcubic/jquery.terminal/issues/479) * zoom page when using mousewheel + CTRL key (browser default) [#468](https://github.com/jcubic/jquery.terminal/issues/468) * allow to set attributes from formatting with filtering options (to prevent unwanted onclick or other attrs by echo untrusted text) [#472](https://github.com/jcubic/jquery.terminal/issues/472) ### Bugfix * fix selecting whole text of single .cmd line * fix double call of async prompt with async interpreter [#474](https://github.com/jcubic/jquery.terminal/issues/474) * fix async + RPC + exec + no system.describe [#475](https://github.com/jcubic/jquery.terminal/issues/475) * fix describe === false (exception in js and typscript definition) * don't pause terminal when user code return result of calling terminal::read() * fix jumping while using up/down arrows [#477](https://github.com/jcubic/jquery.terminal/issues/477) [#478](https://github.com/jcubic/jquery.terminal/issues/478) * fix issue with echo brackets inside formatting when using unix formatting [#470](https://github.com/jcubic/jquery.terminal/issues/470) * fix wrong `&quote;` entity in formatting tag data-text attribute (it should be `&quot;`) ## 2.2.0 ### Features * Handle unclosed entities [#462](https://github.com/jcubic/jquery.terminal/issues/462) ### Bugfix * don't complete default commands as argument [#465](https://github.com/jcubic/jquery.terminal/issues/465) * don't show links in echo command + format links inside formatting [#464](https://github.com/jcubic/jquery.terminal/issues/464) * fix calling set_mask in onPop * fix visibility change when terminal have `position:fixed` [#466](https://github.com/jcubic/jquery.terminal/issues/466) * echo without argument or with empty string - to create blank line [#467](https://github.com/jcubic/jquery.terminal/issues/467) ## 2.1.2 ### Bugfix * remove bugfix for [#402](https://github.com/jcubic/jquery.terminal/issues/402) that s