tonsky / FiraCode

Free monospaced font with programming ligatures
SIL Open Font License 1.1
76.58k stars 3.09k forks source link

Future ideas #36

Open tonsky opened 9 years ago

tonsky commented 9 years ago

Markdown: ## ### #### URL: :// :/// Haskell: <* <+ <$ $> *> +>

tonsky commented 9 years ago

{{ }} (templates)

tonsky commented 9 years ago

{-# #-} (Haskell pragmas) <-> ?

tonsky commented 9 years ago

Probably return standard fi and fl but keep them double-width

tonsky commented 9 years ago

!!! is pretty common

ltlollo commented 9 years ago

Hi, yesterday i wrote a script to collect common expressions on various projects scattered around my HD; these are the missing operators that I use the most:

Also I made a repo that gathers expressions and operators across some big projects, https://github.com/ltlollo/S. I hope it' useful.

tonsky commented 9 years ago

Thanks! I considered these combinations, but didn’t end up with any meaningful visual ideas for them. Maybe you have ideas?

On Sun, Aug 30, 2015 at 9:19 PM ltlollo notifications@github.com wrote:

Hi, yesterday i wrote a script to collect common expressions on various projects scattered around my HD; these are the missing operators that I use the most:

  • ()
  • += (from +=, -=, /=, ...)
  • [](from [], [&], [=])
  • {}

Also I made a repo that gathers expressions and operators across some big projects, https://github.com/ltlollo/S. I hope it' useful.

— Reply to this email directly or view it on GitHub https://github.com/tonsky/FiraCode/issues/36#issuecomment-136153142.

ltlollo commented 9 years ago

+= : sould probably just be + closer to = and aligned, as the other operation on self [], {}, [=] and [&] could have could have end point joined together, except maybe for [], that's also list in haskell

as a demo of my amazing gimp skills: example

tonsky commented 9 years ago

What’s [=] and [&] by the way?

On Sun, Aug 30, 2015 at 10:06 PM ltlollo notifications@github.com wrote:

+= : sould probably just be + closer to = and aligned, as the other operation on self [], {}, [=] and [&] could have could have end point joined together, except maybe for [], that's also list in haskell

as a demo of my amazing gimp skills: example http://imgur.com/1p2ODHB

— Reply to this email directly or view it on GitHub https://github.com/tonsky/FiraCode/issues/36#issuecomment-136156166.

ltlollo commented 9 years ago

they are lambda captures in c++, http://en.cppreference.com/w/cpp/language/lambda using [] in a lambda makes it a normal function auto fun = [](a) -> b { ... }; is the same as b fun(a){...} while with [&] and [=] means you can access variables declared outside of the lambda either by reference [&] or by copy [=]. ex: int i = 0; auto fun = [=](...){ return i; };

ltlollo commented 9 years ago

they are lists of captured parameters, but [&]/[=] could be read as box the environment by reference/value

tonsky commented 9 years ago

The only other ligature I’ve found that would be useful for R is %>%, which is used for piping. Also, I believe ## is used for introducing comments.

tonsky commented 8 years ago

Clojure’s :>> (from condp)

tonsky commented 8 years ago

Scala’s ??? (http://alvinalexander.com/scala/what-does-three-question-marks-in-scala-mean)

HalosGhost commented 8 years ago

I'd like to throw in support for all the rest of the assignment operators in C (and &&= for symmetry).

*=, +=, -=, &=, &&=, %=

I'd also add my support for the rest of the operators from Haskell's Prelude (and a few for symmetry):

^^, $!, <*, <$, <+, +>, $>, *>, [] and ().

I would advocate for () and [] to be similarly stylized to <>.

Haskellian Pragmas ({-# and #-}) would be much appreciated as well!

tonsky commented 8 years ago

+>

ghost commented 8 years ago

Javascript !==

gusaiani commented 8 years ago

+1 to !== in js

tonsky commented 8 years ago

Hey, it's already there guys

-----Original Message----- From: "Gustavo Saiani" notifications@github.com Sent: ‎18.‎10.‎2015 2:14 To: "tonsky/FiraCode" FiraCode@noreply.github.com Cc: "Nikita Prokopov" prokopov@gmail.com Subject: Re: [FiraCode] Future ideas (#36)

+1 to !== in js — Reply to this email directly or view it on GitHub.

gusaiani commented 8 years ago

@tonsky Thanks for pointing it out. I don’t know. It may just be Atom. I'm using 1.2, which does render a lot of glyphs perfectly. I reinstalled FiraCode .6 but still no !== in Atom, or |=. Anyway...seems like it’s not the font's problem. Thanks again. It’s so great to use your ligatures.

tonsky commented 8 years ago

Yep. It’s probably tokenization issue. It can’t apply ligature if != and second = are in different spans

On Sun, Oct 18, 2015 at 5:45 PM Gustavo Saiani notifications@github.com wrote:

@tonsky https://github.com/tonsky Thanks for pointing it out. I don’t know. It may just be Atom. I'm using 1.2, which does render a lot of glyphs perfectly. I reinstalled FiraCode .6 but still no !== in Atom, or |=. Anyway...seems like it’s not the font's problem. Thanks again. It’s so great to use your ligatures.

— Reply to this email directly or view it on GitHub https://github.com/tonsky/FiraCode/issues/36#issuecomment-149005401.

ghost commented 8 years ago

@tonsky thanks for the tip. Turns out it is a problem with Atom's javascript highlighter. Using the language-javascript-jsx package works much better.

gusaiani commented 8 years ago

Thanks @johnmuhl. Got it to work. Installed language-javascript-jsx and file-types packages. This last one allowed me to set a grammar(?) package to all files of a certain extension, etc. Then in atom's confg.cson, I added:

"file-types":
  "source.js": "language-javascript-jsx"

and that did it.

Hope this helps someone and thanks again.

tonsky commented 8 years ago

;;;

weavejester commented 8 years ago

A ligature for Clojure's .- syntax for attributes might be useful. The ligature could look like ·-.

ghost commented 8 years ago

~>

ianp commented 8 years ago

For Scala: |@|, |+|, and \/ would be good to have, also ~> but that's already been mentioned a few times!

Also, is there a way to contribute without having to purchase a copy of Glyphs?

13h3r commented 8 years ago

Also there are <:, >: and <% in scala

tonsky commented 8 years ago

I wonder if Scala contributes more to ligatures than Haskell. Perl definitely hold third place

On Tue, Mar 22, 2016 at 11:46 AM Alexey Romanchuk notifications@github.com wrote:

Also there are <:, >: and <% in scala

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/tonsky/FiraCode/issues/36#issuecomment-199722490

tomByrer commented 8 years ago

JS's lodash/underscore/ERB use <% %> for templates. https://lodash.com/docs#template

honnibal commented 8 years ago

I'd love to see lambda as λ, particularly for Python.

I'd be in favour of the other greek letters as well, although I figure they'd be more controversial.

tonsky commented 8 years ago

@honnibal this would change indentation too much, which is against FC principles

emilkaae commented 7 years ago

I love almost all aspects of Fira Code; I think it is really readable and uniform for writing code. I have a problem with the ligatures for #, ##, ### etc. for markdown: I cannot decide the heading level at a glance (like I usually can), but have to either count the dashes and subtract one (wtf?) or sieve through with the cursor. I'd really appreciate if the markdown features were toned down.

This particular issue has made me try Monoid for markdown editing, although it takes a little getting used to as it is much more narrow.

tonsky commented 7 years ago

@emilkaae I know what are you talking about. I’ll figure something out #287

danbeck commented 6 years ago

I would love to have a ligature for the "return" keyword. For example: ↳

PEZ commented 5 years ago

Clojure: Lambda ligature for (fn, something like

It would maybe call for something for #( as well? ƛ(?

tonsky commented 5 years ago

Unfortunately wouldn’t work, as it has to be 2-char wide (same width as fn)

PEZ commented 5 years ago

It'll have to be a Phat Lambda™ then :smile:

Herteby commented 5 years ago

Elm, Haskell and others use (\ x -> x) as lambda. How about turning (\ into ?

tonsky commented 5 years ago

(\ might conflict with regexes, I think.

RubenVerg commented 4 years ago

I wonder if Scala contributes more to ligatures than Haskell. Perl definitely hold third place

challenge: someone make a language which has 1000000 ligatures for basic stuff, like addition is ->+<- or something (that means,

1 ->+<- [ 8 ->√<- 3 ]

(returns 3)

akuklev commented 3 years ago

For mathematical texts (mainly in theorem provers) the following characters would be desirable:

Rarely, combining diacritics for latin and greek letters are also used, namely dot, right arrow, right harpoon, tilde, overline and underline: vector v⃑ or or v⃗., and its derivative v⃗̇.

timwisefmg commented 2 years ago

I'd love to see lambda as λ, particularly for Python.

I'd be in favour of the other greek letters as well, although I figure they'd be more controversial.

Would love to see this for Haskell ('\' as 'λ')