top | item 31113396

Fig now supports JetBrains IDEs

76 points| michael_fine | 3 years ago |fig.io | reply

65 comments

order
[+] mschrage|3 years ago|reply
Hey HN! Didn't expect to see Fig here this morning.

We just released a new version of Fig that allows users to install a custom input method on macOS. This means we now work with over a dozen new terminals, including all JetBrain IDEs, Alacritty, Kitty, WezTerm and more.

The engineering behind it was surprisingly tricky since these APIs are not as well documented as you'd hope. (Indeed, the best place to look is the C header files [0])

But with a lot of trial and error, we've managed to get an implementation we're happy with. (That said, if anyone has tips on how to install an input method, without requiring a system restart, I'd love to hear them!)

I'll be around all day to answer any questions about how Fig works under the hood!

--

Also just to address some stuff that generally comes up when we're posted on HN:

1. Why is there a login?

Autocomplete is just our first product, and it's part of a suite of tools focused on improving developer experience in the terminal. The idea is that you can configure your developer environment in Fig and then we'll sync it across all of your devices.

2. Is there telemetry?

Yes, but you can opt-out entirely by running a single command.

fig settings telemetry.disabled true

3. How will Fig make money?

Fig will always be free for individuals. Teams pay for Fig for collaboration and discovery of internal scripts and for managing dev environment setup and onboarding.

4. Is there a Linux/Windows version?

We are making really good progress and will have a prototype in the next month or so. See the Github issues for Linux[1] and Windows[2]

[0] https://github.com/phracker/MacOSX-SDKs/blob/master/MacOSX10...

[1] https://github.com/withfig/fig/issues/34

[2] https://github.com/withfig/fig/issues/35

[+] shric|3 years ago|reply
> The idea is that you can configure your developer environment in Fig and then we'll sync it across all of your devices.

What's Fig's target audience? Developers.

Developers have been using a tried and tested way to keep configurations for decades -- dotfiles. We sync them across all our devices using git (or any of a thousand other ways). This is a solved problem and doesn't require email addresses or logins.

[+] ushakov|3 years ago|reply
> Didn't expect to see Fig here this morning.

Yeah yeah right and you just appeared out of nowhere with a 300-word explainer. "Just in case". Stop this shit-show already, everybody knows you're a YC-baked company

YC-baked companies get tips and notifications when they're about to get featured

people are critiquing you below and you're asking HN mods to downrank negative comments to keep up your PR-game

my harsh, but valid criticism of your product ended up at the bottom of page, although it has 20 points and should actually be higher than yours and any other comment, but life's easy when you can cheat a bit!

see yourself: https://imgur.com/a/Z5AZkik

how can a comment with 20+ points be the last one on the page?

[+] spark3k|3 years ago|reply
Of course there's a lot of HN bitterness here. But I like Fig. I've been running my own heavily customised .zshrc for about a decade with loads of bells and whistles in terms of autocomplete and customised prompts and what not and it has been great and I've kept it current with cool new toys.

But I've dumped most of it in the last month for Fig. I like seeing command specific options, relevant to the current context, and in a long list which I can scan and scroll quickly.

I go to documentation MUCH less now and I'm faster with it. And that's most of what I care about.

Commence retaliations...

[+] spoils19|3 years ago|reply
Learn the tools, stay away from the toys. Hundreds of developers have been incredibly productive with a regular shell - there isn't any practical need for a product like Fig. If it were me and I was seeking more productivity from my shell, I would dive into books into how to improve it for myself rather than hook myself to another tool.
[+] unknown|3 years ago|reply

[deleted]

[+] DiabloD3|3 years ago|reply
I don't understand what Fig is actually for. Why would I want a "visual autocomplete" when I already get what I want out of bash-complete + fzf, a more technically complete and understood solution?
[+] mschrage|3 years ago|reply
I think there are two main areas where we improve the default experience.

1. Zero configuration needed to get started.

With Fig, the experience just works out of the box. A lot of developers - especially people less comfortable with the terminal - don't feel confident installing a bunch of 3rd party zsh completions or creating a custom setup.

2. Extensibility.

We've worked really hard to make the experience of writing your own completions very easy and powerful. Lots of teams are using Fig to make internal scripts and CLI tools more ergonomic and discoverable.

In my experience, writing custom shell completion scripts is not very much fun.

[+] ushakov|3 years ago|reply
from what i know the end goal of Fig is to to build a proprietary platform for webapps that run as overlay on top of your terminal

this sounds ridiculous because it is

they can’t drop this shitty idea now, because they took tons of cash from venture capitalists to make it happen

[+] zokier|3 years ago|reply
Do you get rounded corners and soft shadows with bash-complete :)
[+] cyral|3 years ago|reply
This is the first time I've heard of Fig, just downloaded it and it's a hell lot slicker than zsh-autocomplete. It would be great to make the telemetry opt-out more noticeable, preferably on setup, I would not have noticed it unless I saw the comment with the command to run. (Although I now see it's buried in the settings too)
[+] ushakov|3 years ago|reply
agreed! it's so awesome that we now have a proprietary, VC-baked, telemetry-enabled tool that does everything free and open-source zsh-autocomplete can!
[+] brianllamar|3 years ago|reply
Already use fig in my Mac terminal and love the attention JetBrains IDEs are getting with plug-ins. Going to check this out when I need to fire up PyCharm for scheduled script maintenance.
[+] peheje|3 years ago|reply
I don't understand why you need my e-mail during setup.
[+] mschrage|3 years ago|reply
I mentioned this in another comment [0].

> Autocomplete is just our first product, and it's part of a suite of tools focused on improving developer experience in the terminal. The idea is that you can configure your developer environment in Fig and then we'll sync it across all of your devices.

[0] https://news.ycombinator.com/item?id=31113668

[+] zokier|3 years ago|reply
Hacking IME and/or accessibility features to provide shell autocompletion is certainly ... creative solution.
[+] mschrage|3 years ago|reply
One of our core principles is backwards compatibility. We want Fig to be a seamless addition to your existing tools and workflows!

It's taken some creativity on the engineering side, but has been super fun to see what we've been able to build when working with these constraints.

[+] gourneau|3 years ago|reply
Is anyone else getting this warning? I am using macOS 12.3.1, iTerm2 3.4.15 and bash 3.2.57(1)

bash: trap: __bp_install: invalid signal specification

[+] mschrage|3 years ago|reply
Update your iTerm shell integration and the issue should be resolved!

Please run `fig issue` and I'll investigate.

[+] ushakov|3 years ago|reply
Fig is macOS-only, proprietary, requires e-mail and has telemetry

Fig relies on free labour to add completions and does not support open-source completion formats

Fig is VC-funded and at some point will have to generate revenue for it’s investors - at your cost

don’t use Fig!

if you have zsh you can use zsh-autocomplete, which is no worse than Fig

https://github.com/marlonrichert/zsh-autocomplete

edit: this comment was the most popular before HN moderators pinned it down, turns out Fig is YC-sponsored, so i’m not surprised

[+] DandyDev|3 years ago|reply
With the risk of feeding a troll: can I ask you why you're so angry in every comment? You're almost hateful. I want to understand what makes you act like this, why you think the makers of Fig deserve this kind of response and how you think your comments contribute something positive to the discourse here on HN.
[+] sanjayio|3 years ago|reply
Not to mention the possible security vulnerabilities associated with having telemetry on keyboard events.
[+] nickradford|3 years ago|reply
Hey, you've made your point multiple times in this thread - maybe take a rest, drink a glass of water and go for a walk?

Be well.

[+] mschrage|3 years ago|reply
`zsh-autocomplete` is a great tool as well! Some of this is just a matter of personal preference.

I've answered a few of your concerns in a different comment[0].

tl;dr

Autocomplete is just our first product, and it's part of a suite of tools focused on improving developer experience in the terminal. The idea is that you can configure your developer environment in Fig and then we'll sync it across all of your devices.

Fig will always be free for individuals. Teams pay for Fig for collaboration and discovery of internal scripts and for managing dev environment setup and onboarding.

A Linux/Windows version is coming soon. [1] [2]

[0] https://news.ycombinator.com/item?id=31113668.

[1] https://github.com/withfig/fig/issues/34

[2] https://github.com/withfig/fig/issues/35