Commit graph

93 commits

Author SHA1 Message Date
Max Brunsfeld
f62fd3cddd Add support for hard tabs
* Add a `hard_tabs` setting that causes indentation to be performed
  using a tab instead of multiple spaces.
* Change Buffer's indentation-related APIs to return an `IndentSize`
  struct with a length and a kind, instead of just a single u32.
* Use hard tabs by default in Go.
2022-06-08 18:30:10 -07:00
Max Brunsfeld
c86b12e1b6 Show a notification after Zed auto-updates 2022-06-06 17:42:31 -07:00
Max Brunsfeld
ff3e3d0799
Merge pull request #1084 from zed-industries/private-projects
Offline projects
2022-06-03 17:14:46 -07:00
Antonio Scandurra
d4da5135f4 Introduce support for C++ 2022-06-03 10:52:34 +02:00
Max Brunsfeld
f7e7a7c6a7 Use rocksdb to store project paths' public/private state 2022-06-02 17:38:33 -07:00
Max Brunsfeld
7ef9de32b1 Show private projects in the contacts panel
Introduce a ProjectStore that lets you iterate through all open projects.
Allow projects to be made public by clicking the lock.
2022-06-02 17:29:11 -07:00
Antonio Scandurra
7ecc67bcd5 Report the correct app version when sending panics to server
Previously, we were just relying on the `ZED_APP_VERSION` environment
variable without consulting `Platform::app_version`. That would always
report "dev" as the app version because `ZED_APP_VERSION` is only used
for testing.
2022-06-02 13:00:21 +02:00
Antonio Scandurra
20e1044d49 Merge branch 'main' into project-panel-with-new-mouse-events 2022-05-30 18:29:46 +02:00
Keith Simmons
61f0daa5c5 Visual line mode handles soft wraps 2022-05-26 17:02:05 -07:00
Antonio Scandurra
82ddac8e7e Restore focus when closing context menu 2022-05-26 15:21:55 +02:00
Max Brunsfeld
e72f5cea22 Add "New Window" command 2022-05-20 11:01:20 -07:00
Max Brunsfeld
c4554c1720 Replace build_workspace fn with an initialize function that takes a workspace
This makes it clearer that the function is not providing necessary
dependencies to a workspace, but rather configuring it with all of
the panels and widgets which are defined in downstream crates.
2022-05-19 16:50:22 -07:00
Max Brunsfeld
ef0b584532 Remove AppState from workspace actions
This allows those actions to be bound to keystrokes in the keymap.
Also, remove the WorkspaceParams struct, simplify how Workspaces are
constructed.
2022-05-19 14:37:26 -07:00
Max Brunsfeld
fbacc12672 Delete theme files more selectively when regenerating them
Avoid deleting files that will be rewritten later, so that Zed
won't observe states where themes are missing if two zed
processes are running at once.
2022-05-18 14:17:26 -07:00
Max Brunsfeld
ec41dd9f18 Remove checked-in theme JSON files
* Generate the themes on build
* In debug builds, watch the theme sources. When they change, re-generate
  the themes and reload the current theme, removing the need for the
  `theme_selector::Reload` command.

Co-authored-by: Keith Simmons <keith@zed.dev>
2022-05-18 12:43:26 -07:00
Nathan Sobo
e3ee19b123 Wire up UI for requesting contacts and cancelling requests
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-09 11:24:05 -06:00
Antonio Scandurra
875cb13e6d Rename "crash" to "panic"
We are not really sending crash reports but Rust panics, so might
as well be clear about that.
2022-05-02 17:36:56 +02:00
Antonio Scandurra
da3870ea31 Pass secret token when uploading crashes 2022-05-02 15:42:52 +02:00
Antonio Scandurra
54a45095cd Retrieve app version from crash rather than from current binary
The crash might have been generated weeks before and the app may
have been updated since then.
2022-05-02 15:34:05 +02:00
Antonio Scandurra
09a8b8e675 Capture crash reports and upload them the next time Zed launches 2022-05-02 15:17:43 +02:00
Antonio Scandurra
df69ac42fb Attempt to automatically sign in after a window has been shown 2022-04-27 13:53:16 +02:00
Max Brunsfeld
6658fa58c0 Update languages' highlight mapppings when the theme changes
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-22 12:09:14 -07:00
Antonio Scandurra
9730213ed7 Move project browser toggling logic in workspace::open_paths 2022-04-22 11:25:23 +02:00
Antonio Scandurra
9d8e3f51c8 Show project panel when opening a folder via the CLI 2022-04-22 10:45:46 +02:00
Max Brunsfeld
3a28f09979 Allow comments in setting and keymap JSON files 2022-04-21 11:58:18 -07:00
Antonio Scandurra
fb87bacc7e Merge branch 'main' into auto-update 2022-04-21 09:53:06 +02:00
Antonio Scandurra
f7055c2acc Implement zed --wait 2022-04-20 17:28:31 +02:00
Max Brunsfeld
43763fa2f8 Allow opening paths from the CLI
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-20 17:27:31 +02:00
Nathan Sobo
05c44b9414 Process incoming CLI requests on the main thread 2022-04-20 17:15:46 +02:00
Nathan Sobo
75f0326e54 Use ipc_channel crate to communicate between cli and app
We still aren't handling CLI requests in the app, but this lays the foundation for bi-directional communication.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-04-20 17:15:46 +02:00
Max Brunsfeld
4630071f58 Start work on a command palette 2022-04-18 17:11:08 -07:00
Keith Simmons
dcd5922609 Merge jsx language into js 2022-04-18 14:21:23 -07:00
Keith Simmons
544ca443e3 Add javascript and jsx specific languages 2022-04-13 10:58:42 -07:00
Max Brunsfeld
50d5253eff
Merge pull request #792 from zed-industries/fix-tsx-default-indent
Set default tsx tabsize
2022-04-11 17:35:54 -07:00
Keith Simmons
1d8afdff80 Set tsx default indent to 2 and remove js from extension list in tsx config.toml 2022-04-11 17:34:44 -07:00
Max Brunsfeld
ee3eb9658f Use the word 'keymap' more consistently
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-11 17:02:16 -07:00
Max Brunsfeld
be11f63f1e Watch ~/.zed/bindings.json file for custom key bindings
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-11 16:50:44 -07:00
Max Brunsfeld
c065f283aa Move assets to their own crate, load keymaps in vim tests
Also, move assets folder to the top-level.

Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-11 15:54:52 -07:00
Max Brunsfeld
3636c9ec25 Load workspace and editor key bindings from a JSON file 2022-04-10 11:18:08 -07:00
Max Brunsfeld
fd4b81c8fc Allow actions to be deserialized from JSON
Introduce separate macro for implementing 'internal' actions which
are not intended to be loaded from keymaps.
2022-04-08 15:47:51 -07:00
Max Brunsfeld
c801a52492 Convert some actions to use named fields
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-07 16:44:37 -07:00
Keith Simmons
1812480cbb Tab size is pulled properly from settings instead of hardcoded 2022-04-06 10:23:37 -07:00
Max Brunsfeld
866ffdd4ae Move Settings to its own crate
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-06 10:23:33 -07:00
Max Brunsfeld
9c469f2fdb Add remaining logic for downloading updates, add status bar indicator 2022-04-04 18:34:14 -07:00
Antonio Scandurra
38e902b241 WIP: Start on auto-update
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Keith Simmons <keith@zed.dev>
2022-04-04 18:59:57 +02:00
Max Brunsfeld
d466768eed WIP 2022-03-29 11:06:08 -07:00
Keith Simmons
bb9b36dccd Add initial vim mode mode switching
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-03-25 20:10:37 -07:00
Nathan Sobo
4a42025c28 Authenticate on startup if ZED_IMPERSONATE is assigned
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-03-23 12:25:06 -06:00
Nathan Sobo
657b92b020 Don't prompt for keychain access when launching from a pty
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-03-23 12:18:17 -06:00
Nathan Sobo
ee9ed936e4 Don't try keychain after authentication fails
Previously, we were achieving this by deleting the keychain item, but this can sometimes fail which leads to an infinite loop. Now, we explicitly never try the keychain when reattempting authentication after authentication fails.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-03-23 12:15:36 -06:00