Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

24 lines (18 sloc) 0.745 kb
module Signature (plugin) where
-- This plugin replaces $SIG$ with the username and timestamp
-- of the last edit, prior to saving the page in the repository.
import Network.Gitit.Interface
import Data.DateTime (getCurrentTime, formatDateTime)
plugin :: Plugin
plugin = PreCommitTransform replacedate
replacedate :: String -> PluginM String
replacedate [] = return ""
replacedate ('$':'S':'I':'G':'$':xs) = do
datetime <- liftIO getCurrentTime
mbuser <- askUser
let username = case mbuser of
Nothing -> "???"
Just u -> uUsername u
let sig = concat ["-- ", username, " (", formatDateTime "%c" datetime, ")"]
fmap (sig ++ ) $ replacedate xs
replacedate (x:xs) = fmap (x : ) $ replacedate xs
Jump to Line
Something went wrong with that request. Please try again.