1
1
mirror of https://github.com/tonsky/FiraCode.git synced 2024-11-20 19:48:59 +03:00

Numbersign sequences #1014

This commit is contained in:
Nikita Prokopov 2020-05-15 16:16:30 +02:00
parent 3e6f5d195d
commit cf2979c97b
7 changed files with 3864 additions and 3474 deletions

File diff suppressed because one or more lines are too long

View File

@ -2,64 +2,64 @@ lookup equal_arrows {
# Disable |||
ignore sub bar bar' bar equal;
ignore sub bar bar' equal;
ignore sub [equal_start.darw equal_middle.darw] bar' bar bar;
ignore sub [equal_start.seq equal_middle.seq] bar' bar bar;
# equal middle & end
sub [less_start.darw less_less_start.darw less_middle.darw less_less_middle.darw greater_start.darw greater_greater_start.darw greater_middle.darw greater_greater_middle.darw bar_start.darw bar_bar_start.darw bar_middle.darw bar_bar_middle.darw slash_start.darw slash_middle.darw colon_middle.darw exclam_middle.darw equal_start.darw equal_middle.darw] equal' [equal less greater bar slash colon exclam] by equal_middle.darw;
sub [less_equal_start.seq less_less_equal_start.seq less_equal_middle.seq less_less_equal_middle.seq greater_equal_start.seq greater_greater_equal_start.seq greater_equal_middle.seq greater_greater_equal_middle.seq bar_equal_start.seq bar_bar_equal_start.seq bar_equal_middle.seq bar_bar_equal_middle.seq slash_equal_start.seq slash_equal_middle.seq colon_equal_middle.seq exclam_equal_middle.seq equal_start.seq equal_middle.seq] equal' [equal less greater bar slash colon exclam] by equal_middle.seq;
sub [less_start.darw less_less_start.darw less_middle.darw less_less_middle.darw greater_start.darw greater_greater_start.darw greater_middle.darw greater_greater_middle.darw bar_start.darw bar_bar_start.darw bar_middle.darw bar_bar_middle.darw slash_start.darw slash_middle.darw colon_middle.darw exclam_middle.darw equal_start.darw equal_middle.darw] equal' by equal_end.darw;
sub [less_equal_start.seq less_less_equal_start.seq less_equal_middle.seq less_less_equal_middle.seq greater_equal_start.seq greater_greater_equal_start.seq greater_equal_middle.seq greater_greater_equal_middle.seq bar_equal_start.seq bar_bar_equal_start.seq bar_equal_middle.seq bar_bar_equal_middle.seq slash_equal_start.seq slash_equal_middle.seq colon_equal_middle.seq exclam_equal_middle.seq equal_start.seq equal_middle.seq] equal' by equal_end.seq;
# double middles
sub [equal_start.darw equal_middle.darw] less.spacer less' equal by less_less_middle.darw;
sub [equal_start.darw equal_middle.darw] less' less equal by less.spacer;
sub [equal_start.darw equal_middle.darw] greater.spacer greater' equal by greater_greater_middle.darw;
sub [equal_start.darw equal_middle.darw] greater' greater equal by greater.spacer;
sub [equal_start.darw equal_middle.darw] bar.spacer bar' equal by bar_bar_middle.darw;
sub [equal_start.darw equal_middle.darw] bar' bar equal by bar.spacer;
sub [equal_start.seq equal_middle.seq] less.spacer less' equal by less_less_equal_middle.seq;
sub [equal_start.seq equal_middle.seq] less' less equal by less.spacer;
sub [equal_start.seq equal_middle.seq] greater.spacer greater' equal by greater_greater_equal_middle.seq;
sub [equal_start.seq equal_middle.seq] greater' greater equal by greater.spacer;
sub [equal_start.seq equal_middle.seq] bar.spacer bar' equal by bar_bar_equal_middle.seq;
sub [equal_start.seq equal_middle.seq] bar' bar equal by bar.spacer;
# single middles
sub [equal_start.darw equal_middle.darw] less' equal by less_middle.darw;
sub [equal_start.darw equal_middle.darw] greater' equal by greater_middle.darw;
sub [equal_start.darw equal_middle.darw] bar' equal by bar_middle.darw;
sub [equal_start.darw equal_middle.darw] slash' equal by slash_middle.darw;
sub [equal_start.darw equal_middle.darw] colon' equal by colon_middle.darw;
sub [equal_start.darw equal_middle.darw] exclam' equal by exclam_middle.darw;
sub [equal_start.seq equal_middle.seq] less' equal by less_equal_middle.seq;
sub [equal_start.seq equal_middle.seq] greater' equal by greater_equal_middle.seq;
sub [equal_start.seq equal_middle.seq] bar' equal by bar_equal_middle.seq;
sub [equal_start.seq equal_middle.seq] slash' equal by slash_equal_middle.seq;
sub [equal_start.seq equal_middle.seq] colon' equal by colon_equal_middle.seq;
sub [equal_start.seq equal_middle.seq] exclam' equal by exclam_equal_middle.seq;
# double ends
sub [equal_start.darw equal_middle.darw] less.spacer less' by less_less_end.darw;
sub [equal_start.darw equal_middle.darw] less' less by less.spacer;
sub [equal_start.darw equal_middle.darw] greater.spacer greater' by greater_greater_end.darw;
sub [equal_start.darw equal_middle.darw] greater' greater by greater.spacer;
sub [equal_start.darw equal_middle.darw] bar.spacer bar' by bar_bar_end.darw;
sub [equal_start.darw equal_middle.darw] bar' bar by bar.spacer;
sub [equal_start.seq equal_middle.seq] less.spacer less' by less_less_equal_end.seq;
sub [equal_start.seq equal_middle.seq] less' less by less.spacer;
sub [equal_start.seq equal_middle.seq] greater.spacer greater' by greater_greater_equal_end.seq;
sub [equal_start.seq equal_middle.seq] greater' greater by greater.spacer;
sub [equal_start.seq equal_middle.seq] bar.spacer bar' by bar_bar_equal_end.seq;
sub [equal_start.seq equal_middle.seq] bar' bar by bar.spacer;
# single ends
sub [equal_start.darw equal_middle.darw] less' by less_end.darw;
sub [equal_start.darw equal_middle.darw] greater' by greater_end.darw;
sub [equal_start.darw equal_middle.darw] bar' by bar_end.darw;
sub [equal_start.darw equal_middle.darw] slash' by slash_end.darw;
sub [equal_start.seq equal_middle.seq] less' by less_equal_end.seq;
sub [equal_start.seq equal_middle.seq] greater' by greater_equal_end.seq;
sub [equal_start.seq equal_middle.seq] bar' by bar_equal_end.seq;
sub [equal_start.seq equal_middle.seq] slash' by slash_equal_end.seq;
# double beginnings
sub less.spacer less' equal by less_less_start.darw;
sub less.spacer less' equal by less_less_equal_start.seq;
sub less' less equal by less.spacer;
sub greater.spacer greater' equal by greater_greater_start.darw;
sub greater.spacer greater' equal by greater_greater_equal_start.seq;
sub greater' greater equal by greater.spacer;
sub bar.spacer bar' equal by bar_bar_start.darw;
sub bar.spacer bar' equal by bar_bar_equal_start.seq;
sub bar' bar equal by bar.spacer;
# Disable >=< #548
sub greater' equal less [equal less] by greater_start.darw;
sub greater' equal less [equal less] by greater_equal_start.seq;
ignore sub greater' equal less;
# Disable =< #479 #468 #424 #406 #355 #305
sub equal' less [equal less] by equal_start.darw;
sub equal' less [equal less] by equal_start.seq;
ignore sub equal' less;
# single beginnings
sub less' equal by less_start.darw;
sub greater' equal by greater_start.darw;
sub bar' equal by bar_start.darw;
sub slash' equal by slash_start.darw;
sub equal' [equal less greater bar colon exclam slash] by equal_start.darw;
sub less' equal by less_equal_start.seq;
sub greater' equal by greater_equal_start.seq;
sub bar' equal by bar_equal_start.seq;
sub slash' equal by slash_equal_start.seq;
sub equal' [equal less greater bar colon exclam slash] by equal_start.seq;
} equal_arrows;

View File

@ -1,54 +1,53 @@
### Arbitrary-length arrows #346
lookup hyphen_arrows {
# Disable |||
ignore sub bar bar' bar hyphen;
ignore sub bar bar' hyphen;
ignore sub [hyphen_start.arw hyphen_middle.arw] bar' bar bar;
ignore sub [hyphen_start.seq hyphen_middle.seq] bar' bar bar;
# hyphen middle & end
sub [less_start.arw less_less_start.arw less_middle.arw less_less_middle.arw greater_start.arw greater_greater_start.arw greater_middle.arw greater_greater_middle.arw bar_start.arw bar_bar_start.arw bar_middle.arw bar_bar_middle.arw hyphen_start.arw hyphen_middle.arw] hyphen' [hyphen less greater bar] by hyphen_middle.arw;
sub [less_hyphen_start.seq less_less_hyphen_start.seq less_hyphen_middle.seq less_less_hyphen_middle.seq greater_hyphen_start.seq greater_greater_hyphen_start.seq greater_hyphen_middle.seq greater_greater_hyphen_middle.seq bar_hyphen_start.seq bar_bar_hyphen_start.seq bar_hyphen_middle.seq bar_bar_hyphen_middle.seq hyphen_start.seq hyphen_middle.seq] hyphen' [hyphen less greater bar] by hyphen_middle.seq;
sub [less_start.arw less_less_start.arw less_middle.arw less_less_middle.arw greater_start.arw greater_greater_start.arw greater_middle.arw greater_greater_middle.arw bar_start.arw bar_bar_start.arw bar_middle.arw bar_bar_middle.arw hyphen_start.arw hyphen_middle.arw] hyphen' by hyphen_end.arw;
sub [less_hyphen_start.seq less_less_hyphen_start.seq less_hyphen_middle.seq less_less_hyphen_middle.seq greater_hyphen_start.seq greater_greater_hyphen_start.seq greater_hyphen_middle.seq greater_greater_hyphen_middle.seq bar_hyphen_start.seq bar_bar_hyphen_start.seq bar_hyphen_middle.seq bar_bar_hyphen_middle.seq hyphen_start.seq hyphen_middle.seq] hyphen' by hyphen_end.seq;
# double middles
sub [hyphen_start.arw hyphen_middle.arw] less.spacer less' hyphen by less_less_middle.arw;
sub [hyphen_start.arw hyphen_middle.arw] less' less hyphen by less.spacer;
sub [hyphen_start.arw hyphen_middle.arw] greater.spacer greater' hyphen by greater_greater_middle.arw;
sub [hyphen_start.arw hyphen_middle.arw] greater' greater hyphen by greater.spacer;
sub [hyphen_start.arw hyphen_middle.arw] bar.spacer bar' hyphen by bar_bar_middle.arw;
sub [hyphen_start.arw hyphen_middle.arw] bar' bar hyphen by bar.spacer;
sub [hyphen_start.seq hyphen_middle.seq] less.spacer less' hyphen by less_less_hyphen_middle.seq;
sub [hyphen_start.seq hyphen_middle.seq] less' less hyphen by less.spacer;
sub [hyphen_start.seq hyphen_middle.seq] greater.spacer greater' hyphen by greater_greater_hyphen_middle.seq;
sub [hyphen_start.seq hyphen_middle.seq] greater' greater hyphen by greater.spacer;
sub [hyphen_start.seq hyphen_middle.seq] bar.spacer bar' hyphen by bar_bar_hyphen_middle.seq;
sub [hyphen_start.seq hyphen_middle.seq] bar' bar hyphen by bar.spacer;
# single middles
sub [hyphen_start.arw hyphen_middle.arw] less' hyphen by less_middle.arw;
sub [hyphen_start.arw hyphen_middle.arw] greater' hyphen by greater_middle.arw;
sub [hyphen_start.arw hyphen_middle.arw] bar' hyphen by bar_middle.arw;
sub [hyphen_start.seq hyphen_middle.seq] less' hyphen by less_hyphen_middle.seq;
sub [hyphen_start.seq hyphen_middle.seq] greater' hyphen by greater_hyphen_middle.seq;
sub [hyphen_start.seq hyphen_middle.seq] bar' hyphen by bar_hyphen_middle.seq;
# double ends
sub [hyphen_start.arw hyphen_middle.arw] less.spacer less' by less_less_end.arw;
sub [hyphen_start.arw hyphen_middle.arw] less' less by less.spacer;
sub [hyphen_start.arw hyphen_middle.arw] greater.spacer greater' by greater_greater_end.arw;
sub [hyphen_start.arw hyphen_middle.arw] greater' greater by greater.spacer;
sub [hyphen_start.arw hyphen_middle.arw] bar.spacer bar' by bar_bar_end.arw;
sub [hyphen_start.arw hyphen_middle.arw] bar' bar by bar.spacer;
sub [hyphen_start.seq hyphen_middle.seq] less.spacer less' by less_less_hyphen_end.seq;
sub [hyphen_start.seq hyphen_middle.seq] less' less by less.spacer;
sub [hyphen_start.seq hyphen_middle.seq] greater.spacer greater' by greater_greater_hyphen_end.seq;
sub [hyphen_start.seq hyphen_middle.seq] greater' greater by greater.spacer;
sub [hyphen_start.seq hyphen_middle.seq] bar.spacer bar' by bar_bar_hyphen_end.seq;
sub [hyphen_start.seq hyphen_middle.seq] bar' bar by bar.spacer;
# single ends
sub [hyphen_start.arw hyphen_middle.arw] less' by less_end.arw;
sub [hyphen_start.arw hyphen_middle.arw] greater' by greater_end.arw;
sub [hyphen_start.arw hyphen_middle.arw] bar' by bar_end.arw;
sub [hyphen_start.seq hyphen_middle.seq] less' by less_hyphen_end.seq;
sub [hyphen_start.seq hyphen_middle.seq] greater' by greater_hyphen_end.seq;
sub [hyphen_start.seq hyphen_middle.seq] bar' by bar_hyphen_end.seq;
# double beginnings
sub less.spacer less' hyphen by less_less_start.arw;
sub less.spacer less' hyphen by less_less_hyphen_start.seq;
sub less' less hyphen by less.spacer;
sub greater.spacer greater' hyphen by greater_greater_start.arw;
sub greater.spacer greater' hyphen by greater_greater_hyphen_start.seq;
sub greater' greater hyphen by greater.spacer;
sub bar.spacer bar' hyphen by bar_bar_start.arw;
sub bar.spacer bar' hyphen by bar_bar_hyphen_start.seq;
sub bar' bar hyphen by bar.spacer;
# single beginnings
sub less' hyphen by less_start.arw;
sub greater' hyphen by greater_start.arw;
sub bar' hyphen by bar_start.arw;
sub hyphen' [hyphen less greater bar] by hyphen_start.arw;
sub less' hyphen by less_hyphen_start.seq;
sub greater' hyphen by greater_hyphen_start.seq;
sub bar' hyphen by bar_hyphen_start.seq;
sub hyphen' [hyphen less greater bar] by hyphen_start.seq;
} hyphen_arrows;

View File

@ -0,0 +1,10 @@
lookup numbersigns {
# middle parts
sub [numbersign_start.seq numbersign_middle.seq] numbersign' numbersign by numbersign_middle.seq;
# ends
sub [numbersign_start.seq numbersign_middle.seq] numbersign' by numbersign_end.seq;
# beginnings
sub numbersign' numbersign by numbersign_start.seq;
} numbersigns;

View File

@ -1,14 +0,0 @@
lookup underscore_arrows {
# middle parts
sub [underscore_start.uarw underscore_middle.uarw] bar' underscore by bar_middle.uarw;
sub [underscore_start.uarw underscore_middle.uarw bar_middle.uarw] underscore' bar underscore by underscore_middle.uarw;
sub [underscore_start.uarw underscore_middle.uarw bar_middle.uarw] underscore' underscore by underscore_middle.uarw;
# ends
sub [underscore_start.uarw underscore_middle.uarw bar_middle.uarw] underscore' by underscore_end.uarw;
# beginnings
sub underscore' bar underscore by underscore_start.uarw;
sub underscore' underscore by underscore_start.uarw;
} underscore_arrows;

View File

@ -0,0 +1,14 @@
lookup underscores {
# middle parts
sub [underscore_start.seq underscore_middle.seq] bar' underscore by bar_underscore_middle.seq;
sub [underscore_start.seq underscore_middle.seq bar_underscore_middle.seq] underscore' bar underscore by underscore_middle.seq;
sub [underscore_start.seq underscore_middle.seq bar_underscore_middle.seq] underscore' underscore by underscore_middle.seq;
# ends
sub [underscore_start.seq underscore_middle.seq bar_underscore_middle.seq] underscore' by underscore_end.seq;
# beginnings
sub underscore' bar underscore by underscore_start.seq;
sub underscore' underscore by underscore_start.seq;
} underscores;

View File

@ -147,6 +147,26 @@ r 0 123456789 & && $ <$ <$> $> @ <= >=
||--- -||--- --||--- ---||--- ----||---
||---- -||---- --||---- ---||---- ----||----
<<< -<<< --<<< ---<<< ----<<<
<<<- -<<<- --<<<- ---<<<- ----<<<-
<<<-- -<<<-- --<<<-- ---<<<-- ----<<<--
<<<--- -<<<--- --<<<--- ---<<<--- ----<<<---
<<<---- -<<<---- --<<<---- ---<<<---- ----<<<----
>>> ->>> -->>> --->>> ---->>>
>>>- ->>>- -->>>- --->>>- ---->>>-
>>>-- ->>>-- -->>>-- --->>>-- ---->>>--
>>>--- ->>>--- -->>>--- --->>>--- ---->>>---
>>>---- ->>>---- -->>>---- --->>>---- ---->>>----
||| -||| --||| ---||| ----|||
|||- -|||- --|||- ---|||- ----|||-
|||-- -|||-- --|||-- ---|||-- ----|||--
|||--- -|||--- --|||--- ---|||--- ----|||---
|||---- -|||---- --|||---- ---|||---- ----|||----
# Equal-based arrows
<====================================================<<
<= <== <=== <==== ====> ===> ==> =>
>= >== >=== >==== ====< ===< ==< =<
@ -184,24 +204,6 @@ r 0 123456789 & && $ <$ <$> $> @ <= >=
|=== =|=== ==|=== ===|=== ====|===
|==== =|==== ==|==== ===|==== ====|====
<< =<< ==<< ===<< ====<<
<<= =<<= ==<<= ===<<= ====<<=
<<== =<<== ==<<== ===<<== ====<<==
<<=== =<<=== ==<<=== ===<<=== ====<<===
<<==== =<<==== ==<<==== ===<<==== ====<<====
>> =>> ==>> ===>> ====>>
>>= =>>= ==>>= ===>>= ====>>=
>>== =>>== ==>>== ===>>== ====>>==
>>=== =>>=== ==>>=== ===>>=== ====>>===
>>==== =>>==== ==>>==== ===>>==== ====>>====
|| =|| ==|| ===|| ====||
||= =||= ==||= ===||= ====||=
||== =||== ==||== ===||== ====||==
||=== =||=== ==||=== ===||=== ====||===
||==== =||==== ==||==== ===||==== ====||====
/ =/ ==/ ===/ ====/
/= =/= ==/= ===/= ====/=
/== =/== ==/== ===/== ====/==
@ -220,10 +222,88 @@ r 0 123456789 & && $ <$ <$> $> @ <= >=
!=== =!=== ==!=== ===!=== ====!===
!==== =!==== ==!==== ===!==== ====!====
<< =<< ==<< ===<< ====<<
<<= =<<= ==<<= ===<<= ====<<=
<<== =<<== ==<<== ===<<== ====<<==
<<=== =<<=== ==<<=== ===<<=== ====<<===
<<==== =<<==== ==<<==== ===<<==== ====<<====
>> =>> ==>> ===>> ====>>
>>= =>>= ==>>= ===>>= ====>>=
>>== =>>== ==>>== ===>>== ====>>==
>>=== =>>=== ==>>=== ===>>=== ====>>===
>>==== =>>==== ==>>==== ===>>==== ====>>====
|| =|| ==|| ===|| ====||
||= =||= ==||= ===||= ====||=
||== =||== ==||== ===||== ====||==
||=== =||=== ==||=== ===||=== ====||===
||==== =||==== ==||==== ===||==== ====||====
// =// ==// ===// ====//
//= =//= ==//= ===//= ====//=
//== =//== ==//== ===//== ====//==
//=== =//=== ==//=== ===//=== ====//===
//==== =//==== ==//==== ===//==== ====//====
:: =:: ==:: ===:: ====::
::= =::= ==::= ===::= ====::=
::== =::== ==::== ===::== ====::==
::=== =::=== ==::=== ===::=== ====::===
::==== =::==== ==::==== ===::==== ====::====
!! =!! ==!! ===!! ====!!
!!= =!!= ==!!= ===!!= ====!!=
!!== =!!== ==!!== ===!!== ====!!==
!!=== =!!=== ==!!=== ===!!=== ====!!===
!!==== =!!==== ==!!==== ===!!==== ====!!====
<<< =<<< ==<<< ===<<< ====<<<
<<<= =<<<= ==<<<= ===<<<= ====<<<=
<<<== =<<<== ==<<<== ===<<<== ====<<<==
<<<=== =<<<=== ==<<<=== ===<<<=== ====<<<===
<<<==== =<<<==== ==<<<==== ===<<<==== ====<<<====
>>> =>>> ==>>> ===>>> ====>>>
>>>= =>>>= ==>>>= ===>>>= ====>>>=
>>>== =>>>== ==>>>== ===>>>== ====>>>==
>>>=== =>>>=== ==>>>=== ===>>>=== ====>>>===
>>>==== =>>>==== ==>>>==== ===>>>==== ====>>>====
||| =||| ==||| ===||| ====|||
|||= =|||= ==|||= ===|||= ====|||=
|||== =|||== ==|||== ===|||== ====|||==
|||=== =|||=== ==|||=== ===|||=== ====|||===
|||==== =|||==== ==|||==== ===|||==== ====|||====
/// =/// ==/// ===/// ====///
///= =///= ==///= ===///= ====///=
///== =///== ==///== ===///== ====///==
///=== =///=== ==///=== ===///=== ====///===
///==== =///==== ==///==== ===///==== ====///====
::: =::: ==::: ===::: ====:::
:::= =:::= ==:::= ===:::= ====:::=
:::== =:::== ==:::== ===:::== ====:::==
:::=== =:::=== ==:::=== ===:::=== ====:::===
:::==== =:::==== ==:::==== ===:::==== ====:::====
!!! =!!! ==!!! ===!!! ====!!!
!!!= =!!!= ==!!!= ===!!!= ====!!!=
!!!== =!!!== ==!!!== ===!!!== ====!!!==
!!!=== =!!!=== ==!!!=== ===!!!=== ====!!!===
!!!==== =!!!==== ==!!!==== ===!!!==== ====!!!====
# Underscore lines
_ __ ___ ____
_|_ __|_ _|__ __|__
_| |_ _||_ __| ___| |__ |___
# Numbersign lines
# ## ### #### ##### ######
# Progress bars
[>----------]
@ -249,15 +329,3 @@ _| |_ _||_ __| ___| |__ |___
#479 #468 #424 #406 #355 #305 =< ==< =<< |=<
#574 :>=
#621 <||>
<<<-<<< <<<--<<< <<<---<<< <<<----<<<
>>>->>> >>>-->>> >>>--->>> >>>---->>>
|||-||| |||--||| |||---||| |||----|||
//- //-- //--- //----
///- ///-- ///--- ///----
<<<=<<< <<<==<<< <<<===<<< <<<====<<<
>>>=>>> >>>==>>> >>>===>>> >>>====>>>
|||=||| |||==||| |||===||| |||====|||
//= //== //=== //====
///= ///== ///=== ///====