You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
3.7 KiB
131 lines
3.7 KiB
//
|
|
// SlackTextViewController
|
|
// https://github.com/slackhq/SlackTextViewController
|
|
//
|
|
// Copyright 2014-2016 Slack Technologies, Inc.
|
|
// Licence: MIT-Licence
|
|
//
|
|
|
|
#import "SLKTextView.h"
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
/** @name SLKTextView additional features used for SlackTextViewController. */
|
|
@interface SLKTextView (SLKAdditions)
|
|
|
|
/**
|
|
Clears the text.
|
|
|
|
@param clearUndo YES if clearing the text should also clear the undo manager (if enabled).
|
|
*/
|
|
- (void)slk_clearText:(BOOL)clearUndo;
|
|
|
|
/**
|
|
Scrolls to the very end of the content size, animated.
|
|
|
|
@param animated YES if the scrolling should be animated.
|
|
*/
|
|
- (void)slk_scrollToBottomAnimated:(BOOL)animated;
|
|
|
|
/**
|
|
Scrolls to the caret position, animated.
|
|
|
|
@param animated YES if the scrolling should be animated.
|
|
*/
|
|
- (void)slk_scrollToCaretPositonAnimated:(BOOL)animated;
|
|
|
|
/**
|
|
Inserts a line break at the caret's position.
|
|
*/
|
|
- (void)slk_insertNewLineBreak;
|
|
|
|
/**
|
|
Inserts a string at the caret's position.
|
|
|
|
@param text The string to be appended to the current text.
|
|
*/
|
|
- (void)slk_insertTextAtCaretRange:(NSString *)text;
|
|
|
|
/**
|
|
Insert a string at the caret's position with stylization from the attributes.
|
|
|
|
@param text The string to be appended to the current text.
|
|
@param attributes The attributes used to stylize the text.
|
|
*/
|
|
- (void)slk_insertTextAtCaretRange:(NSString *)text
|
|
withAttributes:(NSDictionary<NSString *, id> *)attributes;
|
|
|
|
/**
|
|
Adds a string to a specific range.
|
|
|
|
@param text The string to be appended to the current text.
|
|
@param range The range where to insert text.
|
|
|
|
@return The range of the newly inserted text.
|
|
*/
|
|
- (NSRange)slk_insertText:(NSString *)text inRange:(NSRange)range;
|
|
|
|
/**
|
|
Adds a string to a specific range, with stylization from the attributes.
|
|
|
|
@param text The string to be appended to the current text.
|
|
@param attributes The attributes used to stylize the text.
|
|
@param range The range where to insert text.
|
|
@return The range of the newly inserted text.
|
|
*/
|
|
- (NSRange)slk_insertText:(NSString *)text
|
|
withAttributes:(NSDictionary<NSString *, id> *)attributes
|
|
inRange:(NSRange)range;
|
|
|
|
/**
|
|
Sets the text attributes for the attributed string in the provided range.
|
|
|
|
@param attributes The attributes used to style NSAttributedString class.
|
|
@param range The range of the text that needs to be stylized by the given attributes.
|
|
@return An attributed string.
|
|
*/
|
|
- (NSAttributedString *)slk_setAttributes:(NSDictionary<NSString *, id> *)attributes
|
|
inRange:(NSRange)range;
|
|
|
|
/**
|
|
Inserts an attributed string at the caret's position.
|
|
|
|
@param attributedText The attributed string to be appended.
|
|
*/
|
|
- (void)slk_insertAttributedTextAtCaretRange:(NSAttributedString *)attributedText;
|
|
|
|
/**
|
|
Adds an attributed string to a specific range.
|
|
|
|
@param attributedText The string to be appended to the current text.
|
|
@param range The range where to insert text.
|
|
@return The range of the newly inserted text.
|
|
*/
|
|
- (NSRange)slk_insertAttributedText:(NSAttributedString *)attributedText inRange:(NSRange)range;
|
|
|
|
/**
|
|
Removes all attributed string attributes from the text view, for the given range.
|
|
|
|
@param range The range to remove the attributes.
|
|
*/
|
|
- (void)slk_clearAllAttributesInRange:(NSRange)range;
|
|
|
|
/**
|
|
Returns a default attributed string, using the text view's font and text color.
|
|
|
|
@param text The string to be used for creating a new attributed string.
|
|
@return An attributed string.
|
|
*/
|
|
- (NSAttributedString *)slk_defaultAttributedStringForText:(NSString *)text;
|
|
|
|
/**
|
|
Registers the current text for future undo actions.
|
|
|
|
@param description A simple description associated with the Undo or Redo command.
|
|
*/
|
|
- (void)slk_prepareForUndo:(NSString *)description;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|
|
|