Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/keenwrite.git
# -----------------------------------------------------------------------------
# Copyright 2020, White Magic Software, Ltd.
# 
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation Returns leftmost n characters of slstr <- function( s, n = 1 ) {
  substr( s, 0, n )
}

# -----------------------------------------------------------------------------
# Returns rightmost n characters of srstr <- function( s, n = 1 ) {
  l <- nchar( s )
  substr( s, l - n + 1, l )
}

# -----------------------------------------------------------------------------
# Returns the possessive form of the given word, spos <- function( s ) {
  lcs <- tolower( s )
  pronouns <- c( 'your', 'our', 'her', 'it', 'their' )

  if( lcs == 'my' ) {
    # Change "[Mm]y" to "[Mm]ine".
    s <- paste0( lstr( s, 1 ), "ine" )
  }
  else if( lcs %in% pronouns ) {
    # Append an s to most pronouns.
    s <- paste0( s, 's' )
  }
  else if( lcs != 'his' ) {
    # Possessive for all other words except 'his'.
    s <- paste0( s, ifelse( rstr( s, 1 ) == 's', "'" ,"'s" ) )
  }

  s
}