Commit Graph
56 Commits
Author SHA1 Message Date
Max BrunsfeldandNathan Sobo 6411acb855 Bump Tree-sitter
Pass ranges to `set_byte_range`, `set_point_range`

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-28 14:25:30 -07:00
Max BrunsfeldandNathan Sobo 6243f6ee6f Implement bracket matching using queries
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-28 13:09:57 -07:00
Antonio Scandurra 6cf9550c0b Update tree-sitter 2021-05-26 09:10:06 +02:00
Max BrunsfeldandNathan Sobo 4ca1e41023 Use new Tree-sitter captures API
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-25 16:02:43 -07:00
Max Brunsfeld 31f451a63f Bump tree-sitter for QueryCaptures::advance methods 2021-05-24 21:21:31 -07:00
Max Brunsfeld 9c8954a191 Convert query capture indices to style ids
* Introduce a Theme struct as a new part of the app's settings
* Store on each Language a ThemeMap, which converts the capture ids
  from that language's highlight query into StyleIds, which identify
  styles in the current Theme.
* Update `highlighted_chunks` methods to provide StyleIds instead of
  capture ids.
2021-05-24 16:44:14 -07:00
Max Brunsfeld 2a9b56483d WIP 2021-05-23 21:42:45 -07:00
Max Brunsfeld f4921ab1c1 Bump context-predicate grammar to the latest Tree-sitter 2021-05-22 12:34:35 +02:00
409298c7d7 Introduce LanguageRegistry object
* Include it, along with settings in `OpenParams` grouped under a new struct called `AppState`

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-22 12:34:35 +02:00
Max Brunsfeld 3226435fc5 Merge branch 'master' into file-changed-on-disk 2021-05-12 16:20:03 -07:00
Antonio Scandurra ba47eafe25 Introduce a gpui::test macro 2021-05-12 17:05:03 +02:00
Max Brunsfeld 6e72836a3d Add basic handling for buffer's files changing on disk 2021-05-11 16:18:29 -07:00
Max Brunsfeld c2b9877370 Go back to using upstream core-foundation-rs 2021-05-07 09:53:07 -07:00
Max Brunsfeld 02afdfa9de Start work on creating and saving new files 2021-05-04 19:04:11 -07:00
Nathan Sobo ea5abbbcb8 Add script/bundle, which creates a macOS app bundle 2021-05-04 17:18:25 -06:00
Max BrunsfeldandNathan Sobo 73e2eb1f87 Use getmntinfo(3) to list mounted volumes
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-22 15:41:03 -07:00
Max BrunsfeldandNathan Sobo 563ff9f2fd Start work on excluding separate mount dirs
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-22 14:11:46 -07:00
Max Brunsfeld 34e872f98c Start work on handling changes to gitignore files
* Use the published ignore crate
* Store ignore objects on snapshot, and use them to compute
  files' ignored status dynamically, instead of storing the
  ignored status on the file.
2021-04-21 18:11:52 -07:00
Max BrunsfeldandNathan Sobo b721209f29 Fully halt background scanner threads when dropping Worktree
* Rework fsevent API to expose a handle for halting the event stream

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-20 15:55:29 -07:00
Max Brunsfeld 4367b00060 Use our own scoped_pool implementation 2021-04-20 14:07:36 -07:00
dcd7e7d347 Remove task_done condvar which supported finish_pending_tasks
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-20 10:45:42 -06:00
Antonio ScandurraandNathan Sobo 5dd6557f09 Use env_logger instead of simplelog in tests
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-20 17:34:14 +02:00
Nathan Sobo 8035044bb0 WIP: Add a condition method to model and view handles for use in tests
It returns a future that resolves when the provided predicate returns true. The predicate is called any time the handle's targeted entity calls notify.

Still need to add a timeout and completely remove finsih_pending_tasks.
2021-04-19 22:01:54 -06:00
Max BrunsfeldandNathan Sobo 1c2692944b Add fsevent crate to workspace
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-15 16:29:55 -07:00
Nathan Sobo 7ecd260419 Merge branch 'master' into rescan 2021-04-14 22:26:09 -06:00
Nathan SoboandBrooks Swinnerton 4aba99199e Replace easy-parallel with scoped-pool for path searches
The easy-parallel crate spawned new threads on each call, which was resulting in way too many threads.

Co-Authored-By: Brooks Swinnerton <934497+bswinnerton@users.noreply.github.com>
2021-04-14 09:08:52 -06:00
Antonio Scandurra 2a1e5657c7 Prompt for paths asynchronously to avoid double borrow 2021-04-14 16:30:03 +02:00
Nathan Sobo c34b263f17 WIP 2021-04-13 20:09:45 -06:00
Nathan SoboandBrooks Swinnerton f3eec91ebe Replace easy-parallel with scoped-pool for path searches
The easy-parallel crate spawned new threads on each call, which was resulting in way too many threads.

Co-Authored-By: Brooks Swinnerton <934497+bswinnerton@users.noreply.github.com>
2021-04-13 20:07:42 -06:00
Max Brunsfeld fa979864ec Handle 'full-line' clipboard items when pasting 2021-04-13 17:58:13 -07:00
Antonio ScandurraandMax Brunsfeld 5d6d5018ca Allow metadata to be associated with text written to clipboard
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-04-13 19:03:56 +02:00
Max Brunsfeld 46b6efc549 Merge branch 'master' into menus 2021-04-09 10:34:21 -07:00
Antonio Scandurra 36ea197da7 Merge pull request #11 from zed-industries/undo
Introduce undo/redo support for arbitrary operations in `Buffer`
2021-04-09 18:50:36 +02:00
Max Brunsfeld da0aebb0ec Use upstream git revision of core-foundation-rs 2021-04-09 08:45:23 -07:00
Max Brunsfeld 4c184f50f7 Implement File > Open menu item 2021-04-08 22:25:54 -07:00
Antonio Scandurra 63838c365b WIP 2021-04-08 16:57:46 +02:00
Nathan Sobo 5220ebaed2 Order debug JSON and allow elements to be named; copy to clipboard 2021-04-07 21:54:14 -06:00
Nathan Sobo a2f3d0cfba Add ability to debug element trees as JSON 2021-04-07 21:54:14 -06:00
Max Brunsfeld 139283c161 wip 2021-04-06 18:25:50 -07:00
Antonio Scandurra d2e30bc457 Implement SVG rendering 2021-04-06 13:46:33 +02:00
Nathan SoboandMax Brunsfeld 138f75e95f Use a condvar instead of a channel to implement finish_pending_tasks
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 13:53:06 -06:00
Nathan SoboandMax Brunsfeld dccc4f3121 Initialize logger in gpui tests
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 12:42:01 -06:00
Nathan SoboandMax Brunsfeld 1dc03bab2b Remove executor::ForegroundTask wrapper
Now that smol returns the same Task as async_task, we can simply re-export the async_task::Task struct from our executor module.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 11:02:09 -06:00
Antonio ScandurraandNathan Sobo ad7974608b WIP
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-23 19:11:56 +01:00
Antonio ScandurraandNathan Sobo 764bfba2e2 WIP: Start on rendering glyphs
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-23 15:15:41 +01:00
Nathan Sobo 119aa452b6 Overhaul the entire element system
Now the Element trait is designed to be wrapped in a Lifecycle enum that gets placed inside an ElementBox. This allows the framework to store data on behalf of the Element implementation, such as sizes, bounds, and also implementation-specific LayoutState and PaintState types. This makes it easier to reason about which data is available in each Element method.
2021-03-21 20:54:23 -06:00
Nathan Sobo 292b41ad57 Start on metal rendering infrastructure 2021-03-20 09:38:36 -06:00
Nathan Sobo 605bdd62dd WIP: Start on rendering scenes via presenter 2021-03-18 21:33:16 -06:00
Nathan Sobo e809d6119a Return tasks from spawn and spawn_stream
Also, eliminate the background spawning methods. We can spawn futures
on the executor and then spawn those on the app if we need to wait for
the result of running one.
2021-03-18 20:10:32 -06:00
Nathan Sobo f849857309 Handle command line arguments and populate worktree 2021-03-18 17:54:35 -06:00