From: Andy S. <And...@co...> - 2010-05-24 03:32:07
|
diffing dir... Sun May 23 23:31:55 EDT 2010 Andy Stewart <laz...@gm...> * Move sourceview demo to ./gtksourceview2/demo Ignore-this: 3239746ab1c6293af3c4af235511e631 { hunk ./demo/sourceview/Makefile 1 - -PROG = sourceview -SOURCES = SourceViewTest.hs - -$(PROG) : $(SOURCES) - $(HC) --make $< -o $@ $(HCFLAGS) - -clean: - rm -f $(SOURCES:.hs=.hi) $(SOURCES:.hs=.o) $(PROG) - -HC=ghc rmfile ./demo/sourceview/Makefile hunk ./demo/sourceview/SourceViewTest.hs 1 --- Test file for the SourceView widget. -module Main where - -import Graphics.UI.Gtk -import Graphics.UI.Gtk.SourceView - -main = do - initGUI - win <- windowNew - win `onDestroy` mainQuit - - -- create the appropriate language - lm <- sourceLanguageManagerNew - langM <- sourceLanguageManagerGetLanguage lm "haskell" - lang <- case langM of - (Just lang) -> return lang - Nothing -> do - langDirs <- sourceLanguageManagerGetSearchPath lm - error ("please copy haskell.lang to one of the following directories:\n" - ++unlines langDirs) - - -- create a new SourceBuffer object - buffer <- sourceBufferNewWithLanguage lang - - -- load up and display a file - fileContents <- readFile "SourceViewTest.hs" - textBufferSetText buffer fileContents - textBufferSetModified buffer False - - sourceBufferSetHighlightSyntax buffer True - - -- create a new SourceView Widget - sv <- sourceViewNewWithBuffer buffer - - -- put it in a scrolled window - sw <- scrolledWindowNew Nothing Nothing - sw `containerAdd` sv - scrolledWindowSetPolicy sw PolicyAutomatic PolicyAutomatic - sw `scrolledWindowSetShadowType` ShadowIn - win `containerAdd` sw - [_$_] - -- show the widget and run the main loop - windowSetDefaultSize win 400 500 - widgetShowAll win - mainGUI rmfile ./demo/sourceview/SourceViewTest.hs hunk ./demo/sourceview/haskell.lang 1 -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE language SYSTEM "language.dtd"> -<language _name="Haskell" version="1.0" _section="Sources" mimetypes="text/x-haskell"> - - <escape-char>\</escape-char> - - <line-comment _name = "Line Comment" style= "Comment"> - <start-regex>--</start-regex> - </line-comment> - - <block-comment _name = "Block Comment" style = "Comment"> - <start-regex>\{-</start-regex> - <end-regex>-\}</end-regex> - </block-comment> - - <syntax-item _name = "Pragma" style = "Preprocessor"> - <start-regex>\{-#</start-regex> - <end-regex>#-\}</end-regex> - </syntax-item> - - <pattern-item _name = "Data Type or Constructor" style = "Data Type"> - <regex>\b[A-Z][0-9a-zA-Z._]*('|#)*</regex> - </pattern-item> - - <pattern-item _name = "Keysymbols" style = "Keyword"> - <regex>::|->|<-|=>|=|\||\\|@|~|\.\.</regex> - </pattern-item> -<!-- - <pattern-item _name = "Operators" style = "Operators"> - <regex>[:!#$%&*+./>=<?@\\^|~\-]+</regex> - </pattern-item> - - <keyword-list _name="Keysymbols" style = "Keyword"> - <keyword>::</keyword> - <keyword>-></keyword> - <keyword><-</keyword> - <keyword>=></keyword> - <keyword>=</keyword> - <keyword>|</keyword>` - <keyword>\</keyword> - <keyword>@</keyword> - <keyword>~</keyword> - <keyword>..</keyword> - </keyword-list> ---> - <string _name = "String" style = "String" end-at-line-end = "true"> - <start-regex>"</start-regex> - <end-regex>"</end-regex> - </string> - - <string _name = "Character Constant" style = "String" end-at-line-end = "true"> - <start-regex>[^A-Za-z0-9]'</start-regex> - <end-regex>'</end-regex> - </string> - - <pattern-item _name = "Decimal" style = "Decimal"> - <regex>\b[0-9]\b</regex> - </pattern-item> - - <pattern-item _name = "Floating Point Number" style = "Floating point"> - <regex>\b([0-9]+.[0-9]+([eE][+-]?[0-9])?|[0-9][eE][+-]?[0-9])</regex> - </pattern-item> - - <pattern-item _name = "Octal Number" style = "Base-N Integer"> - <regex>\b[oO][0-7]+\b</regex> - </pattern-item> - - <pattern-item _name = "Hex Number" style = "Base-N Integer"> - <regex>\b0[xX][0-9a-fA-F]+\b</regex> - </pattern-item> - - <keyword-list _name = "Keywords" style = "Keyword" case-sensitive="true"> - <keyword>as</keyword> - <keyword>case</keyword> - <keyword>class</keyword> - <keyword>data</keyword> - <keyword>deriving</keyword> - <keyword>do</keyword> - <keyword>else</keyword> - <keyword>forall</keyword> <!-- GHC extension --> - <keyword>hiding</keyword> - <keyword>if</keyword> - <keyword>import</keyword> - <keyword>in</keyword> - <keyword>infix</keyword> - <keyword>infixl</keyword> - <keyword>infixr</keyword> - <keyword>instance</keyword> - <keyword>let</keyword> - <keyword>module</keyword> - <keyword>newtype</keyword> - <keyword>of</keyword> - <keyword>qualified</keyword> - <keyword>then</keyword> - <keyword>where</keyword> - <keyword>with</keyword> <!-- GHC extension --> - </keyword-list> - - <keyword-list _name = "Preprocessor Definitions" style = "Preprocessor" case-sensitive="true" - match-empty-string-at-beginning = "false" - match-empty-string-at-end = "true" - beginning-regex = "^[ \t]*#[ \t]*"> - <keyword>if</keyword> - <keyword>ifdef</keyword> - <keyword>ifndef</keyword> - <keyword>else</keyword> - <keyword>elif</keyword> - <keyword>define</keyword> - <keyword>endif</keyword> - <keyword>undef</keyword> - <keyword>error</keyword> - </keyword-list> - -</language> rmfile ./demo/sourceview/haskell.lang rmdir ./demo/sourceview adddir ./gtksourceview2/demo addfile ./gtksourceview2/demo/Makefile hunk ./gtksourceview2/demo/Makefile 1 + +PROG = sourceview +SOURCES = SourceViewTest.hs + +$(PROG) : $(SOURCES) + $(HC) --make $< -o $@ $(HCFLAGS) + +clean: + rm -f $(SOURCES:.hs=.hi) $(SOURCES:.hs=.o) $(PROG) + +HC=ghc addfile ./gtksourceview2/demo/SourceViewTest.hs hunk ./gtksourceview2/demo/SourceViewTest.hs 1 +-- Test file for the SourceView widget. +module Main where + +import Graphics.UI.Gtk +import Graphics.UI.Gtk.SourceView + +main = do + initGUI + win <- windowNew + win `onDestroy` mainQuit + + -- create the appropriate language + lm <- sourceLanguageManagerNew + langM <- sourceLanguageManagerGetLanguage lm "haskell" + lang <- case langM of + (Just lang) -> return lang + Nothing -> do + langDirs <- sourceLanguageManagerGetSearchPath lm + error ("please copy haskell.lang to one of the following directories:\n" + ++unlines langDirs) + + -- create a new SourceBuffer object + buffer <- sourceBufferNewWithLanguage lang + + -- load up and display a file + fileContents <- readFile "SourceViewTest.hs" + textBufferSetText buffer fileContents + textBufferSetModified buffer False + + sourceBufferSetHighlightSyntax buffer True + + -- create a new SourceView Widget + sv <- sourceViewNewWithBuffer buffer + + -- put it in a scrolled window + sw <- scrolledWindowNew Nothing Nothing + sw `containerAdd` sv + scrolledWindowSetPolicy sw PolicyAutomatic PolicyAutomatic + sw `scrolledWindowSetShadowType` ShadowIn + win `containerAdd` sw + [_$_] + -- show the widget and run the main loop + windowSetDefaultSize win 400 500 + widgetShowAll win + mainGUI addfile ./gtksourceview2/demo/haskell.lang hunk ./gtksourceview2/demo/haskell.lang 1 +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE language SYSTEM "language.dtd"> +<language _name="Haskell" version="1.0" _section="Sources" mimetypes="text/x-haskell"> + + <escape-char>\</escape-char> + + <line-comment _name = "Line Comment" style= "Comment"> + <start-regex>--</start-regex> + </line-comment> + + <block-comment _name = "Block Comment" style = "Comment"> + <start-regex>\{-</start-regex> + <end-regex>-\}</end-regex> + </block-comment> + + <syntax-item _name = "Pragma" style = "Preprocessor"> + <start-regex>\{-#</start-regex> + <end-regex>#-\}</end-regex> + </syntax-item> + + <pattern-item _name = "Data Type or Constructor" style = "Data Type"> + <regex>\b[A-Z][0-9a-zA-Z._]*('|#)*</regex> + </pattern-item> + + <pattern-item _name = "Keysymbols" style = "Keyword"> + <regex>::|->|<-|=>|=|\||\\|@|~|\.\.</regex> + </pattern-item> +<!-- + <pattern-item _name = "Operators" style = "Operators"> + <regex>[:!#$%&*+./>=<?@\\^|~\-]+</regex> + </pattern-item> + + <keyword-list _name="Keysymbols" style = "Keyword"> + <keyword>::</keyword> + <keyword>-></keyword> + <keyword><-</keyword> + <keyword>=></keyword> + <keyword>=</keyword> + <keyword>|</keyword>` + <keyword>\</keyword> + <keyword>@</keyword> + <keyword>~</keyword> + <keyword>..</keyword> + </keyword-list> +--> + <string _name = "String" style = "String" end-at-line-end = "true"> + <start-regex>"</start-regex> + <end-regex>"</end-regex> + </string> + + <string _name = "Character Constant" style = "String" end-at-line-end = "true"> + <start-regex>[^A-Za-z0-9]'</start-regex> + <end-regex>'</end-regex> + </string> + + <pattern-item _name = "Decimal" style = "Decimal"> + <regex>\b[0-9]\b</regex> + </pattern-item> + + <pattern-item _name = "Floating Point Number" style = "Floating point"> + <regex>\b([0-9]+.[0-9]+([eE][+-]?[0-9])?|[0-9][eE][+-]?[0-9])</regex> + </pattern-item> + + <pattern-item _name = "Octal Number" style = "Base-N Integer"> + <regex>\b[oO][0-7]+\b</regex> + </pattern-item> + + <pattern-item _name = "Hex Number" style = "Base-N Integer"> + <regex>\b0[xX][0-9a-fA-F]+\b</regex> + </pattern-item> + + <keyword-list _name = "Keywords" style = "Keyword" case-sensitive="true"> + <keyword>as</keyword> + <keyword>case</keyword> + <keyword>class</keyword> + <keyword>data</keyword> + <keyword>deriving</keyword> + <keyword>do</keyword> + <keyword>else</keyword> + <keyword>forall</keyword> <!-- GHC extension --> + <keyword>hiding</keyword> + <keyword>if</keyword> + <keyword>import</keyword> + <keyword>in</keyword> + <keyword>infix</keyword> + <keyword>infixl</keyword> + <keyword>infixr</keyword> + <keyword>instance</keyword> + <keyword>let</keyword> + <keyword>module</keyword> + <keyword>newtype</keyword> + <keyword>of</keyword> + <keyword>qualified</keyword> + <keyword>then</keyword> + <keyword>where</keyword> + <keyword>with</keyword> <!-- GHC extension --> + </keyword-list> + + <keyword-list _name = "Preprocessor Definitions" style = "Preprocessor" case-sensitive="true" + match-empty-string-at-beginning = "false" + match-empty-string-at-end = "true" + beginning-regex = "^[ \t]*#[ \t]*"> + <keyword>if</keyword> + <keyword>ifdef</keyword> + <keyword>ifndef</keyword> + <keyword>else</keyword> + <keyword>elif</keyword> + <keyword>define</keyword> + <keyword>endif</keyword> + <keyword>undef</keyword> + <keyword>error</keyword> + </keyword-list> + +</language> } |