mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Adding support to detect the difference between a Grails gsp and a Gosu gsp.
This commit is contained in:
		@@ -432,6 +432,19 @@ module Linguist
 | 
				
			|||||||
        Language['R']
 | 
					        Language['R']
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    # Internal: Guess language of .gsp files.
 | 
				
			||||||
 | 
					    # 
 | 
				
			||||||
 | 
					    # Returns a Language.
 | 
				
			||||||
 | 
					    def guess_gsp_language
 | 
				
			||||||
 | 
					    	    if lines.grep(/<%|<%@|${|<%|<g:|<meta name="layout"|<r:/).any?
 | 
				
			||||||
 | 
					    	Language['Groovy Server Pages']
 | 
				
			||||||
 | 
					      else
 | 
				
			||||||
 | 
					        Language['Gosu']
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Internal: Guess language from the first line.
 | 
					    # Internal: Guess language from the first line.
 | 
				
			||||||
    #
 | 
					    #
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -379,6 +379,16 @@ Groovy:
 | 
				
			|||||||
  - .gradle
 | 
					  - .gradle
 | 
				
			||||||
  - .groovy
 | 
					  - .groovy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Groovy Server Pages:
 | 
				
			||||||
 | 
					  group: Groovy
 | 
				
			||||||
 | 
					  lexer: Java Server Page
 | 
				
			||||||
 | 
					  overrides:
 | 
				
			||||||
 | 
					  - .gsp  
 | 
				
			||||||
 | 
					  aliases:
 | 
				
			||||||
 | 
					  - gsp
 | 
				
			||||||
 | 
					  extensions:
 | 
				
			||||||
 | 
					  - .gsp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
HTML:
 | 
					HTML:
 | 
				
			||||||
  type: markup
 | 
					  type: markup
 | 
				
			||||||
  primary_extension: .html
 | 
					  primary_extension: .html
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										10
									
								
								test/fixtures/bar.gsp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								test/fixtures/bar.gsp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					<html>
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 | 
				
			||||||
 | 
					    <title>Testing with SiteMesh and Resources</title>
 | 
				
			||||||
 | 
					    <meta name="layout" content="blankMain"/>
 | 
				
			||||||
 | 
					    <r:require module="style"/>
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										16
									
								
								test/fixtures/hello-pagedirective.gsp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								test/fixtures/hello-pagedirective.gsp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					<%@ page contentType="text/html;charset=UTF-8" %>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<html>
 | 
				
			||||||
 | 
					  <head>
 | 
				
			||||||
 | 
					    <title>Using page directive tag</title>
 | 
				
			||||||
 | 
					  </head>
 | 
				
			||||||
 | 
					  <body>
 | 
				
			||||||
 | 
					        <div class="center">
 | 
				
			||||||
 | 
					            <a href="#" alt="Download" id="downloadButton">Download</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="center">
 | 
				
			||||||
 | 
					            <a href="#" alt="Print" id="printButton">Print</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					  </body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										9
									
								
								test/fixtures/hello-resources.gsp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/fixtures/hello-resources.gsp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					<html>
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 | 
				
			||||||
 | 
					    <title>Testing with Resources</title>
 | 
				
			||||||
 | 
					    <r:require module="style"/>
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
@@ -332,6 +332,12 @@ class TestBlob < Test::Unit::TestCase
 | 
				
			|||||||
    assert_equal Language['Gosu'], blob("hello.gsp").language
 | 
					    assert_equal Language['Gosu'], blob("hello.gsp").language
 | 
				
			||||||
    assert_equal Language['Gosu'], blob("Hello.gst").language
 | 
					    assert_equal Language['Gosu'], blob("Hello.gst").language
 | 
				
			||||||
    assert_equal Language['Gosu'], blob("hello.vark").language
 | 
					    assert_equal Language['Gosu'], blob("hello.vark").language
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    #Groovy Server Pages 
 | 
				
			||||||
 | 
					    assert_equal Language['Groovy Server Pages'], blob("bar.gsp").language
 | 
				
			||||||
 | 
					    assert_equal Language['Groovy Server Pages'], blob("hello-resources.gsp").language
 | 
				
			||||||
 | 
					    assert_equal Language['Groovy Server Pages'], blob("hello-pagedirective.gsp").language
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def test_lexer
 | 
					  def test_lexer
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user