mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	.st file extension for StringTemplate HTML files
Conflicts: lib/linguist/samples.json
This commit is contained in:
		
				
					committed by
					
						
						Arfon Smith
					
				
			
			
				
	
			
			
			
						parent
						
							cbcbb969d5
						
					
				
				
					commit
					bb58840c1c
				
			
							
								
								
									
										60
									
								
								samples/HTML/ApiOverviewPage.st
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								samples/HTML/ApiOverviewPage.st
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,60 @@
 | 
			
		||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
 | 
			
		||||
<html>
 | 
			
		||||
<head>
 | 
			
		||||
$Common_meta()$
 | 
			
		||||
<title>
 | 
			
		||||
Android API Differences Report
 | 
			
		||||
</title>
 | 
			
		||||
<body>
 | 
			
		||||
<div class="body">
 | 
			
		||||
 | 
			
		||||
$Header()$
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<div class="content">
 | 
			
		||||
<h2>Android API Differences Report</h2>
 | 
			
		||||
<p>This document details the changes in the Android framework API. It shows 
 | 
			
		||||
additions, modifications, and removals for packages, classes, methods, and 
 | 
			
		||||
fields. Each reference to an API change includes a brief description of the 
 | 
			
		||||
API and an explanation of the change and suggested workaround, where available.</p>
 | 
			
		||||
 | 
			
		||||
<p>The differences described in this report are based a comparison of the APIs 
 | 
			
		||||
whose versions are specified in the upper-right corner of this page. It compares a 
 | 
			
		||||
newer "to" API to an older "from" version, noting any changes relative to the 
 | 
			
		||||
older API. So, for example, indicated API removals are no longer present in the "to" 
 | 
			
		||||
API.</p>
 | 
			
		||||
<p>For more information about the Android framework API and SDK, 
 | 
			
		||||
see the <a href="http://code.google.com/android/index.html" target="_top">Android product site</a>.</p>
 | 
			
		||||
 | 
			
		||||
$if(no_delta)$
 | 
			
		||||
<h3>Congratulation!</h3>
 | 
			
		||||
No differences were detected between the two provided APIs.
 | 
			
		||||
$endif$
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
$if(removed_packages)$
 | 
			
		||||
$Table(name="Removed Packages", rows=removed_packages:{$it.from:ModelElementRow()$})$
 | 
			
		||||
<br/>
 | 
			
		||||
$endif$
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
$if(added_packages)$
 | 
			
		||||
$Table(name="Added Packages", rows=added_packages:{$it.to:PackageAddedLink()$}:SimpleTableRow())$
 | 
			
		||||
<br/>
 | 
			
		||||
$endif$
 | 
			
		||||
 | 
			
		||||
$if(changed_packages)$
 | 
			
		||||
$Table(name="Changed Packages", rows=changed_packages:{$it.to:PackageChangedLink()$}:SimpleTableRow())$
 | 
			
		||||
<br/>
 | 
			
		||||
$endif$
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
</div>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										31
									
								
								samples/HTML/pages.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								samples/HTML/pages.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 | 
			
		||||
<html xmlns="http://www.w3.org/1999/xhtml">
 | 
			
		||||
<head>
 | 
			
		||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 | 
			
		||||
<title>Related Pages</title>
 | 
			
		||||
<link href="qt.css" rel="stylesheet" type="text/css"/>
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
<div class=header>
 | 
			
		||||
<a class=headerLink  href="index.html">Main Page</a> ·
 | 
			
		||||
<a class=headerLink  href="classoverview.html">Class Overview</a> ·
 | 
			
		||||
<a class=headerLink  href="hierarchy.html">Hierarchy</a> ·
 | 
			
		||||
<a class=headerLink  href="annotated.html">All Classes</a>
 | 
			
		||||
</div>
 | 
			
		||||
<!-- Generated by Doxygen 1.8.1.2 -->
 | 
			
		||||
</div><!-- top -->
 | 
			
		||||
<div class="header">
 | 
			
		||||
  <div class="headertitle">
 | 
			
		||||
<div class="title">Related Pages</div>  </div>
 | 
			
		||||
</div><!--header-->
 | 
			
		||||
<div class="contents">
 | 
			
		||||
<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
 | 
			
		||||
<table class="directory">
 | 
			
		||||
<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="classoverview.html" target="_self">Class Overview</a></td><td class="desc"></td></tr>
 | 
			
		||||
<tr id="row_1_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="thelayoutsystem.html" target="_self">The Layout System</a></td><td class="desc"></td></tr>
 | 
			
		||||
</table>
 | 
			
		||||
</div><!-- directory -->
 | 
			
		||||
</div><!-- contents -->
 | 
			
		||||
<div class="footer" />Generated with <a href="http://www.doxygen.org/index.html">Doxygen</a> 1.8.1.2</div>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										111
									
								
								samples/Smalltalk/Dinner.st
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								samples/Smalltalk/Dinner.st
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,111 @@
 | 
			
		||||
"======================================================================
 | 
			
		||||
|
 | 
			
		||||
|   Smalltalk dining philosophers
 | 
			
		||||
|
 | 
			
		||||
|
 | 
			
		||||
 ======================================================================"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
"======================================================================
 | 
			
		||||
|
 | 
			
		||||
| Copyright 1999, 2000 Free Software Foundation, Inc.
 | 
			
		||||
| Written by Paolo Bonzini.
 | 
			
		||||
|
 | 
			
		||||
| This file is part of GNU Smalltalk.
 | 
			
		||||
|
 | 
			
		||||
| GNU Smalltalk is free software; you can redistribute it and/or modify it
 | 
			
		||||
| under the terms of the GNU General Public License as published by the Free
 | 
			
		||||
| Software Foundation; either version 2, or (at your option) any later version.
 | 
			
		||||
| 
 | 
			
		||||
| GNU Smalltalk is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
			
		||||
| FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 | 
			
		||||
| details.
 | 
			
		||||
| 
 | 
			
		||||
| You should have received a copy of the GNU General Public License along with
 | 
			
		||||
| GNU Smalltalk; see the file COPYING.  If not, write to the Free Software
 | 
			
		||||
| Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  
 | 
			
		||||
|
 | 
			
		||||
 ======================================================================"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Object subclass: #Philosophers
 | 
			
		||||
    instanceVariableNames: 'forks philosophers randy eating'
 | 
			
		||||
    classVariableNames: ''
 | 
			
		||||
    poolDictionaries: ''
 | 
			
		||||
    category: 'Examples-Processes'!
 | 
			
		||||
 | 
			
		||||
!Philosophers class methodsFor: 'dining'!
 | 
			
		||||
 | 
			
		||||
new
 | 
			
		||||
    self shouldNotImplement
 | 
			
		||||
!
 | 
			
		||||
 | 
			
		||||
new: quantity
 | 
			
		||||
    ^super new initialize: quantity
 | 
			
		||||
! !
 | 
			
		||||
 | 
			
		||||
!Philosophers methodsFor: 'dining'!
 | 
			
		||||
 | 
			
		||||
dine
 | 
			
		||||
    self dine: 15
 | 
			
		||||
!
 | 
			
		||||
 | 
			
		||||
dine: seconds
 | 
			
		||||
    (Delay forSeconds: seconds) wait.
 | 
			
		||||
    philosophers do: [ :each | each terminate ].
 | 
			
		||||
    self initialize: self size
 | 
			
		||||
!
 | 
			
		||||
 | 
			
		||||
leftFork: n
 | 
			
		||||
    ^forks at: n
 | 
			
		||||
!
 | 
			
		||||
 | 
			
		||||
rightFork: n
 | 
			
		||||
    ^n = self size
 | 
			
		||||
	ifTrue: [ forks at: 1 ]
 | 
			
		||||
	ifFalse: [ forks at: n + 1 ]
 | 
			
		||||
!
 | 
			
		||||
 | 
			
		||||
initialize: n
 | 
			
		||||
    eating := Semaphore new.
 | 
			
		||||
    n - 1 timesRepeat: [ eating signal ].
 | 
			
		||||
 | 
			
		||||
    randy := Random new.
 | 
			
		||||
    forks := (1 to: n) collect: [ :each | Semaphore forMutualExclusion ].
 | 
			
		||||
    philosophers := (1 to: n) collect: [ :each | self philosopher: each ].
 | 
			
		||||
!
 | 
			
		||||
 | 
			
		||||
philosopher: n
 | 
			
		||||
    | philosopherCode leftFork rightFork status |
 | 
			
		||||
    leftFork  := self leftFork: n.
 | 
			
		||||
    rightFork := self rightFork: n.
 | 
			
		||||
    status    := 'Philosopher #', n printString, ' '.
 | 
			
		||||
    philosopherCode := [[ true ] whileTrue: [
 | 
			
		||||
	Transcript nextPutAll: status, 'thinks'; nl.
 | 
			
		||||
	(Delay forMilliseconds: randy next * 2000) wait.
 | 
			
		||||
	Transcript nextPutAll: status, 'wants to eat'; nl.
 | 
			
		||||
	eating critical: [				    "Avoid deadlock"
 | 
			
		||||
	    Transcript nextPutAll: status, 'waits for left fork'; nl.
 | 
			
		||||
	    leftFork wait.
 | 
			
		||||
	    Transcript nextPutAll: status, 'waits for right fork'; nl.
 | 
			
		||||
	    rightFork wait.
 | 
			
		||||
	    Transcript nextPutAll: status, 'eats'; nl.
 | 
			
		||||
	    (Delay forMilliseconds: randy next * 2000) wait.
 | 
			
		||||
	    leftFork signal.
 | 
			
		||||
	    rightFork signal.
 | 
			
		||||
	].
 | 
			
		||||
    ]].
 | 
			
		||||
 | 
			
		||||
    ^(philosopherCode newProcess)
 | 
			
		||||
	priority: Processor userBackgroundPriority;
 | 
			
		||||
	name: status;
 | 
			
		||||
	resume;
 | 
			
		||||
	yourself
 | 
			
		||||
!
 | 
			
		||||
 | 
			
		||||
size
 | 
			
		||||
    ^forks size
 | 
			
		||||
! !
 | 
			
		||||
 | 
			
		||||
(Philosophers new: 5) dine!
 | 
			
		||||
							
								
								
									
										64
									
								
								samples/Smalltalk/TestBasic.st
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								samples/Smalltalk/TestBasic.st
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,64 @@
 | 
			
		||||
Koan subclass: TestBasic [
 | 
			
		||||
  <comment: 'A collection of introductory tests.'>
 | 
			
		||||
 | 
			
		||||
  testDeclarationAndAssignment [
 | 
			
		||||
    | declaration anotherDeclaration |
 | 
			
		||||
    "You must declare variables before using them."
 | 
			
		||||
    "Variables are separated by a single space."
 | 
			
		||||
 | 
			
		||||
    declaration _ 1.  "Squeak Smalltalk way to assign value"
 | 
			
		||||
    anotherDeclaration := 'string'.  "typical way to assign value
 | 
			
		||||
      (this will be used throughout the koans)"
 | 
			
		||||
 | 
			
		||||
    self expect: fillMeIn toEqual: declaration.
 | 
			
		||||
    self expect: fillMeIn toEqual: anotherDeclaration.
 | 
			
		||||
  ]
 | 
			
		||||
 | 
			
		||||
  testEqualSignIsNotAnAssignmentOperator [
 | 
			
		||||
    | variableA variableB value |
 | 
			
		||||
 | 
			
		||||
    variableA := variableB := 1234.  "multiple assignments work"
 | 
			
		||||
    value := variableA = variableB.  "equal is not used for assignment"
 | 
			
		||||
 | 
			
		||||
    self expect: fillMeIn toEqual: (variableA = variableB).
 | 
			
		||||
 | 
			
		||||
    "#== is a message that checks if identity is equal.  More about messages in the TestMessage koan."
 | 
			
		||||
  ]
 | 
			
		||||
 | 
			
		||||
  testMultipleStatementsInASingleLine [
 | 
			
		||||
    | variableA variableB variableC |
 | 
			
		||||
 | 
			
		||||
    "Multiple statements are separated by periods."
 | 
			
		||||
    variableA := 1. variableB := 2. variableC := 3.
 | 
			
		||||
 | 
			
		||||
    self expect: fillMeIn toEqual: variableA.
 | 
			
		||||
    self expect: fillMeIn toEqual: variableB.
 | 
			
		||||
    self expect: fillMeIn toEqual: variableC.
 | 
			
		||||
  ]
 | 
			
		||||
 | 
			
		||||
  testInequality [
 | 
			
		||||
    self expect: fillMeIn toEqual: ('hello' ~= 'world').
 | 
			
		||||
 | 
			
		||||
    "#~~ is a message that checks if identity is not equal.  More about messages in the TestMessage koan."
 | 
			
		||||
  ]
 | 
			
		||||
 | 
			
		||||
  testLogicalOr [
 | 
			
		||||
    | expression |
 | 
			
		||||
 | 
			
		||||
    expression := (3 > 4) | (5 < 6).
 | 
			
		||||
 | 
			
		||||
    self expect: fillMeIn toEqual: expression.
 | 
			
		||||
  ]
 | 
			
		||||
 | 
			
		||||
  testLogicalAnd [
 | 
			
		||||
    | expression |
 | 
			
		||||
 | 
			
		||||
    expression := (2 > 1) & ('a' < 'b').
 | 
			
		||||
 | 
			
		||||
    self expect: fillMeIn toEqual: expression.
 | 
			
		||||
  ]
 | 
			
		||||
 | 
			
		||||
  testNot [
 | 
			
		||||
    self expect: fillMeIn toEqual: true not.
 | 
			
		||||
  ]
 | 
			
		||||
]
 | 
			
		||||
							
								
								
									
										11
									
								
								samples/Smalltalk/testSimpleChainMatches.st
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								samples/Smalltalk/testSimpleChainMatches.st
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
tests
 | 
			
		||||
testSimpleChainMatches
 | 
			
		||||
	|e eCtrl |
 | 
			
		||||
	e := self eventKey: $e.
 | 
			
		||||
	eCtrl := self eventKey: $e ctrl: true.
 | 
			
		||||
	
 | 
			
		||||
	self assert: (($e ctrl, $e) matches: {eCtrl}).
 | 
			
		||||
	self assert: ($e ctrl matches: {eCtrl. e}).
 | 
			
		||||
	
 | 
			
		||||
	self deny: (($e ctrl, $e) matches: {eCtrl. self eventKey: $a}).
 | 
			
		||||
	self deny: ($e ctrl matches: {e}).
 | 
			
		||||
		Reference in New Issue
	
	Block a user