This project is mirrored from https://github.com/krzyzanowskim/STTextView.
Pull mirroring updated .
- Apr 12, 2025
-
-
Marcin Krzyzanowski authored
This commit adds a config.yml file under .github/ISSUE_TEMPLATE to disable blank issues and provide a contact link directing users to create Discussions for feature requests, bug reports, or questions. This helps streamline issue reporting and encourages community engagement through GitHub Discussions.
-
- Apr 09, 2025
-
-
Marcin Krzyzanowski authored
Includes a 'changelog' target to generate CHANGELOG.md using git-cliff, and a 'help' target listing available commands.
-
- Mar 31, 2025
-
-
Marcin Krzyzanowski authored
- Expand CHANGELOG.md with detailed history for versions 2.0.3 and 2.0.4. - Revise cliff.toml config: enable conventional commits, restructure commit parsers to improve grouping, and update changelog template with PR links. - Add mise.toml with required CLI tools for changelog and typo checking.
-
- Mar 30, 2025
-
-
Marcin Krzyzanowski authored
This change enforces filtering of typing attributes to a defined allowed list in both AppKit and UIKit implementations. It also moves the initialization of default typing attributes to the declaration line, simplifying the init logic.
-
Marcin Krzyzanowski authored
Includes entries for versions from 0.5.0 through 2.0.2, covering features, bug fixes, refactors, and testing updates. Enhances project transparency and provides traceable release documentation.
-
Marcin Krzyzanowski authored
This adds a cliff.toml configuration file to define how git-cliff generates the project changelog. It includes templates for changelog structure, commit grouping by type, filtering rules, and custom parsers for processing commit messages. This setup enables automated, structured changelog updates based on commit history.
-
- Mar 29, 2025
-
-
Marcin Krzyzanowski authored
Changed access control for replaceCharacters methods from public to open to enable subclassing and method overrides in external modules. This supports greater customization and flexibility in text replacement behavior.
-
Marcin Krzyzanowski authored
- Modified STTextView to allow setting a new textContentManager, updating the associated layout manager and content on change. - Changed STTextContentStorage from final to open to support subclassing. - Made replaceContents override open to allow customization in subclasses.
-
- Mar 26, 2025
-
-
Marcin Krzyzanowski authored
Added a new item to the README documenting an issue with `enumerateCaretOffsetsInLineFragmentAtLocation:usingBlock:` having inaccurate documentation.
-
- Mar 22, 2025
-
-
Marcin Krzyzanowski authored
This commit implements the missing setter methods for accessibility properties, allowing VoiceOver and other assistive technologies to control the text view. It adds setters for selected text, selected text ranges, and focus state, which correspond to the existing getter methods.
-
Marcin Krzyzanowski authored
-
- Mar 18, 2025
-
-
Marcin Krzyzanowski authored
-
Marcin Krzyzanowski authored
-
- Mar 13, 2025
-
-
Marcin Krzyzanowski authored
The fix ensures that accessibilityFrame(for:) returns coordinates in screen space by properly converting the text segment frame through the view hierarchy to screen coordinates.
-
Marcin Krzyzanowski authored
The existing code used textElements(for:) which can return an empty array. This patch uses enumerateTextElements(from:) instead, which is safer since it can enumerate elements starting at a given location without the risk of an empty result.
-
Marcin Krzyzanowski authored
The commit extends NSAccessibilityProtocol implementation in STTextView by adding support for NSAccessibilityStaticText and NSAccessibilityNavigableStaticText protocols. It implements frame, line positioning, and range methods to improve screen reader compatibility and navigation capabilities within text content.
-
- Mar 10, 2025
-
-
Marcin Krzyzanowski authored
Resolves an issue with the text layout manager by ensuring proper initialization order and preventing memory issues. The main changes include setting the primary text layout manager to nil before removing it, setting text content after setup, and reordering initialization steps to avoid potential crashes during view setup.
-
- Mar 09, 2025
-
-
Marcin Krzyzanowski authored
The PR adds a proper setup method for the textLayoutManager and ensures connections are properly maintained when setting a new one. It fixes delegate assignment, notification handling, and connection with the textContentManager when the textLayoutManager is changed.
-
Marcin Krzyzanowski authored
The changes make STTextContainer open to allow subclassing and make STTextView's textLayoutManager property fully replaceable by adding proper setup/teardown logic. This ensures that when replacing the layout manager, all necessary delegate and observer relationships are properly maintained, fixing potential issues with notification handling and delegate assignments.
-
Marcin Krzyzanowski authored
Users can now replace the text layout manager by setting the `textLayoutManager` property directly on `STTextView`. Additionally, the STTextLayoutManager class has been made public to allow further customization.
-
Marcin Krzyzanowski authored
This patch fixes how isEditable and isSelectable properties interact, ensuring proper behavior when either property changes state. The implementation now correctly sets interaction modes based on both properties, adding support for the non-interactive state when neither selection nor editing is enabled. fixes https://github.com/krzyzanowskim/STTextView/discussions/81
-
Marcin Krzyzanowski authored
The gutter view now properly clips its contents and maintains correct positioning when scrolling. This fixes positioning issues by using the frame's minX instead of bounds.minX for line number cell placement and adds explicit setting of both x and y coordinates when positioning the gutter view during layout.
-
Marcin Krzyzanowski authored
Fixes the sizing logic in UIKit implementation of STTextView to correctly handle text layout based on content size. Removes commented code in the AppKit version, and improves the resizing logic in the UIKit version by properly calculating content dimensions based on text layout manager's usage bounds, gutter width, and scroll insets.
-
Marcin Krzyzanowski authored
Add a debug log statement with the dimensions of the text container size when it's updated to help troubleshoot layout issues. Also rename a variable for clarity.
-
Marcin Krzyzanowski authored
-
- Mar 04, 2025
-
-
Marcin Krzyzanowski authored
This small change ensures completion tasks run with appropriate priority for user interactions.
-
Marcin Krzyzanowski authored
The commit adds a Task.isCancelled check when filtering completion items to properly handle cancellation during async completion lookups.
-
Marcin Krzyzanowski authored
The changes add support for async completion providers alongside the existing synchronous completion API. This allows completion providers to perform asynchronous work like network requests while maintaining cancellation support through structured concurrency. The implementation includes both sync and async code paths with proper task cancellation and logging.
-
Marcin Krzyzanowski authored
The changes enhance the visual presentation of completion menu items by adding proper padding, multicolor symbol rendering, font styling, and color adjustments based on the system color scheme.
-
- Feb 19, 2025
-
-
Marcin Krzyzanowski authored
The update removes outdated content about known issues and text dragging, and bumps the recommended installation version from 1.0.0 to 2.0.0 in the package dependency example.
-
- Feb 01, 2025
-
-
Marcin Krzyzanowski authored
Replace preconditionFailure with assertionFailure and return early when encountering an invalid range in addAttributes(_:range:updateLayout:). This avoids crashing in release builds if an invalid range is passed.
-
Marcin Krzyzanowski authored
The NSRange clamped(_:) extension was moved from the STTextViewAppKit/STTextView+NSTextCheckingClient.swift file to a new file STTextViewCommon/Extensions/NSRange+Helpers.swift in the common package so it can be shared between different packages.
-
- Jan 31, 2025
-
-
Marcin Krzyzanowski authored
This reverts commit bb5e95ed.
-
Marcin Krzyzanowski authored
Use NSVisualEffectView for the completion background to match window appearance. Increase corner radius and use continuous corner curve for a smoother look. Adjust content insets and selection background appearance.
-
- Jan 26, 2025
-
-
Marcin Krzyzanowski authored
The URL for the STTextView-Plugin-TextFormation repository has been updated to point to the fork maintained by krzyzanowskim instead of the original ChimeHQ repository.
-
- Jan 19, 2025
-
-
Marcin Krzyzanowski authored
-
- Jan 16, 2025
-
-
Marcin Krzyzanowski authored
Update typing attributes right after changing text attributes, rather than waiting until the next layout pass. This ensures the typing attributes stay in sync with the latest text attributes.
-
- Jan 10, 2025
-
-
Marcin Krzyzanowski authored
The README now only mentions the open source GPL v3.0 license and a commercial license option, with a link to purchase. The explicit split into "Open Source" and "Commercial" sections was removed to simplify and shorten the license description.
-
Marcin Krzyzanowski authored
When inserting a newline character, use the Unicode scalar value instead of a literal "\n" string. This ensures the correct newline character is inserted even if the system uses a non-ASCII newline like CRLF. When generating attributed string for services menu, if an attachment contains plaintext file contents, replace the attachment with the inlined text content in the output string. This allows passing the full content, including from attachments, to services expecting plaintext input.
-
Marcin Krzyzanowski authored
This commit adds a new CONTRIBUTING.md file that provides guidelines for contributors who want to propose changes to the STTextView project. It covers: - The requirement to sign the Contributor License Agreement - The recommended process to start a discussion proposing changes - Tips to improve the chances of a pull request being reviewed and merged
-