yi-core-0.19.4: Yi editor core library

License | GPL-2
Maintainer | yi-devel@googlegroups.com
Stability | experimental
Portability | portable
Safe Haskell | Safe-Inferred
Language | Haskell2010
Extensions | OverloadedStrings

Yi.String

Description

String manipulation utilities

Synopsis

- isBlank :: YiString -> Bool
- chomp :: String -> String -> String
- capitalize :: String -> String
- capitalizeFirst :: YiString -> YiString
- dropSpace :: String -> String
- fillText :: Int -> YiString -> [YiString]
- onLines :: ([YiString] -> [YiString]) -> YiString -> YiString
- mapLines :: (YiString -> YiString) -> YiString -> YiString
- lines' :: Text -> [Text]
- unlines' :: [Text] -> Text
- padLeft :: Int -> String -> String
- padRight :: Int -> String -> String
- commonTPrefix :: [Text] -> Maybe Text
- commonTPrefix' :: [Text] -> Text
- listify :: [YiString] -> YiString
- showT :: Show a => a -> Text
- overInit :: (YiString -> YiString) -> YiString -> YiString
- overTail :: (YiString -> YiString) -> YiString -> YiString

# Documentation

isBlank :: YiString -> Bool Source #

chomp :: String -> String -> String Source #

Remove any trailing strings matching irs (input record separator) from input string. Like Perl's chomp(1).

capitalize :: String -> String Source #

capitalizeFirst :: YiString -> YiString Source #

dropSpace :: String -> String Source #

Trim spaces at beginning and end

fillText :: Int -> YiString -> [YiString] Source #

Fills lines up to the given length, splitting the text up if necessary.

onLines :: ([YiString] -> [YiString]) -> YiString -> YiString Source #

mapLines :: (YiString -> YiString) -> YiString -> YiString Source #

A helper function for creating functions suitable for `modifySelectionB` and `modifyRegionB`. To be used when the desired function should map across the lines of a region.

lines' :: Text -> [Text] Source #

Split a Text in lines. Unlike `lines`, this does not remove any empty line at the end.

unlines' :: [Text] -> Text Source #

Inverse of `lines'`. In contrast to `unlines`, this does not add an empty line at the end.

padLeft :: Int -> String -> String Source #

padRight :: Int -> String -> String Source #

commonTPrefix :: [Text] -> Maybe Text Source #

Works by resupplying the found prefix back into the list, eventually either finding the prefix or not matching.

commonTPrefix' :: [Text] -> Text Source #

Like `commonTPrefix` but returns empty text on failure.

listify :: [YiString] -> YiString Source #

This is kind of like the default Show instance for lists except over `Text`. It does not leave the elements in extra quotes and should not be attempted to be `show`n and `read` back.

showT :: Show a => a -> Text Source #

Helper that shows then packs the `Text`, for all those cases where we use `show`.

overInit :: (YiString -> YiString) -> YiString -> YiString Source #

`overInit f` runs f over the `init` of the input if possible, preserving the `last` element as-is. If given a string with length ≤ 1, it effectively does nothing.

Also see `overTail`.

overTail :: (YiString -> YiString) -> YiString -> YiString Source #

`overInit f` runs f over the `tail` of the input if possible, preserving the `head` element as-is. If given a string with length ≤ 1, it effectively does nothing.

Also see `overInit`.