Git Product home page Git Product logo

tese's Introduction

Hi there ๐Ÿ‘‹

tese's People

Contributors

rafaelreia avatar

Stargazers

 avatar

Watchers

 avatar

tese's Issues

Check Syntax

Have a way to continue evaluating the program even with errors in order to display more errors and to have a possibility to do refactoring with "incomplete" programs

Improve Organize Imports

Do not compare the whole string, but substrings. because of the variants of requires and imports

RollBack Refactoring

Useful when doing refactorings that can only be checked in the pos-conditions.

Feedback information

Give information to the user about the Why that refactoring is impossible to do at the moment

Add "name" to the refactoring menu

For example "Rename not-used" instead of only "Rename"

This makes the refactorings more similar to the rename already provided by DrRacket

Bug extract-function wrongly added args

when extracting a function with had (begin-edit-sequence) it added to the arguments of the function.

it was this piece of code:

(define (eta-two var-pos-lst)
                ;;this is done for only two args, for several do somehow a loop that for the nth element does cdr n-1 times and then car
                (define anCall? #f)
                (let* ([arg1 (car var-pos-lst)]
                       [arg2 (cadr var-pos-lst)]
                       [arg-pos-begin1 (var-arrow-start-pos-left arg1)]
                       [arg-pos-begin2 (var-arrow-start-pos-left arg2)]
                       [arg-pos-end1 (var-arrow-end-pos-right arg1)]
                       [arg-pos-end2 (var-arrow-end-pos-right arg2)])

                  (for ([var-arrow (in-list binding-aux)]) ;check if the arrow counts, 
                    (begin ;Check if it's a call, to be a cal it need to be after all args once and before all args
                      ;because the arrows received (aka the args) are increasing order by the first part of the arrow 
                      ;it is possible to do the (> arg1 arg2) like this
                      (when (and (> (var-arrow-end-pos-left var-arrow)  arg-pos-begin2 arg-pos-begin1) ;order changed because how > works.
                                 (< (var-arrow-end-pos-right var-arrow) arg-pos-end1 arg-pos-end2)) ; check if add func. 
                        (begin
                          ;(displayln "An call was found")
                          ;(displayln (var-arrow-start-pos-left var-arrow))
                          (set! anCall? #t)
                          (set! calls (cons var-arrow calls))
                          )
                        )
                      ))
                  (set! calls (remove-duplicates calls = #:key(lambda (x) (var-arrow-end-pos-left x))))
                  ;(displayln (length calls))
                  ;; write the reduction 
                  ;;get call
                  (if anCall?
                      (let ([call (send text get-text  (var-arrow-end-pos-left (car calls)) (var-arrow-end-pos-right (car calls)))]
                            [edit-sequence-txts (list this)])
                        (displayln call)
                        ;;start editiing
                        (begin-edit-sequence)
                        ;(displayln "begin")
                        (send text begin-edit-sequence)
                        (set! edit-sequence-txts (cons text edit-sequence-txts))
                        ;;Delete the text
                        (send text delete start-selection end-selection)
                        ;;write call
                        (send text insert call start-selection)
                        ;; end Editing
                        (for ([txt (in-list edit-sequence-txts)])
                          (send txt end-edit-sequence))
                        )
                      (void))



                  )


                )

the let inside the if anCall?

Rename in Require

Check what the rename does.
When renamming a Required name, rename in the require and not in the original file.

If to When or Unless

When one branch of the if is (void) give a warning and suggest the When or unless depending on which branch is void

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.