File: C:\Prj\pb\PBSlice2\test\TestProject\TestIndent.bas
#Compile Exe
#Dim All

' Lots of stuff not working for this that needs to be fixed.
' imo, it's a bad, bad idea, probabbly not worth the effort
' for the indenter.
'#Include "testIndent1.inc"
'a As Long
'b As Long
'End Type

Global gVar As Long
#Export test2, work, test3

Type whacky
  class As AsciiZ * 12
  caption As String * 4
End Type

'Enum extNames
'#Include "testindent2.inc"
'End Enum

Union one
  count_ As Long
  handle_ As Dword
End Union

Type data_
  count_ As Long
  data_ As Dword
End Type

Enum guda_
  Left
  Right
End Enum

Macro test(  a   ) = a+"test"

Macro macdaddy( a,b,c_ )
  If a=b Then c_
End Macro

Macro Function MacFunc(a)
End Macro = 5

Function PBMain () As Long
  Local i As Long
  Local a As String

  Select Case i
    Case 1
      Incr i
      If i>5 Then
        Do While i<7
          Incr i
        Loop
      End If
      Incr i
      Incr i
    Case 2
      Incr i
    Case 3: Incr i
    Case 4:
    Case Else:
  End Select

  Do While i < 5 : Incr i : Loop

  Do :  Loop  While i<5

  While i<5  Rem _ loop a bit _
    Incr i
    i = i
  Wend

  Prefix "!"
    mov eax, eax
  End Prefix
  If i > 5 Then : Incr i

  a = test( "work" )

  MsgBox a

End    Function

Sub test2(): MsgBox "testing": End    Sub

Function work ( a As String ) Export As String: Function = a: End Function

Sub test3() Export
  Local a As String
End Sub

 Sub test4 () Export
  Local a As String
End Sub

Class boring_
  Instance one_ As Long

  Class Method Create ()
    Local cm As String
    Local i,j,k As Long
  End Method

  Interface iboring
    Inherit IUnknown

    Property Get one () As Long
      Local a,b,c As Long

      Property = one_
    End Property

    Method yes ( ByVal a As Long , Optional ByVal b As Long ) As String
      Incr one_
    End Method
  End Interface
End Class

AsmData mydata
  DB &H00, &h01
End AsmData

Threaded x As Long

Declare Sub Sub1()
Declare Function Function1() As Long

Thread Function Function2() As Long
  'Stuff here
End Function

CallBack Function Function3() As Long
  'Stuff here
End Function

Declare CallBack Function Function4() As Long
Declare Thread Function Function5() As Long

FastProc FastProc1() As Long
  'In fast proc
End FastProc = 12