diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d2f39e6b..559ae17a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -167,9 +167,9 @@ jobs: strategy: matrix: node-version: [18] # just one as integration tests are about testing in browser - runs-on: [ubuntu] # macos is flaky + runs-on: [ubuntu-22.04] # macos is flaky browser: [chromium, firefox, webkit] - runs-on: ${{ matrix.runs-on }}-latest + runs-on: ${{ matrix.runs-on }} steps: - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }}.x diff --git a/addons/addon-ligatures/src/LigaturesAddon.ts b/addons/addon-ligatures/src/LigaturesAddon.ts index 47fbc323..2bde9cf6 100644 --- a/addons/addon-ligatures/src/LigaturesAddon.ts +++ b/addons/addon-ligatures/src/LigaturesAddon.ts @@ -15,19 +15,22 @@ export interface ITerminalAddon { export class LigaturesAddon implements ITerminalAddon , ILigaturesApi { private readonly _fallbackLigatures: string[]; + private readonly _fontFeatureSettings?: string; private _terminal: Terminal | undefined; private _characterJoinerId: number | undefined; constructor(options?: Partial) { + // Source: calt set from https://github.com/be5invis/Iosevka?tab=readme-ov-file#ligations this._fallbackLigatures = (options?.fallbackLigatures || [ '<--', '<---', '<<-', '<-', '->', '->>', '-->', '--->', '<==', '<===', '<<=', '<=', '=>', '=>>', '==>', '===>', '>=', '>>=', - '<->', '<-->', '<--->', '<---->', '<=>', '<==>', '<===>', '<====>', '-------->', - '<~~', '<~', '~>', '~~>', '::', ':::', '==', '!=', '===', '!==', - ':=', ':-', ':+', '<*', '<*>', '*>', '<|', '<|>', '|>', '+:', '-:', '=:', ':>', - '++', '+++', '', '<--->', '<---->', '<=>', '<==>', '<===>', '<====>', '::', ':::', + '<~~', '', '/>', '~~>', '==', '!=', '/=', '~=', '<>', '===', '!==', '!===', + '<:', ':=', '*=', '*+', '<*', '<*>', '*>', '<|', '<|>', '|>', '+*', '=*', '=:', ':>', + '/*', '*/', '+++', ' ---> * <== <=== <<= <= => =>> ==> ===> >= >>= - * <-> <--> <---> <----> <=> <==> <===> <====> --------> - * <~~ <~ ~> ~~> :: ::: == != === !== - * := :- :+ <* <*> *> <| <|> |> +: -: =: :> - * ++ +++ <---> <----> <=> <==> <===> <====> :: ::: + * <~~ /> ~~> == != /= ~= <> === !== !=== + * <: := *= *+ <* <*> *> <| <|> |> +* =* =: :> + * /* +++ ---> ->- >- >>-', + '=<< =< =<= <== <=== <<= <= => =>> ==> ===> =>= >= >>=', + '<-> <--> <---> <----> <=> <==> <===> <====> :: ::: __', + '<~~ /> ~~> == != /= ~= <> === !== !=== =/= =!=', + '<: := *= *+ <* <*> *> <| <|> |> <. <.> .> +* =* =: :>', + '(* *) /* */ [| |] {| |} ++ +++ \/ /\ |- -|