Commit Graph
176 Commits
Author SHA1 Message Date
Kirill BulatovandMikayla Maki 7b2aaa20d8 Accept null as a valid action, to disable a keystroke
co-authored-by: Mikayla Maki <mikayla@zed.dev>
2023-07-04 21:11:28 +03:00
Piotr Osiewicz 6114525f6f settings: accept trailing commas (#2606)
Z-2357

I've found a crate that handles both comments and trailing commas in
JSON. It is a fork of `serde_json`, but it is maintained & up-to-date.
Sadly RawValue seems to not play nicely with it; I've ran into
deserialisation issues around use of RawValue. For this PR I've migrated
to `Value` API.

Obviously this is just a point of discussion, not something I'd merge
straight away. There may be better solutions to this particular problem.

I've also noticed that `serde_json_lenient` does not handle trailing
commas after bindings array. I'm not sure how big of an issue that is.

Release Notes:
- Improved handling of trailing commas in settings files.
[#1322](https://github.com/zed-industries/community/issues/1322)
2023-06-19 18:29:03 +02:00
Max Brunsfeld f14568bcc3 Remove panic when programatically updating an invalid setting 2023-06-13 09:43:57 -07:00
Max Brunsfeld b6a053f0d0 Eliminate assets crate 2023-06-06 11:46:46 -07:00
Max Brunsfeld e41e8ad0ba Populate created local settings file with an empty JSON object and comments 2023-06-05 18:20:02 -07:00
Max Brunsfeld e4888ab8e1 Avoid writing spurious nulls to settings file when updating it programatically 2023-06-02 13:02:17 -07:00
Mikayla Makiandmax 5468b6f8e1 Make settings store handle no user settings
co-authored-by: max <max@zed.dev>
2023-06-01 10:09:04 -07:00
77a15a0728 Avoid blocking forever on startup if config files do not exist
The files will still get created if the user opens their settings and
saves, otherwise everything will transparently work

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-06-01 12:04:45 -04:00
Max Brunsfeld a2a96774fc Replicate project-specific settings when collaborating 2023-05-30 18:08:03 -07:00
Max Brunsfeld fb4c174fd1 Start work on respecting project-specific settings 2023-05-29 14:25:49 -07:00
Max Brunsfeld 7572455cb7 Remove assertions about behavior on invalid settings file 2023-05-22 08:48:37 -07:00
Max Brunsfeld 9eb9a3cb71 Fix spurious setting error logs on non-existent setting keys 2023-05-19 17:15:05 -07:00
Max BrunsfeldandKirill facc88c502 Define empty theme for tests regardless of cargo features
Co-authored-by: Kirill <kirill@zed.dev>
2023-05-18 09:01:38 -07:00
Max Brunsfeld 91293ddb86 Refresh windows when settings file changes 2023-05-17 16:02:21 -07:00
Max Brunsfeld 0bf36d6c22 Remove unused watched_json file 2023-05-17 16:02:08 -07:00
Max Brunsfeld 5325aec94f Move font size adjustment code to the theme crate 2023-05-17 15:56:32 -07:00
Max Brunsfeld e7f85efbb8 Rename settings::register_setting -> settings::register 2023-05-17 15:06:11 -07:00
Max Brunsfeld 30e678a450 Remove optional path argument when getting settings 2023-05-17 15:05:20 -07:00
Max Brunsfeld c261a01c7f Define theme/ui text style settings in theme crate 2023-05-17 14:44:59 -07:00
Max Brunsfeld 460d6d652a Define base keymap setting in welcome crate 2023-05-17 11:23:09 -07:00
Max Brunsfeld beda62739e Customize language settings JSON schema in language crate 2023-05-17 09:26:36 -07:00
Max Brunsfeld 09f37a2fe9 Define workspace settings in workspace crate 2023-05-16 20:25:18 -07:00
Max Brunsfeld 2f05e3d502 Define project settings in project crate 2023-05-16 17:45:04 -07:00
Max Brunsfeld a802da9dae Define editor settings in editor crate 2023-05-16 17:30:29 -07:00
Max Brunsfeld 56f2ff64ed Define language settings in the language crate 2023-05-16 17:29:53 -07:00
Max Brunsfeld e04be2e2d3 Add a better API for updating settings in the SettingsStore in tests 2023-05-11 17:24:58 -07:00
Max Brunsfeld 22a7b8e227 Define terminal settings in terminal crate 2023-05-10 17:43:10 -07:00
Max Brunsfeld 876d8b3e09 Ensure the SettingsStore global is added in tests 2023-05-10 16:39:59 -07:00
Max Brunsfeld 8abefb23c5 Define journal settings in journal crate 2023-05-10 12:59:24 -07:00
Max Brunsfeld fe610e556f Define telemetry settings in the client crate 2023-05-10 12:59:24 -07:00
Max Brunsfeld 47c3504d22 Define vim_mode setting in vim crate 2023-05-10 12:59:24 -07:00
Max Brunsfeld d3220c752a Define auto_update setting in the auto_update crate 2023-05-10 12:59:24 -07:00
Max Brunsfeld 78ec1bd1c8 Generalize settings JSON schema logic to work w/ arbitrary setting types 2023-05-10 12:59:24 -07:00
Max Brunsfeld 2c7b3dcb92 Start using the SettingsStore in the app 2023-05-10 12:59:24 -07:00
Max Brunsfeld e1705d73ca Add generic update method to SettingsStore 2023-05-10 12:59:24 -07:00
Max Brunsfeld 4325af4681 Allow registering additional settings after loading global settings 2023-05-10 12:59:24 -07:00
Max Brunsfeld 054ad5aeb6 Create proof-of-concept SettingStore struct 2023-05-10 12:59:22 -07:00
Kirill Bulatov 9f008a5a69 Use more convntional name for the settings 2023-05-08 19:36:51 +03:00
Kirill Bulatov e3ff9ad822 Support invisibles in the selection 2023-05-08 19:36:51 +03:00
Kirill Bulatov 23ef5d3f14 Make invisibles display configurable 2023-05-08 19:36:51 +03:00
Antonio Scandurra 3c580153ed Merge branch 'main' into implicit-ancestry 2023-05-04 14:39:58 +02:00
Antonio Scandurra 8c31093cc3 Ensure querying keystrokes or actions is safe
This is achieved by moving `available_actions` into `AsyncAppContext` (where
we know no view/window is on the stack) and `keystrokes_for_action` into `LayoutContext`
where we'll fetch the previous frame's ancestors and notify the current view if those
change after we perform a layout.
2023-05-04 09:53:31 +02:00
Max Brunsfeld 647c3960d9 Add copilot menu item for enabling paths by glob 2023-05-03 10:14:01 -07:00
Max Brunsfeld 1486f1e91a Add copilot.disabled_globs setting 2023-05-01 13:45:47 -07:00
Nathan SoboandMax Brunsfeld 52d4cc5349 Refine naming of element-related types and traits
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-04-21 13:06:37 -06:00
2bd56ab6f0 Rename Drawable::boxed to into_element and make containers generic
Multi-element are now generic over any drawable child, which can be converted
into an element.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-04-21 12:43:19 -06:00
Antonio Scandurra d2930f462c Merge branch 'main' into window_context_2 2023-04-21 10:58:08 +02:00
Mikayla Maki a62f4b054f Fix warning 2023-04-20 17:34:47 -07:00
Mikayla Maki 2d2449ac9d Fixed silly custom settings parsing 2023-04-20 17:33:06 -07:00
Mikayla Maki f732210e2b Create a new setting to adjust the line height in the terminal 2023-04-20 17:24:27 -07:00