     fileprivate func highlightedTextColor(_ textColor: UIColor) -> UIColor {
         return textColor.withAlphaComponent(0.5)
     }
+    
+    // MARK: Actions
+    
+    func longPressGestureRecognized(_ sender: UILongPressGestureRecognizer) {
+        if let superview = superview, canCopy, sender.state == .began {
+            becomeFirstResponder()
+            let menu = UIMenuController.shared
+            menu.setTargetRect(frame, in: superview)
+            menu.setMenuVisible(true, animated: true)
+        }
+    }
+}
+
+extension ContextLabel {
+    
+    public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
+        return true
+    }
 }
 
 extension String {

        }
        
        addLinkAttributesToLinkResult(withTouches: touches, highlighted: true)
        
        super.touchesBegan(touches, with: event)
    }
    

        setup()
    }
    
    // MARK: - Override Properties
    
    open override var canBecomeFirstResponder: Bool {
        return canCopy
    }
    
    
    // MARK: - Override Methods

    open override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
        return action == #selector(copy(_:)) && canCopy
    }
    
    open override func copy(_ sender: Any?) {
        UIPasteboard.general.string = text
        didCopy(text)
    }
    
    open override var intrinsicContentSize : CGSize {
        var width = super.intrinsicContentSize.width
