Skip to content

feat: enhance packages.md #131

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 24 additions & 9 deletions docs/guide/extensibility/packages.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,12 @@ Typical resources found in packages include:
- key maps (`.sublime-keymap`)
- macros (`.sublime-macro`)
- menus (`.sublime-menu`)
- commands (`.sublime-commands`)
- metadata (`.tmPreferences`)
- mouse maps (`.sublime-mousemap`)
- plugins (`.py`)
- settings (`.sublime-settings`)
- completions (`.sublime-completions`)
- snippets (`.sublime-snippet`)
- syntax definitions (`.sublime-syntax`, `.tmLanguage`)
- themes (`.sublime-theme`)
Expand All @@ -101,7 +103,7 @@ and you don't need to learn it.
while others enhance Sublime Text
to support common programming languages out of the box.

Examples: Default, Python, Java, C++, Markdown.
Examples: Default, Python, Java, C++, Markdown, reStructuredText.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why add reStructuredText, one of the worst syntax definition that ST currently ships with (though improvements are underway via sublimehq/Packages#4212)? Most people will not know what it is anyway.

If you want something different, I would add a serialization format for structured data types such as JSON, YAML or TOML there.

Copy link
Contributor Author

@vwheeler63 vwheeler63 May 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question!

Actually, since the arrival of version 7 and 8 of the Sphinx documentation generator, I find that reStructuredText's popularity is growing very quickly. Here is a list of projects that are using it, and I THINK these are only the ones that the Sphinx project got permission to publish.

https://www.sphinx-doc.org/en/master/examples.html

I'm working on a MAJOR one for the LVGL graphics library.

And I too am working on a growing list of some Sublime Text utilities for reStructuredText.

The reason I included it was that "Markdown" was sitting there all alone, and, in my opinion, reStructuredText does a few things better than Markdown—especially with Sphinx. I don't know if you were aware, but the Linux project switched over to using Sphinx for its documentation a few years ago. This fact is what made me take a serious look at Sphinx and reStructuredText, and I have been a very happy user of it ever since. All of my documentation, book, and booklet projects now use it (about a dozen of them).

So my feeling is that it is quite appropriate to be there as an example.

If you have strong feelings about it, I can remove it, but after working in reStructuredText SOLID for the last 10 months, I'm convinced it's a winner! 😄

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

... and I too am working on a growing list of ST utils for reST ...

If you have anything to share, now would be a good time at sublimehq/Packages#4212

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you have anything to share, now would be a good time at sublimehq/Packages#4212

@jrappen I'm honored! See you there.


Located in `Shipped Packages`.

Expand Down Expand Up @@ -310,11 +312,24 @@ packages and plugins.
<!-- TODO --safe-mode -->
To revert Sublime Text to its default configuration
and remove all your settings and configurations,
delete the [Data directory](../getting-started/basic-concepts.md#the-data-directory)
and restart the editor.
Keep in mind
that the `Installed Packages` folder will be deleted too,
so you'll lose all your installed packages.

Always make sure to back up your data
before taking an extreme measure like this one!

- Close Sublime Text if it is running.
- Rename the [Data directory](../getting-started/basic-concepts.md#the-data-directory)
to another name to keep it as a backup and reference about what
Packages you installed and what customizations you made.
- Re-start Sublime Text.

This starts Sublime Text with a fresh new Data directory and
you will find that the "apparent bug" disappears.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are good changes, as the previous method was definitely too easy to misunderstand.

However, I would much rather recommend Safe Mode for quickly checking whether something is indeed broken in a vanilla installation or only due to a third-party package. The modified instructions are still useful for when Safe Mode does not help (e.g. you need several packages to reproduce a bug with a couple ST restarts in-between).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an excellent point! I haven't studied Safe Mode yet, so please give me a few days to study it and I will submit another commit to include it.


Keep in mind this also effectively de-installs every Package in
your `Installed Packages` folder, so you will probably want to
re-install the ones that are well-behaved. This sequence can also
allow you to detect which Package was misbehaving.

If it was not a misbehaving Installed Package that
was causing the problem, then adding your own
customizations back in, one at a time can also help
isolate what was causing it. Use the renamed (now-backup-copy)
[Data directory](../getting-started/basic-concepts.md#the-data-directory)
as a reference.