I suspect not everyone would want this behavior. The current arrangement is pretty straightforward and flexible enough that one can, with relatively little effort make it do many other things.
On Wed, Jun 11, 2014 at 10:44 AM, Aerlinger <[email protected]> wrote: > Right, however, I thought it may be useful to have this convention by > default. The benefit being that you don't have to directly couple this > functionality to the ~/.juliarc.jl file if deploying a Julia repository to > a new machine or a cluster. > > > On Wednesday, June 11, 2014 3:07:05 AM UTC-4, Stefan Karpinski wrote: > >> You can easily add this to your ~/.juliarc.jl file and then it does >> happen, no? >> >> >> On Wed, Jun 11, 2014 at 2:26 AM, Aerlinger <[email protected]> wrote: >> >>> Often when working on projects I find it's common to do certain >>> initializations when Julia starts. This generally includes setting certain >>> configurations, declaring environment variables, setting up connections etc >>> before my code begins to run. Basically, something that looks like this: >>> >>> if isfile("some_initializer.jl") >>> # ... >>> end >>> >>> Wouldn't it be more convenient to have a convention where Julia checks >>> for the existence of a runtime configuration .juliarc.jl file in the >>> working directory and executes it at startup if it exists? Other languages >>> and interactive environments such as R (.Rprofile) have implemented this >>> capability and can be very useful. >>> >>> It's not terribly difficult to implement, either. The following code >>> recursively traverses up the directory structure calling any .juliarc.jl >>> configuration files it encounters in reverse order: >>> >>> function loadrc(path::String) >>> if (path == ENV["HOME"] || path == "/") >>> return "" >>> end >>> >>> loadrc(dirname(path)) >>> juliarc = joinpath(path, ".juliarc.jl") >>> >>> if isfile(juliarc) >>> println("Loading config file:", juliarc) >>> include(juliarc) >>> end >>> end >>> >>> loadrc(pwd()) >>> >>> Perhaps this should be done by default? >>> >> >>
