Hacker News new | ask | show | jobs
by ben-schaaf 1643 days ago
Developer at Sublime HQ here, pleasant surprise to see this stable build reach the front page :)

If you have any questions related to ST or otherwise feel free to ask.

13 comments

Please fix the issue on code folding being based on indentation and not syntax. People regularly write on this issue and it's still not fixed.

That's the only thing that stands between me and buying ST.

I wasn't aware that this is an issue. It seems to me that the existing feature is 'text-based' folding rather than 'code-based'. I wouldn't notice as indentation very closely follows the code block structure in most of the code-bases I edit.

It could be useful to open a feature request for 'code-based' folding, if the existing 'text-based' one is considered to be working as intended. That way we're not fighting over a definition but rather showing demand for a new capability that everyone would agree is absent.

For info, I was talking about this one:

https://github.com/sublimehq/sublime_text/issues/101

Editors like visual studio IDE properly fold code so that it results in a compact layout once it's folded. I would guess indentation-based folding could be made more compact and not take unnecessary lines.

As you can see I'm already assigned to that issue, so we've got something in the works.
Any plan to add support for Remote Development, similar to what VS Code and Jetbrains Gateway offer?
Any plan on developing a database tool? I think it would be a great complement to Sublime Text and Sublime Merge.

I believe Sublime HQ could really bring something in this space, because there are some good existing ones but none are great. Sublime DB could be great :)

Part of the attention to detail we bring is from the fact that we use the tools we build daily. We don't really have a use for a database tool, so I honestly doubt it would be any good.
Well if you ever change your mind, mySQL workbench is the only SQL GUI I've ever liked, and I haven't seen anything good (not electron, not Java, etc.) for postgres.
I understand, that’s pretty sensible. Thanks for your answer!
Have you had any thoughts about how to improve the indentation engine ST uses to handle the common "switch"/"case" statement style? As I understand, it would mainly require a way to unindent 2 levels at once when typing the closing brace (or just getting it to match the open brace line/position) and for the first `case` to not unindent, just the later ones (which to be fair, may already be possible with some creative meta scoping and tmPreferences fun, though perhaps just not easy to maintain).

e.g.

switch (something) {

    case one:

        return;

    case two:

        foo();

        break;

}
Pretty sure you're the best thing to happen to ST since Will joined the team :)

What's your test suite like? Whenever something is regressed in a dev build, do you try to cover it with tests? Or are the UI side of things not tested in an automated fashion?

What are the plans for matching VSCode's useful features, like the one whereby all syntaxes can inject themselves into Markdown fenced code blocks etc?

It'd be great to see some better SQL syntax highlighting support - I saw a community effort on the Packages repo aiming to address this. Will there be a way to switch "active" sql dialect? Or configure it per project?

> Pretty sure you're the best thing to happen to ST since Will joined the team :)

Thanks, that means a lot :)

> What's your test suite like? Whenever something is regressed in a dev build, do you try to cover it with tests? Or are the UI side of things not tested in an automated fashion?

The UI toolkit as a whole and platform integrations don't have tests, but the core parts like file encodings, data structures, syntax highlighting, etc. are pretty well tested using both integration, unit and manual fuzz tests. We also make heavy use of debug asserts and asan to catch bugs during development.

> like the one whereby all syntaxes can inject themselves into Markdown fenced code blocks etc?

I can't say when, but something like this is certainly on my radar. It seems like a clear incremental improvement on the existing syntax highlighting functionality.

> It'd be great to see some better SQL syntax highlighting support - I saw a community effort on the Packages repo aiming to address this. Will there be a way to switch "active" sql dialect? Or configure it per project?

This one is a lot more tricky as there are various tradeoffs to make. It's in my backlog of things that need to be discussed with other package repository contributors.

> whereby all syntaxes can inject themselves into Markdown fenced code blocks etc?

Maybe I’m misunderstanding, but I think you can do that with multimarkdown rendering.

    # my code example
    ```python
    This = {“codeblock”: “is colored”}
    as = [“python”, “code”]
    ```
This is only possible for syntaxes which ship with ST. If you want to put a Markdown fenced code block for a third party syntax like Svelte, then it won't be highlighted as Svelte currently.
I'm a huge fan. I've used sublime pretty much since the beginning of my career (switched over after emacs wrecked my hands a few months in). I've switched over to Intellij for java dev because its built in handling of things like going to definitions (cmd+click on my machine) and being able to swipe back to previous locations in the code, as if I were in a browser. Are these features supported in sublime, and if not, are there plans to add them? These navigation features alone would have me back over to sublime, today.
Goto-definition is powered by an index using the syntax highlighting, you can right-click on a symbol or use f12. Going backwards to a previous location is done using the menu Goto > Jump Back.
The lsp typescript package is substantially slower when finding completions than vs code typescript. Even though they are running the same typescript server I imagine. Any ideas why?
I don't use LSP so no clue. Best place to ask would be in an issue on the lsp plugin or in the discord.
In v4 right now the definitions from packages do not expand automatically, and for ruby/rails, if you type “def” and press Tab, it will select whatever Sublime thinks matches better the pattern def*, and to make function wrapper macro work, I have to just type “d”, then press Tab, it will highlight “def”, then I press Tab again, and only then the macro expands.

In v3 I can type “def”, hit Tab and it works right away.

Are you considering adding the option to change auto-compete behavior to what was in version 3?

It's working for me. There's a number of settings to configure how auto-complete works: make sure "auto_complete_include_snippets" and "auto_complete_include_snippets_when_typing" are enabled.
Sublime is one of my favorite software - Great UX, super fast, stable and bug free.

Thanks for listening and fixing the issue I've requested (handling files renames/deletes outside Sublime).

The only thing I'd like improved would be syntax-aware code folding, and folding support for Markdown files.

What would you say ST's main weakness is right now, and (how) do SublimeHQ plan to address it?
I wouldn't call them weaknesses, but I think we have a number of bigger changes that would improve ST.
Also, curious to know, what do you like most about developing Sublime, and what do you like least?
What I like most is being able to work on a project I'm passionate for with lots of freedom to make decisions. What I like least is most definitely dealing with the platform APIs.
My question is, how did you make it run exactly the same on all platforms (Windows, macOS, and Linux). No other cross-platform software works as seamless like this.
TLDR: Blood, sweat and tears

We have our own fully custom UI toolkit with a platform abstraction layer. Since we're the only users of this toolkit we have the flexibility to quickly make sweeping changes that can go all the way from the platform, through the toolkit and to the application code. We also generally make platform integration a priority - which you can see from about ¼ of the changelog being platform-specific fixes. This would probably make a good blogpost some day :)

Any plans for native WSL integration similar to VS Code?
We don't have any current plans to do built-in remote editing, especially not anything platform-specific. It's particularly difficult to get right - especially regarding security - and not one we'd likely ever use at Sublime HQ ourselves.
I'd love to know when we can move the sidebar to the right side :)