TsqlFormat.cs :  » Bloggers » BlogEngine.NET » CodeFormatter » C# / CSharp Open Source

Home
C# / CSharp Open Source
1.2.6.4 mono .net core
2.2.6.4 mono core
3.Aspect Oriented Frameworks
4.Bloggers
5.Build Systems
6.Business Application
7.Charting Reporting Tools
8.Chat Servers
9.Code Coverage Tools
10.Content Management Systems CMS
11.CRM ERP
12.Database
13.Development
14.Email
15.Forum
16.Game
17.GIS
18.GUI
19.IDEs
20.Installers Generators
21.Inversion of Control Dependency Injection
22.Issue Tracking
23.Logging Tools
24.Message
25.Mobile
26.Network Clients
27.Network Servers
28.Office
29.PDF
30.Persistence Frameworks
31.Portals
32.Profilers
33.Project Management
34.RSS RDF
35.Rule Engines
36.Script
37.Search Engines
38.Sound Audio
39.Source Control
40.SQL Clients
41.Template Engines
42.Testing
43.UML
44.Web Frameworks
45.Web Service
46.Web Testing
47.Wiki Engines
48.Windows Presentation Foundation
49.Workflows
50.XML Parsers
C# / C Sharp
C# / C Sharp by API
C# / CSharp Tutorial
C# / CSharp Open Source » Bloggers » BlogEngine.NET 
BlogEngine.NET » CodeFormatter » TsqlFormat.cs
#region Copyright  2001-2003 Jean-Claude Manoli [jc@manoli.net]
/*
 * Based on code submitted by Mitsugi Ogawa.
 * 
 * This software is provided 'as-is', without any express or implied warranty.
 * In no event will the author(s) be held liable for any damages arising from
 * the use of this software.
 * 
 * Permission is granted to anyone to use this software for any purpose,
 * including commercial applications, and to alter it and redistribute it
 * freely, subject to the following restrictions:
 * 
 *   1. The origin of this software must not be misrepresented; you must not
 *      claim that you wrote the original software. If you use this software
 *      in a product, an acknowledgment in the product documentation would be
 *      appreciated but is not required.
 * 
 *   2. Altered source versions must be plainly marked as such, and must not
 *      be misrepresented as being the original software.
 * 
 *   3. This notice may not be removed or altered from any source distribution.
 */ 
#endregion

using System;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;

namespace CodeFormatter{
  /// <summary>
  /// Generates color-coded T-SQL source code.
  /// </summary>
  public class TsqlFormat : CodeFormat
  {
    /// <summary>
    /// Regular expression string to match single line 
    /// comments (--). 
    /// </summary>
    protected override string CommentRegEx
    {
      get
      {
        return @"(?:--\s).*?(?=\r|\n)";
      }
    }

    /// <summary>
    /// Regular expression string to match string literals. 
    /// </summary>
    protected override string StringRegEx
    {
      get
      {
        return @"''|'.*?'";
      }
    }

    /// <summary>
    /// Returns <b>false</b>, since T-SQL is not case sensitive.
    /// </summary>
    public override bool CaseSensitive
    {
      get { return false; }
    }


    /// <summary>
    /// The list of T-SQL keywords.
    /// </summary>
    protected override string Keywords
    {
      get
      {
        return "absolute action ada add admin after aggregate "
          + "alias all allocate alter and any are array as asc "
          + "assertion at authorization avg backup before begin "
          + "between binary bit bit_length blob boolean both breadth "
          + "break browse bulk by call cascade cascaded case cast "
          + "catalog char char_length character character_length "
          + "check checkpoint class clob close clustered coalesce "
          + "collate collation column commit completion compute "
          + "connect connection constraint constraints constructor "
          + "contains containstable continue convert corresponding "
          + "count create cross cube current current_date current_path "
          + "current_role current_time current_timestamp current_user "
          + "cursor cycle data database date day dbcc deallocate dec "
          + "decimal declare default deferrable deferred delete deny "
          + "depth deref desc describe descriptor destroy destructor "
          + "deterministic diagnostics dictionary disconnect disk "
          + "distinct distributed domain double drop dummy dump "
          + "dynamic each else end end-exec equals errlvl escape "
          + "every except exception exec execute exists exit external "
          + "extract false fetch file fillfactor first float for "
          + "foreign fortran found free freetext freetexttable from "
          + "full function general get global go goto grant group "
          + "grouping having holdlock host hour identity identity_insert "
          + "identitycol if ignore immediate in include index indicator "
          + "initialize initially inner inout input insensitive insert "
          + "int integer intersect interval into is isolation iterate "
          + "join key kill language large last lateral leading left "
          + "less level like limit lineno load local localtime localtimestamp "
          + "locator lower map match max min minute modifies modify "
          + "module month names national natural nchar nclob new next "
          + "no nocheck nonclustered none not null nullif numeric object "
          + "octet_length of off offsets old on only open opendatasource "
          + "openquery openrowset openxml operation option or order "
          + "ordinality out outer output over overlaps pad parameter "
          + "parameters partial pascal path percent plan position "
          + "postfix precision prefix preorder prepare preserve "
          + "primary print prior privileges proc procedure "
          + "public raiserror read reads readtext real reconfigure "
          + "recursive ref references referencing relative replication "
          + "restore restrict result return returns revoke right role "
          + "rollback rollup routine row rowcount rowguidcol rows rule "
          + "save savepoint schema scope scroll search second section "
          + "select sequence session session_user set sets setuser "
          + "shutdown size smallint some space specific specifictype "
          + "sql sqlca sqlcode sqlerror sqlexception sqlstate sqlwarning "
          + "start state statement static statistics structure substring "
          + "sum system_user table temporary terminate textsize than then "
          + "time timestamp timezone_hour timezone_minute to top trailing "
          + "tran transaction translate translation treat trigger trim "
          + "true truncate tsequal under union unique unknown unnest "
          + "update updatetext upper usage use user using value values "
          + "varchar variable varying view waitfor when whenever where "
          + "while with without work write writetext year zone";
      }
    }

    /// <summary>
    /// Use the pre-processor color to mark keywords that start with @@.
    /// </summary>
    protected override string Preprocessors
    {
      get 
      { 
        return @"@@CONNECTIONS @@CPU_BUSY @@CURSOR_ROWS @@DATEFIRST "
          + "@@DBTS @@ERROR @@FETCH_STATUS @@IDENTITY @@IDLE "
          + "@@IO_BUSY @@LANGID @@LANGUAGE @@LOCK_TIMEOUT "
          + "@@MAX_CONNECTIONS @@MAX_PRECISION @@NESTLEVEL @@OPTIONS "
          + "@@PACK_RECEIVED @@PACK_SENT @@PACKET_ERRORS @@PROCID "
          + "@@REMSERVER @@ROWCOUNT @@SERVERNAME @@SERVICENAME @@SPID "
          + "@@TEXTSIZE @@TIMETICKS @@TOTAL_ERRORS @@TOTAL_READ "
          + "@@TOTAL_WRITE @@TRANCOUNT @@VERSION";
      }
    }
  }
}
www.java2v.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.