Skip to content

Comments

[pull] main from CodeEditApp:main#153

Merged
pull[bot] merged 14 commits intoMu-L:mainfrom
CodeEditApp:main
May 29, 2025
Merged

[pull] main from CodeEditApp:main#153
pull[bot] merged 14 commits intoMu-L:mainfrom
CodeEditApp:main

Conversation

@pull
Copy link

@pull pull bot commented Apr 22, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.1)

Can you help keep this open source service alive? 💖 Please sponsor : )

### Description

Fixes a bug where tasks would not save after creating them due to an accidental change when removing a deprecated URL method. Also removes a few unnecessary view models in settings, and correctly handles errors thrown when saving workspace settings in UI (with a simple alert).

### Related Issues

* N/A Reported on [discord](https://discord.com/channels/951544472238444645/952640521812193411/1362011473324540097)

### Checklist

- [x] I read and understood the [contributing guide](https://github.com/CodeEditApp/CodeEdit/blob/main/CONTRIBUTING.md) as well as the [code of conduct](https://github.com/CodeEditApp/CodeEdit/blob/main/CODE_OF_CONDUCT.md)
- [x] The issues this PR addresses are related to each other
- [x] My changes generate no new warnings
- [x] My code builds and runs on my machine
- [x] My changes are all related to the related issue above
- [x] I documented my code

### Screenshots
@pull pull bot added the ⤵️ pull label Apr 22, 2025
thecoolwinter and others added 13 commits April 26, 2025 20:53
### Description

Adds a minimap to CodeEdit's editor, as well as a new trailing editor accessory (that only appears when the selected document is a code document), a command to toggle the minimap, and a setting to toggle the minimap.

### Related Issues

* CodeEditApp/CodeEditSourceEditor#33

### Checklist

- [x] I read and understood the [contributing guide](https://github.com/CodeEditApp/CodeEdit/blob/main/CONTRIBUTING.md) as well as the [code of conduct](https://github.com/CodeEditApp/CodeEdit/blob/main/CODE_OF_CONDUCT.md)
- [x] The issues this PR addresses are related to each other
- [x] My changes generate no new warnings
- [x] My code builds and runs on my machine
- [x] My changes are all related to the related issue above
- [x] I documented my code

### Screenshots

https://github.com/user-attachments/assets/07f21d48-23cf-42dc-b39a-02ba395956cb
### Description

This pull request resolves several navigation related bugs within Settings. The most important being that it resolves getting suck within sub views. Additionally, I've improved how hiding the sidebar toggle works which is now consistently hidden regardless of macOS 13+. It now no longer makes unexpected returns or cameos.

### Related Issues

* closes #1923 

### Checklist

- [X] I read and understood the [contributing guide](https://github.com/CodeEditApp/CodeEdit/blob/main/CONTRIBUTING.md) as well as the [code of conduct](https://github.com/CodeEditApp/CodeEdit/blob/main/CODE_OF_CONDUCT.md)
- [X] The issues this PR addresses are related to each other
- [X] My changes generate no new warnings
- [X] My code builds and runs on my machine
- [X] My changes are all related to the related issue above
- [X] I documented my code

### Screenshots

https://github.com/user-attachments/assets/f92bcc49-b397-4e33-85c5-06d0873e6b10
### Description

Adds semantic token syntax highlighting to the code file view.

When an LSP is installed and configured for a language type, and has semantic highlights support, CodeEdit will install a new highlight provider on the source editor and begin processing syntax tokens for the file.

Token processing happens asynchronously, and does **not** replace tree-sitter highlights. This builds off recent work in the source editor to support a hierarchy of highlight providers. Language server highlights are slow but more accurate, so we process them slowly and apply them when they become available.

#### Details

- Adds a new generic 'language server document' protocol that includes only what the language server code needs to know about a code document. This should solve the coupling issue we had with CodeFileDocument and the language server code. In the future, if we replace `CodeFileDocument`, it'll be a matter of conforming the new type to the protocol for it to work with the lsp code.
- Reorganizes slightly to group lsp features into their own "Features" folder.
- Adds a new `SemanticTokenHighlightProvider` type
  - Conforms to the `HighlightProviding` protocol.
  - Manages receiving edit notifications from the editor and forwards them to the language server service.
- Adds a `SemanticTokenMap` type
  - Maps LSP semantic token data to a format CodeEdit can read.
  - Reads a LSP's capabilities to determine how to decode that data.
- Adds `SemanticTokenStorage`
  - Provides an API for applying token deltas, and entire file token data.
  - Manages decoding, re-decoding (when dealing with deltas) and storing semantic tokens.
  - Provides an API for finding semantic tokens quickly.

### Related Issues

* closes #1950

### Checklist

- [x] I read and understood the [contributing guide](https://github.com/CodeEditApp/CodeEdit/blob/main/CONTRIBUTING.md) as well as the [code of conduct](https://github.com/CodeEditApp/CodeEdit/blob/main/CODE_OF_CONDUCT.md)
- [x] The issues this PR addresses are related to each other
- [x] My changes generate no new warnings
- [x] My code builds and runs on my machine
- [x] My changes are all related to the related issue above
- [x] I documented my code

### Screenshots

![Screenshot 2025-02-14 at 10 20 09 AM](https://github.com/user-attachments/assets/14ee65a3-058c-4f9c-b816-ae258aca96be)

Live editing demo, note the highlights on the variable types and switch cases.

https://github.com/user-attachments/assets/e70bf93c-779d-412b-9b34-c68e46898921
### Description

When a new file is opened, tries to open it in a nearby workspace. Right now new files are opened in their own window no matter what (eg using `⌘N` or a file URL).

The workspace is chosen by proximity, so if a user has `/User/Desktop` and `/User/Desktop/Project` open. Opening the file `/User/Desktop/Project/MAKEFILE` will open it in the `Project` workspace.

### Related Issues

* Reported by @ BSM on Discord

### Checklist

- [x] I read and understood the [contributing guide](https://github.com/CodeEditApp/CodeEdit/blob/main/CONTRIBUTING.md) as well as the [code of conduct](https://github.com/CodeEditApp/CodeEdit/blob/main/CODE_OF_CONDUCT.md)
- [x] The issues this PR addresses are related to each other
- [x] My changes generate no new warnings
- [x] My code builds and runs on my machine
- [x] My changes are all related to the related issue above
- [x] I documented my code

### Screenshots

(please ignore the messed up gutter, it's been fixed in CESE but not cut in a release)

https://github.com/user-attachments/assets/8d341dee-d043-4b0a-8fd3-f544bf952abb

Files open to the nearest folder, and bring the window to front.

https://github.com/user-attachments/assets/96ec98a5-20ec-4d53-a996-446d9264e7c4
…#2018)

* Fix resizing animaition, use line height from pref

* Update sizing
* Updated CESE to 0.13.0. Added reformatAtColumn and showReformattingGuide to settings.

* Update CodeEditSourceEditor to `0.13.1`

---------

Co-authored-by: Khan Winter <35942988+thecoolwinter@users.noreply.github.com>
Updates CodeEditSourceEditor to `0.13.2`, with a few hotfixes for editing and the minimap.
* Added initial hide interface button

- Hide interface and shortcut will store the interface state and hide it
- Show interface will restore the interface state

* Hiding interface now remembers better

- When hiding interface it will better be able to handle hidden elements being enabled, and then showing the interface again.
- Moved some logic from ViewCommands to CodeEditWindowController, as it seems like a more appropriate place.
- Added a bool shouldAnimate to function toggleFirstPanel. This is by default on, and thus using the default animation. When explicitly called with off, the function will not animate.

* interfaceHidden will now update itself on changes

- Removed need for interfaceHidden bool
- Removed need for resetting stored interface state
- Added function isInterfaceStillHidden, checking whether "at least" the previous elements are visible again, taking other elements into account
- Hidden animation for lastpanel

* Updated logic to when no panels are active

- If no panels are active, and interface hasn't been hidden, all panels will show when toggle interface is clicked
- Renamed objc functions with prefix 'objc'
- Re-added resetStoredInterfaceCollapseState - turns out it was necessary

* Disabled animation for utility area when hiding interface

- Added command "open.drawer.no.animation" to command manager. This will toggle the utility area, without an animation.
- Added option possibility of no animation to SplitViewItem.Update
- Added struct SplitViewItemCanAnimateViewTraitKey and function splitViewCanAnimate to SplitViewModifiers. These optionally allow disabling animations for SplitViews.
- Updated "Hide Interface", WorkspaceView and UtilityAreaViewModel to accommodate these changes

* Rewrote and moved hide interface logic

- The logic for hide interface has been moved to a new file, CodeEditWindowsController+Panels.
- The function for toggling first panel and last panel has also been moved to said file.
- The logic for hide interface is now much more simplified, dynamic and easier to maintain.

* Asynchronous reset of stored state

- In isInterfaceStillHidden(), resetStoredInterfaceCollapseState() will now be called asynchronously to avoid a SwiftUI update warning

* Removed comma

- Removed a comma that was causing the "Testing CodeEdit" task to fail

* Added UI Tests for HideInterfaceTest behaviour

* Add Toolbar Visible State to Window Restoration

* Fix Failing Test after Removing Command

---------

Co-authored-by: Khan Winter <35942988+thecoolwinter@users.noreply.github.com>
* added check for git installation presence

* Update CodeEdit/Features/SourceControl/Clone/ViewModels/GitCloneViewModel.swift

---------

Co-authored-by: Austin Condiff <austin.condiff@gmail.com>
* Issue #1061 Recents menu

* Tidying comment

* Merge Folders and Files Storage, Make Class

* Update Menu And ListView

* Add Tests

* Fix Icon For Paths With Spaces, Spelling Error

* Rename To `shared`, Test Inserted Order

* Complete Test Coverage

* Debug-only Init

---------

Co-authored-by: atsrus <ast@atsrus.com>
Co-authored-by: Khan Winter <35942988+thecoolwinter@users.noreply.github.com>
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
@pull pull bot merged commit 41b590d into Mu-L:main May 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants