Asterisk-config-syntax-highlight

 view release on metacpan or  search on metacpan

lib/Asterisk/config/syntax/highlight.pm  view on Meta::CPAN

          map { $highlight->doStr( str => $_ ) }
          split( /\n/, $datas );
        $global{ ident $self}{datas} = \@data;

    }

    #only return array references now
    sub return_html_array_ref {
        my ( $self, %options ) = @_;
        return $global{ ident $self}{datas};
    }

    sub return_ubb_array_ref {
        my ( $self, %options ) = @_;
        my @data =
          map { $self->_html2ubb($_); } @{ $global{ ident $self}{datas} };
        return \@data;

    }

    sub return_wiki_array_ref {
        my ( $self, %options ) = @_;
        my @data =
          map { $self->_html2wiki($_); } @{ $global{ ident $self}{datas} };
        return \@data;
    }

    sub _html2ubb {
        my ( $self, $text ) = @_;
        $text =~ s/<span(\s)class='keyword'>/[color=blue]/ig;
        $text =~ s/<span(\s)class='function'>/[color=olive]/ig;
        $text =~ s/<span(\s)class='comment'>/[color=seagreen]/ig;
        $text =~ s/<span(\s)class='value'>/[color=purple]/ig;
        $text =~ s/<span(\s)class='identifier'>/[color=magenta]/ig;
        $text =~ s/<span(\s)class='exten'>/[color=red]/ig;
        $text =~ s/<\/span>/[\/color]/ig;
        return $text;
    }

    sub _html2wiki {
        my ( $self, $text ) = @_;
        $text =~ s/<span(\s)class='keyword'>/~~blue:/ig;
        $text =~ s/<span(\s)class='function'>/~~olive:/ig;
        $text =~ s/<span(\s)class='comment'>/~~seagreen:/ig;
        $text =~ s/<span(\s)class='value'>/~~purple:/ig;
        $text =~ s/<span(\s)class='identifier'>/~~magenta:/ig;
        $text =~ s/<span(\s)class='exten'>/~~red:/ig;
        $text =~ s/<\/span>/~~/ig;
        $text =~ s/\[/\[\[/ig;
        return $text;
    }

    sub DESTROY {
        my ($self) = @_;
        delete $global{ ident $self};
        return;
    }

    sub commands {
        return qw/
          AbsoluteTimeout
          AddQueueMember
          ADSIProg
          AgentCallbackLogin
          AgentLogin
          AgentMonitorOutgoing
          AGI
          AlarmReceiver
          ALSAMonitor
          AMD
          Answer
          AppendCDRUserField
          Authenticate
          BackGround
          BackgroundDetect
          Bridge
          Busy
          CallingPres
          ChangeMonitor
          ChanIsAvail
          ChannelRedirect
          ChanSpy
          CheckGroup
          ClearHash
          Congestion
          ContinueWhile
          ControlPlayback
          DAHDIBarge
          DAHDIRAS
          DAHDIScan
          DAHDISendKeypadFacility
          DBdel
          DBdeltree
          DBQuery
          DBRewrite
          DeadAGI
          Dial
          Dictate
          DigitTimeout
          Directory
          DISA
          DTMFToText
          DUNDiLookup
          EAGI
          Echo
          EndWhile
          EnumLookup
          Exec
          ExecIf
          ExecIfTime
          ExitWhile
          ExtenSpy
          ExternIVR
          Festival
          Flash
          Flite
          ForkCDR
          GetCPEID
          GetGroupCount
          GetGroupMatchCount
          Gosub
          GosubIf
          Goto
          GotoIf
          GotoIfTime
          Hangup
          HasNewVoicemail
          HasVoicemail
          ICES
          ImportVar
          JabberSend
          JabberStatus
          KeepAlive
          Log
          LookupBlacklist
          LookupCIDName
          Macro
          MacroExclusive
          MacroExit
          MailboxExists
          MeetMe
          MeetMeAdmin
          MeetMeChannelAdmin
          MeetMeCount
          Milliwatt
          MiniVM
          MixMonitor
          Monitor
          MP3Player
          MSet
          MusicOnHold
          MYSQL
          Asterisk cmg NBScat
          NoCDR
          NoOp
          ODBCFinish
          Page
          Park
          ParkAndAnnounce
          ParkedCall
          PauseQueueMember
          Perl
          Pickup
          PickUP
          PickupChan
          Playback
          Playtones
          PPPD
          PrivacyManager
          Proceeding
          Progress
          Queue
          Random
          Read
          ReadExten
          ReadFile
          RealTime
          Record
          RemoveQueueMember
          ResetCDR
          ResponseTimeout
          RetryDial
          Return
          Ringing
          Rpt
          SayAlpha
          SayDigits
          SayNumber
          SayPhonetic
          SayUnixTime
          SendDTMF
          SendImage
          SendText
          SendURL
          Set
          SetAccount
          SetAMAflags
          SetCallerID
          SetCallerPres
          SetCDRUserField
          SetGlobalVar
          SetMusicOnHold
          SIPAddHeader
          SIPCallPickup
          SIPGetHeader
          SIPdtmfMode
          SMS
          SoftHangup
          SrxEchoCan
          SrxDeflect
          SrxMWI
          StackPop
          Steal
          StopMonitor
          StopMixMonitor
          StopPlaytones
          System
          TestClient
          TestServer
          Transfer
          TrySystem
          TXTCIDName
          UnpauseQueueMember
          UserEvent
          VMAuthenticate
          VoiceMail
          VoiceMailMain
          Wait
          WaitExten
          WaitForRing
          WaitMusicOnHold
          WaitUntil
          While
          Zapateller
          /;
    }

    sub functions {
        return qw/
          AGENT
          ARRAY



( run in 1.805 second using v1.01-cache-2.11-cpan-39bf76dae61 )