Merge pull request #323 from JunoLab/avi/bang

use bangs for destructive functions
pull/325/head
Shuhei Kadowaki 2020-05-10 14:28:40 +09:00 committed by GitHub
commit 2e19930565
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 10 additions and 19 deletions

View File

@ -309,9 +309,9 @@ export weave,
tangle, tangle,
convert_doc, convert_doc,
notebook, notebook,
set_chunk_defaults, set_chunk_defaults!,
get_chunk_defaults, get_chunk_defaults,
restore_chunk_defaults, restore_chunk_defaults!,
include_weave include_weave
end end

View File

@ -37,39 +37,31 @@ const defaultParams = Dict{Symbol,Any}(
const rcParams = deepcopy(defaultParams) const rcParams = deepcopy(defaultParams)
""" """
set_chunk_defaults(opts::Dict{Symbol, Any}) set_chunk_defaults!(opts::Dict{Symbol, Any})
Set default options for code chunks, use [`get_chunk_defaults`](@ref) to see the current values. Set default options for code chunks, use [`get_chunk_defaults`](@ref) to see the current values.
E.g.: set default `dpi` to `200` and `fig_width` to `8` E.g.: set default `dpi` to `200` and `fig_width` to `8`
```julia ```julia
julia> set_chunk_defaults(Dict{Symbol, Any}(:dpi => 200, fig_width => 8)) julia> set_chunk_defaults!(Dict(:dpi => 200, :fig_width => 8))
``` ```
""" """
function set_chunk_defaults(opts::Dict{Symbol,Any}) set_chunk_defaults!(opts::Dict{Symbol,Any}) = merge!(rcParams[:chunk_defaults], opts)
merge!(rcParams[:chunk_defaults], opts)
return nothing
end
""" """
get_chunk_defaults() get_chunk_defaults()
Get default options used for code chunks. Get default options used for code chunks.
""" """
function get_chunk_defaults() get_chunk_defaults() = rcParams[:chunk_defaults]
return (rcParams[:chunk_defaults])
end
""" """
restore_chunk_defaults() restore_chunk_defaults!()
Restore Weave.jl default chunk options. Restore Weave.jl default chunk options.
""" """
function restore_chunk_defaults() restore_chunk_defaults!() = rcParams[:chunk_defaults] = defaultParams[:chunk_defaults]
rcParams[:chunk_defaults] = defaultParams[:chunk_defaults]
return nothing
end
"""Combine format specific and common options from document header""" """Combine format specific and common options from document header"""
function combine_args(args, doctype) function combine_args(args, doctype)

View File

@ -14,7 +14,7 @@ function WeaveDoc(source, chunks::Vector{WeaveChunk})
header = parse_header(first(chunks)) header = parse_header(first(chunks))
# get chunk defaults from header and update # get chunk defaults from header and update
chunk_defaults = deepcopy(rcParams[:chunk_defaults]) chunk_defaults = deepcopy(get_chunk_defaults())
if haskey(header, WEAVE_OPTION_NAME) if haskey(header, WEAVE_OPTION_NAME)
for key in keys(chunk_defaults) for key in keys(chunk_defaults)
if (val = get(header[WEAVE_OPTION_NAME], string(key), nothing)) !== nothing if (val = get(header[WEAVE_OPTION_NAME], string(key), nothing)) !== nothing

View File

@ -3,7 +3,7 @@ using Test
# Make a dummy codehunk with figure # Make a dummy codehunk with figure
chunk = Weave.CodeChunk("plot(x)", 1, 1, "", Dict()) chunk = Weave.CodeChunk("plot(x)", 1, 1, "", Dict())
options = merge(Weave.rcParams[:chunk_defaults], chunk.options) options = merge(Weave.get_chunk_defaults(), chunk.options)
merge!(chunk.options, options) merge!(chunk.options, options)
chunk.figures = ["figs/figures_plot1.png"] chunk.figures = ["figs/figures_plot1.png"]
@ -47,4 +47,3 @@ chunk.options[:out_height] = "75 %"
chunk.options[:out_width] = "A%" chunk.options[:out_width] = "A%"
chunk.options[:out_height] = "0.5\\textwidth" chunk.options[:out_height] = "0.5\\textwidth"
@test Weave.formatfigures(chunk, Weave.tex) == "\\begin{center}\n\\includegraphics[width=A%,height=0.5\\textwidth]{figs/figures_plot1.png}\n\\end{center}\n" @test Weave.formatfigures(chunk, Weave.tex) == "\\begin{center}\n\\includegraphics[width=A%,height=0.5\\textwidth]{figs/figures_plot1.png}\n\\end{center}\n"