CustomRBLocalSourceCodeFormatter.st
author Jakub Nesveda <jakubnesveda@seznam.cz>
Sun, 25 Jan 2015 13:39:42 +0100
changeset 803 95cdac772759
parent 781 07c16cc3cf55
child 804 14025d247548
permissions -rw-r--r--
Fixed failing tests caused by new STX release * RBParser cannot parse expressions like #NameSpace::Class - changed to #'NameSpace::Class' * AddClassChange has renamed variables instanceVariableNames -> instanceVariableString, classVariableNames -> classVariableString
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
653
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
     1
"{ Package: 'jn:refactoring_custom' }"
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
     2
803
95cdac772759 Fixed failing tests caused by new STX release
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 781
diff changeset
     3
"{ NameSpace: Smalltalk }"
95cdac772759 Fixed failing tests caused by new STX release
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 781
diff changeset
     4
653
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
     5
CustomSourceCodeFormatter subclass:#CustomRBLocalSourceCodeFormatter
662
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
     6
	instanceVariableNames:'localFormatterSettings originalFormatterSettings formatterClass'
653
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
     7
	classVariableNames:''
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
     8
	poolDictionaries:''
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
     9
	category:'Interface-Refactoring-Custom'
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    10
!
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    11
776
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
    12
!CustomRBLocalSourceCodeFormatter class methodsFor:'documentation'!
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
    13
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
    14
documentation
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
    15
"
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
    16
    Source code formatter based on RBFormatter, but with settings stored in instance variable.
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
    17
    Formatting itself temporarily changes global settings then performs formatting and
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
    18
    ensures that original settings are restored.
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
    19
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
    20
    [author:]
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
    21
        Jakub Nesveda <nesvejak@fit.cvut.cz> 
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
    22
"
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
    23
! !
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
    24
653
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    25
!CustomRBLocalSourceCodeFormatter methodsFor:'accessing'!
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    26
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    27
doesNotUnderstand: aMessage
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    28
    "Store RBFormatter local settings"
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    29
    | selector arguments |
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    30
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    31
    selector := aMessage selector asSymbol.
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    32
    arguments := aMessage arguments.
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    33
662
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
    34
    ((formatterClass class canUnderstand: selector) and: [arguments size <= 1]) ifTrue: [
653
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    35
        (arguments size = 0) ifTrue: [
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    36
            ^ localFormatterSettings at: selector.
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    37
        ] ifFalse: [
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    38
            | accessor |
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    39
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    40
            accessor := (selector copyFrom:1 to:(selector size - 1)) asSymbol.
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    41
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    42
            ^ localFormatterSettings at: accessor put: (arguments first).
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    43
        ]
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    44
    ].
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    45
662
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
    46
    ^ super doesNotUnderstand: aMessage.
653
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    47
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    48
    "Created: / 28-08-2014 / 22:39:16 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
662
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
    49
    "Modified: / 31-08-2014 / 14:32:43 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
    50
!
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
    51
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
    52
formatterClass
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
    53
    ^ formatterClass
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
    54
!
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
    55
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
    56
formatterClass:something
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
    57
    formatterClass := something.
653
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    58
! !
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    59
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    60
!CustomRBLocalSourceCodeFormatter methodsFor:'formatting'!
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    61
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    62
formatParseTree:aParseTree
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    63
    "Return parse tree formatted as source code with custom RBFormatter settings"
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    64
    | source |
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    65
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    66
    [
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    67
        self setUpFormatterSettings.
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    68
        aParseTree source notNil ifTrue:[
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    69
            "normally aParseTree >> formattedCode should return formatted string,
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    70
            but there is some error with building syntax-valid source code"
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    71
            source := self formatSourceCode: aParseTree source
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    72
        ] ifFalse:[
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    73
            source := aParseTree formattedCode
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    74
        ].
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    75
    ] ensure: [
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    76
        self restoreFormatterSettings.
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    77
    ].
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    78
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    79
    ^ source
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    80
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    81
    "Modified: / 29-08-2014 / 00:12:31 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    82
!
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    83
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    84
formatSourceCode:aSourceCodeString
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    85
662
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
    86
    ^ formatterClass format: aSourceCodeString
653
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    87
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    88
    "Created: / 28-08-2014 / 23:58:41 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
662
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
    89
    "Modified: / 31-08-2014 / 10:59:36 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
653
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    90
! !
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    91
781
07c16cc3cf55 Same method protocol name (initialization) for initialize method
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 776
diff changeset
    92
!CustomRBLocalSourceCodeFormatter methodsFor:'initialization'!
653
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    93
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    94
initialize
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    95
662
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
    96
    localFormatterSettings := IdentityDictionary new.
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
    97
    formatterClass := RBFormatter.
653
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    98
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    99
    "Created: / 28-08-2014 / 23:05:44 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
662
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
   100
    "Modified: / 31-08-2014 / 10:58:58 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
653
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   101
!
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   102
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   103
restoreFormatterSettings
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   104
    "see setUpFormatterSettings "
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   105
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   106
    originalFormatterSettings keysAndValuesDo: [ :key :value |
662
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
   107
        formatterClass perform: key asMutator with: value.   
653
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   108
    ].
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   109
662
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
   110
    "Modified: / 31-08-2014 / 14:59:41 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
653
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   111
!
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   112
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   113
setUpFormatterSettings
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   114
    "Settings for RBFormatter to keep formatting settings independent on system settings.
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   115
    Actually this is not perfect solution because of global scope modifications - imagine
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   116
    parallel execution. "
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   117
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   118
    originalFormatterSettings := IdentityDictionary new.
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   119
    localFormatterSettings keysAndValuesDo: [ :key :value |
662
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
   120
        originalFormatterSettings at: key put: (formatterClass perform: key).
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
   121
        formatterClass perform: key asMutator with: value.   
653
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   122
    ].
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   123
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   124
    "Created: / 20-08-2014 / 22:21:17 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
662
9d766cee6d31 add unit tests for CustomSourceCodeFormatter(s)
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 653
diff changeset
   125
    "Modified: / 31-08-2014 / 15:00:09 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
653
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   126
! !
7ad678c3b850 first draft (14 tests not passing) - instace-like formatter CustomSourceCodeFormatter and its two implementations
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
   127
776
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
   128
!CustomRBLocalSourceCodeFormatter class methodsFor:'documentation'!
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
   129
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
   130
version_HG
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
   131
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
   132
    ^ '$Changeset: <not expanded> $'
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
   133
! !
60cfe4149838 added missing source code formatting classes documentation
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 662
diff changeset
   134